Показано с 1 по 2 из 2
Тема: Работа с документами
-
04.04.2015, 17:56 #1
- Регистрация
- 04.04.2015
- Сообщений
- 1
- Сказал(а) спасибо
- 0
- Поблагодарили 0 раз(а) в 0 сообщениях
Работа с документами
Добрый день.
Есть два документа: ЗаказыПокупателя и РеализацияТоваровИУслуг. Документ РеализацияТоваровИУслуг создаётся на основании документа ЗаказыПокупателя.
задача состоит в следующем: доработать код, созданный с помощью конструктора, таким образом, чтобы при создании документа реализации товаров на основании заказа, в документ попадали не все товары и услуги из заказа, а только те, которые ещё не отгружены по данному заказу.
Задачу нужно решить без использования регистров накопления и регистров сведений и желательно без запроса.
Код:Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка) // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ЗаказПокупателя") Тогда // Заполнение шапки КонтактноеЛицо = ДанныеЗаполнения.КонтактноеЛицо; Контрагенты = ДанныеЗаполнения.Контрагенты; ОбщаяСумма = ДанныеЗаполнения.ОбщаяСумма; ИдентификаторЗаказа = ДанныеЗаполнения.Ссылка; Для Каждого ТекСтрокаТовары Из ДанныеЗаполнения.Товары Цикл НоваяСтрока = Товары.Добавить(); НоваяСтрока.ЕдиницаИзмерения = ТекСтрокаТовары.ЕдиницаИзмерения; НоваяСтрока.Номенклатура = ТекСтрокаТовары.Номенклатура; НоваяСтрока.Цена = ТекСтрокаТовары.Цена; КонецЦикла; Для Каждого ТекСтрокаУслуги Из ДанныеЗаполнения.Услуги Цикл НоваяСтрока = Услуги.Добавить(); НоваяСтрока.Номенклатура = ТекСтрокаУслуги.Номенклатура; НоваяСтрока.Сумма = ТекСтрокаУслуги.Сумма; КонецЦикла; КонецЕсли; КонецПроцедуры
-
05.04.2015, 10:39 #2
- Регистрация
- 29.11.2013
- Адрес
- Берег Волги
- Сообщений
- 2028
- Сказал(а) спасибо
- 653
- Поблагодарили 10251 раз(а) в 2702 сообщениях
задача состоит в следующем: доработать код, созданный с помощью конструктора, таким образом, чтобы при создании документа реализации товаров на основании заказа, в документ попадали не все товары и услуги из заказа, а только те, которые ещё не отгружены по данному заказу.
По каждой строке таблицы значений запускаете цикл по документам реализации с поиском уже отгруженных товаров и наращиваем показатель Отгружено.
Заполняем табличную часть только теми товарами, которые еще не отгружены (Количество больше Отгружено).
Как-то так.
Следует иметь ввиду, что цикл проверки отгрузки может получиться длительным. Поэтому при большом количестве заказов и отгрузок имеет смысл все же создать Регистр накопления Заказы и получать нужное количество из него.
Социальные закладки