Работа с документами
X

Привет дорогой друг

Наш сайт существует и развиваетется за счет рекламы. Пожалуйста, отключите блокировку рекламы AdBlock или подобное, для нашего сайта. Спасибо!
Показано с 1 по 2 из 2
  1. #1
    Гость форума

    Регистрация
    04.04.2015
    Сообщений
    1
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию Работа с документами

    Добрый день.
    Есть два документа: ЗаказыПокупателя и РеализацияТоваровИУслуг. Документ РеализацияТоваровИУслуг создаётся на основании документа ЗаказыПокупателя.
    задача состоит в следующем: доработать код, созданный с помощью конструктора, таким образом, чтобы при создании документа реализации товаров на основании заказа, в документ попадали не все товары и услуги из заказа, а только те, которые ещё не отгружены по данному заказу.
    Задачу нужно решить без использования регистров накопления и регистров сведений и желательно без запроса.

    Код:
    Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
    
    	// Данный фрагмент построен конструктором.
    	// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
    	Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ЗаказПокупателя") Тогда
    		// Заполнение шапки
    		КонтактноеЛицо = ДанныеЗаполнения.КонтактноеЛицо;
    		Контрагенты = ДанныеЗаполнения.Контрагенты;
    		ОбщаяСумма = ДанныеЗаполнения.ОбщаяСумма;
    		ИдентификаторЗаказа = ДанныеЗаполнения.Ссылка;
    		Для Каждого ТекСтрокаТовары Из ДанныеЗаполнения.Товары Цикл
    			НоваяСтрока = Товары.Добавить();
    			НоваяСтрока.ЕдиницаИзмерения = ТекСтрокаТовары.ЕдиницаИзмерения;
    			НоваяСтрока.Номенклатура = ТекСтрокаТовары.Номенклатура;
    			НоваяСтрока.Цена = ТекСтрокаТовары.Цена;
    		КонецЦикла;
    		Для Каждого ТекСтрокаУслуги Из ДанныеЗаполнения.Услуги Цикл
    			НоваяСтрока = Услуги.Добавить();
    			НоваяСтрока.Номенклатура = ТекСтрокаУслуги.Номенклатура;
    			НоваяСтрока.Сумма = ТекСтрокаУслуги.Сумма;
    		КонецЦикла;
    	КонецЕсли;
    
    КонецПроцедуры

  2. #2
    Гордость форума PRO +

    Регистрация
    29.11.2013
    Адрес
    Берег Волги
    Сообщений
    2028
    Сказал(а) спасибо
    653
    Поблагодарили 10251 раз(а) в 2702 сообщениях

    По умолчанию

    задача состоит в следующем: доработать код, созданный с помощью конструктора, таким образом, чтобы при создании документа реализации товаров на основании заказа, в документ попадали не все товары и услуги из заказа, а только те, которые ещё не отгружены по данному заказу.
    Перед заполнением табличной части документа РеализацияТоваровИУслуг создаете Таблицу значений, выгрузив табличную часть Заказа, добавляете в нее колонку Отгружено.
    По каждой строке таблицы значений запускаете цикл по документам реализации с поиском уже отгруженных товаров и наращиваем показатель Отгружено.
    Заполняем табличную часть только теми товарами, которые еще не отгружены (Количество больше Отгружено).
    Как-то так.
    Следует иметь ввиду, что цикл проверки отгрузки может получиться длительным. Поэтому при большом количестве заказов и отгрузок имеет смысл все же создать Регистр накопления Заказы и получать нужное количество из него.

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •