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

Автозаполнение документа из регистра остатков

Автор Евгений Штукерт, 14 мар 2017, 11:35

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

Евгений Штукерт

Добрый день. Помогите пожалуйста. Есть документ с одним реквизитом (Наименование района) и Табличной частью. По этому документу идет движение в регистр накоплений. Нужно сделать так, что бы при изменении реквизита документа, табличная часть автоматически заполнялась из регистра остатками. Сделал часть кода в форме документа при изменении данного реквизита.

&НаКлиенте
Процедура НаименованиеРайонаПриИзменении(Элемент)
   НаименованиеРайонаПриИзмененииНаСервере();
   
   КонецПроцедуры


&НаСервере
Процедура НаименованиеРайонаПриИзмененииНаСервере()
   //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
   // Данный фрагмент построен конструктором.
   // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

   Запрос = Новый Запрос;
   Запрос.Текст =
      "ВЫБРАТЬ
      |   БиопрепаратыКОстатки.Район,
      |   БиопрепаратыКОстатки.Код,
      |   БиопрепаратыКОстатки.НаименованиеБиопрепарата,
      |   БиопрепаратыКОстатки.СрокГодности,
      |   БиопрепаратыКОстатки.Производитель,
      |   БиопрепаратыКОстатки.ЕдИзм,
      |   БиопрепаратыКОстатки.ОстатокОстаток
      |ИЗ
      |   РегистрНакопления.БиопрепаратыК.Остатки  КАК БиопрепаратыКОстатки";

   РезультатЗапроса = Запрос.Выполнить().Выгрузить();
      
   Для Каждого Стр из РезультатЗапроса Цикл
      
       НоваяСтрока = Объект.Биопрепараты.Добавить();
       НоваяСтрока.НаименованиеБиопрепарата=Стр.НаименованиеБиопрепарата;
       НоваяСтрока.ЕдиницыИзмерения=Стр.ЕдИзм;
       НоваяСтрока.СрокГодности=Стр.СрокГодности;
       НоваяСтрока.ОстатокНаНачалоКол=Стр.ОстатокОстаток;
       НоваяСтрока.Изготовитель=Стр.Производитель;
       КонецЦикла;
      
   КонецПроцедуры

Выдает в результате в документе все остатки, а как сделать, что бы по реквизиту (наименование района) ума никак не могу дать.

alex0402

Цитата: Евгений Штукерт от 14 мар 2017, 11:35Выдает в результате в документе все остатки, а как сделать, что бы по реквизиту (наименование района) ума никак не могу дать.

а где это реквизит в регистре?
Спасибо за Сказать спасибо

Евгений Штукерт

В измерениях
БиопрепаратыКОстатки.Район,

bestname

ГДЕ БиопрепаратыКОстатки.Район = &Район ?

alex0402

Цитата: Евгений Штукерт от 14 мар 2017, 11:35|   РегистрНакопления.БиопрепаратыК.Остатки  КАК БиопрепаратыКОстатки";

в запросе:
РегистрНакопления.БиопрепаратыК.Остатки  КАК БиопрепаратыКОстатки(,Район = &Район)
ну и далее в коде:
Запрос.УстановитьПараметр("Район",<нужный район>);
к стати условие в запросе можно задать через конструктор.
Спасибо за Сказать спасибо

Евгений Штукерт


bestname


Norfolk

Цитата: bestname от 14 мар 2017, 12:25
Цитата: Евгений Штукерт от 14 мар 2017, 11:55
куда это вставить?

:ooifh:
Сразу плохие мысли в голову пришли, чтобы сострить...
вставляйте приведенный код в свой запрос. а точнее в параметры виртуальной таблицы остатков в условие напишите Район = &Район

Kironten


Евгений Штукерт

Выдает ошибку
{Документ.РайонК.Форма.ФормаДокумента.Форма(100,36)}: Переменная не определена (Район)
   Запрос.УстановитьПараметр("Район",<<?>>Район); (Проверка: Сервер)

Теги:

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

Рейтинг@Mail.ru

Поиск