8.х Результат запроса не выводится в табличной части документа

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем ANTI_PLAN, 27 май 2011.

  1. TopicStarter Overlay
    ANTI_PLAN
    Offline

    ANTI_PLAN

    Регистрация:
    15 июн 2010
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Немогу получить правильный результат запроса в табличной части документа.
    Нужно чтобы в колнке ДатаПокупки отображалась дата документа Поступления товаров.
    Через отладчик ДатаПокупки(Тип Данных Дата, Состав даты Дата) принимает значение 01.01.0001 0:00:00

    [​IMG]

    Код:
    Процедура ТоварыПриПолученииДанных(Элемент, ОформленияСтрок)
    
    Запрос = Новый Запрос;
    
    Запрос.Текст = "ВЫБРАТЬ
    |	ПоступлениеТоваров.ДатаВходящегоДокумента
    |ИЗ
    |	Документ.ПоступлениеТоваров КАК ПоступлениеТоваров
    |ГДЕ
    |	ПоступлениеТоваров.Ссылка = &Номенклатура";
    Запрос.УстановитьПараметр("Номенклатура",Элемент.ТекущаяСтрока.Номенклатура);
    Результат = Запрос.Выполнить().Выбрать();
    Если Результат.Следующий() тогда
    Элемент.ТекущаяСтрока.ДатаПокупки=Результат.ДатаВходящегоДокумента;
    Иначе
    КонецЕсли;
    КонецПроцедуры
    
    
  2. vartanet
    Offline

    vartanet Опытный в 1С Команда форума

    Регистрация:
    16 ноя 2010
    Сообщения:
    2.698
    Симпатии:
    15
    Баллы:
    29
    вы в запросе ссылку на документ сравниваете со ссылкой на элемент справочника номенклатура.

    что-то типа:

    Код:
    Процедура ТоварыПриПолученииДанных(Элемент, ОформленияСтрок)
    
    Запрос = Новый Запрос;
    
    Запрос.Текст = "ВЫБРАТЬ
    |    ПоступлениеТоваров.ДатаВходящегоДокумента
    |ИЗ
    |    Документ.ПоступлениеТоваров КАК ПоступлениеТоваров
    |ГДЕ
    |    ПоступлениеТоваров.Ссылка = &Ссылка";
    Запрос.УстановитьПараметр("Ссылка",Ссылка);
    Результат = Запрос.Выполнить().Выбрать();
    Если Результат.Следующий() тогда
    Элемент.ТекущаяСтрока.ДатаПокупки=Результат.ДатаВходящегоДокумента;
    Иначе
    КонецЕсли;
    КонецПроцедуры
    
    
    
  3. TopicStarter Overlay
    ANTI_PLAN
    Offline

    ANTI_PLAN

    Регистрация:
    15 июн 2010
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    не работает(
  4. Dmitriy_76
    Offline

    Dmitriy_76 Опытный в 1С Команда форума

    Регистрация:
    26 мар 2011
    Сообщения:
    2.175
    Симпатии:
    13
    Баллы:
    29
    а таблинчая часть у тебя чего ? того же документа поступления ?

    что у тебя в переменной Ссылка ?
  5. vartanet
    Offline

    vartanet Опытный в 1С Команда форума

    Регистрация:
    16 ноя 2010
    Сообщения:
    2.698
    Симпатии:
    15
    Баллы:
    29
    ну да. непонятно чего надо. если просто дату из того же документа, то незачем запрос городить.. а если из какого-то другого документа, тогда надо правильно установить параметр запроса.

    задача вырвана из контекста.
  6. TopicStarter Overlay
    ANTI_PLAN
    Offline

    ANTI_PLAN

    Регистрация:
    15 июн 2010
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Дату документа из "Поступление товаров" в "Реализация товаров"
  7. sgirg
    Offline

    sgirg Опытный в 1С

    Регистрация:
    25 дек 2008
    Сообщения:
    126
    Симпатии:
    0
    Баллы:
    26
    Попробуем по другому)

    Эта процедура находится в модуле документа из которого выбираются данные или находится в Общих модулях?
  8. sgirg
    Offline

    sgirg Опытный в 1С

    Регистрация:
    25 дек 2008
    Сообщения:
    126
    Симпатии:
    0
    Баллы:
    26
    Я так понял, эта процедура находится в модуле формы документа ПоступлениеТоваров, значит нужно в процедуре нацарапать всего лишь одну строку:

    Элемент.ТекущаяСтрока.ДатаПокупки = ДатаВходящегоДокумента;

    и никаких запросов и тем более переборов использовать не надо
  9. TopicStarter Overlay
    ANTI_PLAN
    Offline

    ANTI_PLAN

    Регистрация:
    15 июн 2010
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    У важаемый SGIRG. Да процедура находится в модуле формы, но не в ПоступлениеТоваров, а в Реализации товаров.
    [​IMG]
  10. sgirg
    Offline

    sgirg Опытный в 1С

    Регистрация:
    25 дек 2008
    Сообщения:
    126
    Симпатии:
    0
    Баллы:
    26
    Т.е. при реализации смотрим когда было поступление и записываем? а как же быть в случае наличия нескольких документов поступления с одним и тем же объектом номенклатуры??
  11. sgirg
    Offline

    sgirg Опытный в 1С

    Регистрация:
    25 дек 2008
    Сообщения:
    126
    Симпатии:
    0
    Баллы:
    26
    и если уж берем данные запросом, то нужно использовать что то вроде этого:

    Код:
    "ВЫБРАТЬ
    ПоступлениеТоваровТовары.Ссылка.ДатаВходящегоДокумента
    ИЗ
    Документ.ПоступлениеТоваров.Товары КАК ПоступлениеТоваровТовары
    ГДЕ
    ПоступлениеТоваровТовары.Номенклатура = &Номенклатура";
    
    Если используется несколько документов, то уже сами придумывайте, по каким параметрам определять наиболее актуальный из них
  12. TopicStarter Overlay
    ANTI_PLAN
    Offline

    ANTI_PLAN

    Регистрация:
    15 июн 2010
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Спасибо SGIRG!
    Я - сделал подругому.
    Создал РегистрСведений "ДатаПрихода" с Измерением-Номенклатура и Ресурсом-Дата. Отметил его в движение документа Приходная накладная. А в запросе сделал так:

    Код:
    "ВЫБРАТЬ
    |	ДатаПриходаСрезПоследних.Дата
    |ИЗ
    |	РегистрСведений.ДатаПрихода.СрезПоследних КАК ДатаПриходаСрезПоследних
    |ГДЕ
    |	ДатаПриходаСрезПоследних.Номенклатура = &Номенклатура"
    
  13. sgirg
    Offline

    sgirg Опытный в 1С

    Регистрация:
    25 дек 2008
    Сообщения:
    126
    Симпатии:
    0
    Баллы:
    26
    хм... если по факту берете дату самого последнего прихода, то может можно обойтись и без регистра??

    Код:
    "ВЫБРАТЬ     
    МАКСИМУМ(ПоступлениеТоваровТовары.Ссылка.ДатаВходящегоДокумента) КАК ДатаВходящегоДокумента
    ИЗ
    Документ.ПоступлениеТоваров.Товары КАК ПоступлениеТоваровТовары
    ГДЕ
    ПоступлениеТоваровТовары.Номенклатура = &Номенклатура"
    
    
    ИМХО я считаю, что не за чем захламлять конфигурацию дополнительными объектами
  14. TopicStarter Overlay
    ANTI_PLAN
    Offline

    ANTI_PLAN

    Регистрация:
    15 июн 2010
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    вы правы, получилась полная фигня :angry: ...

Поделиться этой страницей