Назначение: создание документа на основании другого документа.
Номенклатура объектов: документ «Корректировка долга» вводится на основании «Возврат товаров от покупателя».
Разработка на форме:
1.
2.Если использовать Конструктор ввода на основании, то процедура «обработка заполнения» будет замещена. Чтобы этого не произошло, изменения в процедуру «обработка заполнения» нужно добавить вручную.
3.
Пояснения:
Если требуется программно поймать момент, когда создается новый документ на основании (например, чтобы в этот момент вывести какое-нибудь сообщение), то этот момент отслеживается в процедуре «обработка заполнения» создаваемого на основании документа.
Номенклатура объектов: документ «Корректировка долга» вводится на основании «Возврат товаров от покупателя».
Разработка на форме:
1.
2.Если использовать Конструктор ввода на основании, то процедура «обработка заполнения» будет замещена. Чтобы этого не произошло, изменения в процедуру «обработка заполнения» нужно добавить вручную.
3.
Процедура ОбработкаЗаполнения(Основание) Если ТипЗнч(Основание) = Тип("ДокументСсылка.ВозвратТоваровОтПокупателя") Тогда Организация = Основание.Организация; КонтрагентДебитор = Основание.Контрагент; КонтрагентКредитор = Основание.Контрагент; ОснованиеОбъект = Основание.ПолучитьОбъект(); ТЗ = ОснованиеОбъект.Товары; ТЗ.Свернуть("ДокументПартии,ИРВ_Проект","Сумма"); Для Каждого Стр из ТЗ Цикл нСтр = СуммыДолга.Добавить(); нСтр.ВидЗадолженности = Перечисления.ВидыЗадолженности.Дебиторская; нСтр.ДоговорКонтрагента = Основание.ДоговорКонтрагента; нСтр.Сделка = Основание.Сделка; нСтр.ДокументРасчетовСКонтрагентом = Стр.ДокументПартии; нСтр.Сумма = Стр.Сумма; нСтр.СуммаРегл = Стр.Сумма; нСтр.КурсВзаиморасчетов = 1; нСтр.ИРВ_Проект = Стр.ИРВ_Проект; ИРВ_ЗаполнитьСчетаУчетаВСтроке(нСтр, Истина);//Добавил чтобы Заполнялись счета Нстр2 = СуммыДолга.Добавить(); Нстр2.ВидЗадолженности = Перечисления.ВидыЗадолженности.Кредиторская; Нстр2.ДоговорКонтрагента = Основание.ДоговорКонтрагента; Нстр2.Сделка = Основание.Сделка; Нстр2.ДокументРасчетовСКонтрагентом = Основание; Нстр2.Сумма = Стр.Сумма; Нстр2.СуммаРегл = Стр.Сумма; Нстр2.КурсВзаиморасчетов = 1; Нстр2.ИРВ_Проект = Стр.ИРВ_Проект; ИРВ_ЗаполнитьСчетаУчетаВСтроке(Нстр2, Истина);//Добавил чтобы Заполнялись счета КонецЦикла; КонецЕсли; КонецПроцедуры
Если требуется программно поймать момент, когда создается новый документ на основании (например, чтобы в этот момент вывести какое-нибудь сообщение), то этот момент отслеживается в процедуре «обработка заполнения» создаваемого на основании документа.
Комментариев нет:
Отправить комментарий