|
Программный документ операция | ☑ | ||
---|---|---|---|---|
0
Shmidt
24.05.17
✎
09:23
|
Странная ситуация. Создаю программно документ операция. Вот так:
Если НЕ ПустаяСтрока(СтрПлатежа.ГУИД) Тогда GUID = Новый УникальныйИдентификатор(СтрПлатежа.ГУИД); рСсылкаНаДокумент = Документы.ОперацияБух.ПолучитьСсылку(GUID); Если рСсылкаНаДокумент.Пустая() Тогда Документ = Документы.ОперацияБух.СоздатьДокумент(); Иначе Документ = рСсылкаНаДокумент.ПолучитьОбъект(); Если Документ = Неопределено Тогда Документ = Документы.ОперацияБух.СоздатьДокумент(); Иначе Документ.Движения.Хозрасчетный.Очистить(); КонецЕсли; КонецЕсли; Иначе Документ = Документы.ОперацияБух.СоздатьДокумент(); КонецЕсли; Документ.Организация = СтрПлатежа.Организация; Документ.Дата = Дата; Документ.Комментарий = "Возврат"+" "+ВидОплаты.Наименование; Документ.Содержание = Документ.Комментарий; Документ.Движения.Хозрасчетный.Записывать = Истина; Документ.Записать(); ДокСсылка = Документ.Ссылка; ОбщаяСумма = 0; НаборЗаписей = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Регистратор.Установить(ДокСсылка); НаборЗаписей.Прочитать(); Для Каждого Строка из ТаблицаПлатежей Цикл Проводка = НаборЗаписей.Добавить(); Проводка.Регистратор = ДокСсылка; Проводка.Активность = Истина; Проводка.Период = Строка.Период; Проводка.Сумма = -Строка.Сумма; Проводка.Содержание = "Возврат"; Проводка.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("62.01"); //62.01 Проводка.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты] = Строка.Контрагент; Проводка.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры] = Строка.Договор; Проводка.СчетКт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("57.03"); Если Строка.СпособОплаты = Справочники.ВидыОплатОрганизаций.НайтиПоКоду("000000009") Тогда Проводка.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты] = Справочники.Контрагенты.НайтиПоКоду("0000000149"); Проводка.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры] = Справочники.ДоговорыКонтрагентов.НайтиПоКоду("000005868"); Иначе Проводка.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты] = Справочники.Контрагенты.НайтиПоКоду("0000000018"); Проводка.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры] = Справочники.ДоговорыКонтрагентов.НайтиПоКоду("000005293"); КонецЕсли; ОбщаяСумма = ОбщаяСумма + Проводка.Сумма; КонецЦикла; НаборЗаписей.Записать(); Документ.СуммаОперации = ОбщаяСумма; Документ.Записать(); Документ записывается и все вроде бы хорошо. И в Хозрасчетном его движения есть, но. Когда бухгалтер строит Анализ счета по 57, то сумма из этой операции не попадает в отчет. Появляется только после ручной перезаписи этой операции. Что я упускаю? И материалов перечитал, у всех такой алгоритм работает, и пробовал по всякому. |
|||
1
Дмитрий
24.05.17
✎
09:45
|
(0) какой-то реквизит не заполняешь, возможно - Организация,
а при интерактивной перезаписи он подставляется автоматом |
|||
2
1dvd
24.05.17
✎
09:48
|
Отладчиком смотри что у тебя в Проводка не заполнено
|
|||
3
Shmidt
24.05.17
✎
10:10
|
(1) Да спасибо так и оказалось )))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |