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

  • 8.2

    1. Создать подписку

    1. Подключить обработчик

Процедура ТИТАН_СчетаУчетаПриЗаписи(Источник, Отказ) Экспорт Если Отказ Тогда Возврат; КонецЕсли; Если ТипЗНЧ(Источник) = Тип("СправочникОбъект.ДоговорыКонтрагентов") Тогда Если Источник.Ссылка <> Справочники.ДоговорыКонтрагентов.ПустаяСсылка() Тогда Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | СчетаУчетаРасчетовСКонтрагентами.Организация, | СчетаУчетаРасчетовСКонтрагентами.Контрагент, | СчетаУчетаРасчетовСКонтрагентами.Договор, | СчетаУчетаРасчетовСКонтрагентами.ВидРасчетовПоДоговору, | СчетаУчетаРасчетовСКонтрагентами.СчетУчетаРасчетовСПоставщиком, | СчетаУчетаРасчетовСКонтрагентами.СчетУчетаАвансовВыданных, | СчетаУчетаРасчетовСКонтрагентами.СчетУчетаРасчетовСПокупателем, | СчетаУчетаРасчетовСКонтрагентами.СчетУчетаАвансовПолученных, | СчетаУчетаРасчетовСКонтрагентами.СчетУчетаРасчетовСКомитентом, | СчетаУчетаРасчетовСКонтрагентами.СчетУчетаРасчетовПоТареСПоставщиком, | СчетаУчетаРасчетовСКонтрагентами.СчетУчетаРасчетовПоТареСПокупателем, | СчетаУчетаРасчетовСКонтрагентами.СчетУчетаДоходовПоТаре, | СчетаУчетаРасчетовСКонтрагентами.СчетУчетаРасходовПоТаре, | СчетаУчетаРасчетовСКонтрагентами.СчетРасчетовПоПретензиям |ИЗ | РегистрСведений.СчетаУчетаРасчетовСКонтрагентами КАК СчетаУчетаРасчетовСКонтрагентами |ГДЕ | СчетаУчетаРасчетовСКонтрагентами.Организация = &Организация | И СчетаУчетаРасчетовСКонтрагентами.Контрагент = &Контрагент | И СчетаУчетаРасчетовСКонтрагентами.Договор = &Договор"; Запрос.УстановитьПараметр("Договор", Источник.Ссылка); Запрос.УстановитьПараметр("Контрагент", Источник.Владелец); Запрос.УстановитьПараметр("Организация", Источник.Организация); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); //Пока ВыборкаДетальныеЗаписи.Следующий() Цикл // // Вставить обработку выборки ВыборкаДетальныеЗаписи //КонецЦикла; Если ВыборкаДетальныеЗаписи.Количество() = 0 Тогда Попытка НаборЗаписей = РегистрыСведений.СчетаУчетаРасчетовСКонтрагентами.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Организация.Установить(Источник.Организация); НаборЗаписей.Отбор.Контрагент.Установить(Источник.Владелец); НаборЗаписей.Отбор.Договор.Установить(Источник.Ссылка); НоваяЗапись = НаборЗаписей.Добавить(); НоваяЗапись.Организация = Источник.Организация; НоваяЗапись.Контрагент = Источник.Владелец; НоваяЗапись.Договор = Источник.Ссылка; НоваяЗапись.ВидРасчетовПоДоговору = Перечисления.ВидыРасчетовПоДоговорам.РасчетыВВалютеРегламентированногоУчета; НоваяЗапись.СчетУчетаРасчетовСПоставщиком = ПланыСчетов.Хозрасчетный.РасчетыСПоставщиками; // 60.01 НоваяЗапись.СчетУчетаАвансовВыданных = ПланыСчетов.Хозрасчетный.РасчетыПоАвансамВыданным; // 60.02 НоваяЗапись.СчетУчетаРасчетовСПокупателем = ПланыСчетов.Хозрасчетный.РасчетыСПокупателями; // 62.01 НоваяЗапись.СчетУчетаАвансовПолученных = ПланыСчетов.Хозрасчетный.РасчетыПоАвансамПолученным; // 62.02 НоваяЗапись.СчетУчетаРасчетовСКомитентом = ПланыСчетов.Хозрасчетный.ПрочиеРасчетыСРазнымиДебиторамиИКредиторами; // 76.09 НоваяЗапись.СчетУчетаРасчетовПоТареСПоставщиком = ПланыСчетов.Хозрасчетный.РасчетыСПрочимиПоставщикамиИПодрядчиками; // 76.05 НоваяЗапись.СчетУчетаРасчетовПоТареСПокупателем = ПланыСчетов.Хозрасчетный.РасчетыСПрочимиПокупателямиИЗаказчиками; // 76.06 УчПол = ПолучитьУчетнуюПолитику(Источник.Дата, Источник.Организация); Если ТипЗнч(УчПол) = Тип("Структура") Тогда Если УчПол.ОрганизацияЯвляетсяПлательщикомЕНВД Тогда НоваяЗапись.СчетУчетаДоходовПоТаре = ПланыСчетов.Хозрасчетный.ВыручкаЕНВД; // 90.01.2 НоваяЗапись.СчетУчетаРасходовПоТаре = ПланыСчетов.Хозрасчетный.СебестоимостьПродажЕНВД; // 90.02.2 Иначе НоваяЗапись.СчетУчетаДоходовПоТаре = ПланыСчетов.Хозрасчетный.ВыручкаНеЕНВД; // 90.01.1 НоваяЗапись.СчетУчетаРасходовПоТаре = ПланыСчетов.Хозрасчетный.СебестоимостьПродажНеЕНВД; // 90.02.1 КонецЕсли; Иначе НоваяЗапись.СчетУчетаДоходовПоТаре = ПланыСчетов.Хозрасчетный.ВыручкаНеЕНВД; // 90.01.1 НоваяЗапись.СчетУчетаРасходовПоТаре = ПланыСчетов.Хозрасчетный.СебестоимостьПродажНеЕНВД; // 90.02.1 КонецЕсли; НоваяЗапись.СчетРасчетовПоПретензиям = ПланыСчетов.Хозрасчетный.РасчетыПоПретензиям; // 76.02 НаборЗаписей.Записать(); Исключение Сообщить("Не удалось создать запись в регистре сведений ""Счета учета расчетов с контрагентами""", СтатусСообщения.Важное); КонецПопытки; КонецЕсли; КонецЕсли; КонецЕсли; КонецПроцедуры

  • 8.3