Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 09:33

Как прочитать значение Номенклатура из реквизита внешней обработки и передать в запрос как параметр

Автор Сима, 25 июл 2015, 17:29

0 Пользователей и 1 гость просматривают эту тему.

Сима

Помогите новичку освоить синтаксис языка 1С (1С:Предприятие 8.2, учебная версия (8.2.17.169)Конфигурация "Управление торговлей", редакция 10.3 (10.3.33.1), толстый клиент(обычное приложение)).
Как прочитать значение Номенклатура из реквизита внешней обработки и передать в запрос как параметр? По шагам было так: создала внешнюю обработку, форму , модуль формы.
Ожидаемый результат: пользователь выбирает документ (реквизит формы Документ типа ссылка ДокументСсылка.РеализацияТоваровУслуг) и в ТЧ этой же формы выводится список документов РеализацияТоваровУслуг с аналогичной номенклатурой.

Пока только начало:
Процедура   ЗаполнениеТЧ()

// Как прочитать из реквизита формы Документ значение Номенклатура и поместить в переменную?
// Пробую так, но Номенклатуру не вижу:
         Номенклатура = Документ.Товары;  // это реквизит формы Документ                 
                                               // типа ссылка ДокументСсылка.РеализацияТоваровУслуг
    НачДата = НачалоПериода; // это реквизит формы НачалоПериода
    КонДата = КонецПериода;  // это реквизит формы КонецПериода
   
   Запрос = Новый Запрос;
   Запрос.Текст =
      "ВЫБРАТЬ
         |   РеализацияТоваровУслугТовары.Номенклатура,
      |   РеализацияТоваровУслугТовары.Количество,
      |   РеализацияТоваровУслугТовары.ЕдиницаИзмерения,
      |   РеализацияТоваровУслугТовары.Сумма,
      |   РеализацияТоваровУслугТовары.СуммаНДС,
      |   РеализацияТоваровУслугТовары.Цена
      |ИЗ
      |   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
      |ГДЕ
      | РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &НачДата И &КонДата" ;

// В этот запрос надо добавить условие: 
// выбрать документы с номенклатурой как у выбранного документа (реквизит формы).
// Как прочитать из реквизита формы Документ значение Номенклатура и
// передать в запрос параметром &Номенклатура?
// Так не работает:
//|И  РеализацияТоваровУслугТовары.Номенклатура В ИЕРАРХИИ(&Номенклатура)" ;
//
      
   Запрос.УстановитьПараметр("НачДата", НачДата);
   Запрос.УстановитьПараметр("КонДата", КонДата);
   //Запрос.УстановитьПараметр("Номенклатура", Номенклатура);

   Результат = Запрос.Выполнить();
   ВыборкаДетальныеЗаписи = Результат.Выбрать();
   
   ТабличнаяЧасть1.Очистить();
   
   Пока ВыборкаДетальныеЗаписи.Следующий() Цикл

         СтрокаТабличнойЧасти = ТабличнаяЧасть1.Добавить();
         СтрокаТабличнойЧасти.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура;
          СтрокаТабличнойЧасти.Количество = ВыборкаДетальныеЗаписи.Количество;
          СтрокаТабличнойЧасти.ЕдиницаИзмерения = ВыборкаДетальныеЗаписи.ЕдиницаИзмерения;
          СтрокаТабличнойЧасти.Сумма = ВыборкаДетальныеЗаписи.Сумма;
          СтрокаТабличнойЧасти.СуммаНДС = ВыборкаДетальныеЗаписи.СуммаНДС;
          СтрокаТабличнойЧасти.Цена = ВыборкаДетальныеЗаписи.Цена;
         
      КонецЦикла;                                                     
   
КонецПроцедуры

Просьба, не судить строго и отвечать по-существу. Перепробовала массу примеров, ни один не заработал. Хочу понять принцип, по которому обращаться к элементам формы и к таблицам.

vitasw

Допустим в эталонной реализации 10 строк с разной номенклатурой. Искать прочие реализации по полному совпадению списка номенклатуры? или только "один из...".
В чем вообще тайный смысл этого задания? выгрузка результата запроса в таб часть обработки = получите нечитаемый набор данных. Разобраться будет очень тяжело.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск