Как обратиться к ТЧ, которая создается программно, при программном создании документа?
Здравствуйте. Подскажите пожалуйста. В БГУ 2 имеется документ счет-фактура полученный, в этом документе есть вкладка "Бухгалтерская операция"! Как мне обратиться к ней (она создается программно), если я сам программно создаю этот счет-фактуру? Мне нужно заполнить типовую операцию и указать доп реквизит КПС!
По теме из базы знаний
- Пример создания кадрового отчета для ЗУП 3.1
- Не клади яйца в одну корзину. Как удовлетворить всех клиентов и не превратить конфигурацию в помойку
- WEB-интерфейсы как механизм сбора и контроля данных в розничной сети. Инструменты и наработки
- Как делать интеграции правильно и быстро
- Результаты ревью кода 1500+ решений каталога Инфостарт: наиболее частые ошибки разработчиков в коде
Найденные решения
Вот мой пример
// кор. счет
Если ЗначениеЗаполнено(КорСчет) И
(ТипЗнч(ДокументОбъект) = Тип("ДокументОбъект.КассовоеВыбытие") ИЛИ ТипЗнч(ДокументОбъект) = Тип("ДокументОбъект.КассовоеПоступление")) Тогда
ДокументОбъект.КорСчет = КорСчет;
КонецЕсли;
// налог
Если ЗначениеЗаполнено(НалогСборПлатеж) И
(ТипЗнч(ДокументОбъект) = Тип("ДокументОбъект.КассовоеВыбытие") ИЛИ ТипЗнч(ДокументОбъект) = Тип("ДокументОбъект.КассовоеПоступление")) Тогда
ДокументОбъект.НалогСборПлатеж = НалогСборПлатеж;
КонецЕсли;
// ИФО
Если ПолучитьФункциональнуюОпцию("ИспользоватьУчетПоИФО") Тогда
Если ЗначениеЗаполнено(ИФО) Тогда
ДокументОбъект.ИФО = ИФО;
КонецЕсли;
КонецЕсли;
// СчетУчетаДенежныхСредств
ДополнительныеРеквизиты = ДокументОбъект.ДополнительныеСвойства;
ДополнительныеРеквизиты = Новый Структура;
Если ЗначениеЗаполнено(СчетУчетаДенежныхСредств) Тогда
Если ТипЗнч(ДокументОбъект) = Тип("ДокументОбъект.КассовоеВыбытие") Тогда
ДополнительныеРеквизиты.Вставить("СчетКт",СчетУчетаДенежныхСредств);
ИначеЕсли ТипЗнч(ДокументОбъект) = Тип("ДокументОбъект.КассовоеПоступление") Тогда
ДополнительныеРеквизиты.Вставить("СчетДт",СчетУчетаДенежныхСредств);
ДополнительныеРеквизиты.Вставить("СчетПоступления",СчетУчетаДенежныхСредств);
ДополнительныеРеквизиты.Вставить("СчетДтПоНалогам",СчетУчетаДенежныхСредств);
КонецЕсли;
КонецЕсли;
// ДО
Если ТипЗнч(ДокументОбъект) = Тип("ДокументОбъект.РегистрацияОбязательствИСведенийПоДоговорам") Тогда
ДополнительныеРеквизиты.Вставить("ПринятьДенежныеОбязательстваДляБезусловных", Истина);
ДополнительныеРеквизиты.Вставить("ПринятьДенежныеОбязательстваДляБезусловныхПлановых", Истина);
ДополнительныеРеквизиты.Вставить("БюджетныеДанныеБезДетализацииПоКосгу", Ложь);
КонецЕсли;
БухгалтерскиеОперацииСервер.ДобавитьДанныеДляПроведения(ДокументОбъект, ТиповаяОперация, ДополнительныеРеквизиты, Ложь);
Попытка
Результат = ДатыЗапретаИзмененияСлужебный.ПроверитьДатыЗапретаИзмененияЗагрузкиДанных(
ДокументОбъект, Ложь, Истина, Ложь);
Если Результат.ИзменениеЗапрещено Тогда
ТекстПротокола = ТекстПротокола + "<p>" + "Документ не записан, так как установлена дата запрета редактирования данных</p>";
Если ЗначениеЗаполнено(ДокументОбъект.Ссылка) Тогда
Возврат ДокументОбъект.Ссылка;
Иначе
Возврат Неопределено;
КонецЕсли;
КонецЕсли;
Исключение
КонецПопытки;
Попытка
ДокументОбъект.ОбменДанными.Загрузка = Ложь;
ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение);
Исключение
ДокументОбъект.ОбменДанными.Загрузка = Истина;
ДокументОбъект.Записать();
ДанныеЗаписи = Новый Структура;
ДанныеЗаписи.Вставить("Документ", ДокументОбъект.Ссылка);
ДанныеЗаписи.Вставить("Операция", ТиповаяОперация);
БухгалтерскиеОперацииСервер.ЗаписатьДанныеТиповойОперацииОбъекта(ДокументОбъект, ТиповаяОперация, ДополнительныеРеквизиты);
КонецПопытки;
Возврат ДокументОбъект.Ссылка;
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Вот мой пример
// кор. счет
Если ЗначениеЗаполнено(КорСчет) И
(ТипЗнч(ДокументОбъект) = Тип("ДокументОбъект.КассовоеВыбытие") ИЛИ ТипЗнч(ДокументОбъект) = Тип("ДокументОбъект.КассовоеПоступление")) Тогда
ДокументОбъект.КорСчет = КорСчет;
КонецЕсли;
// налог
Если ЗначениеЗаполнено(НалогСборПлатеж) И
(ТипЗнч(ДокументОбъект) = Тип("ДокументОбъект.КассовоеВыбытие") ИЛИ ТипЗнч(ДокументОбъект) = Тип("ДокументОбъект.КассовоеПоступление")) Тогда
ДокументОбъект.НалогСборПлатеж = НалогСборПлатеж;
КонецЕсли;
// ИФО
Если ПолучитьФункциональнуюОпцию("ИспользоватьУчетПоИФО") Тогда
Если ЗначениеЗаполнено(ИФО) Тогда
ДокументОбъект.ИФО = ИФО;
КонецЕсли;
КонецЕсли;
// СчетУчетаДенежныхСредств
ДополнительныеРеквизиты = ДокументОбъект.ДополнительныеСвойства;
ДополнительныеРеквизиты = Новый Структура;
Если ЗначениеЗаполнено(СчетУчетаДенежныхСредств) Тогда
Если ТипЗнч(ДокументОбъект) = Тип("ДокументОбъект.КассовоеВыбытие") Тогда
ДополнительныеРеквизиты.Вставить("СчетКт",СчетУчетаДенежныхСредств);
ИначеЕсли ТипЗнч(ДокументОбъект) = Тип("ДокументОбъект.КассовоеПоступление") Тогда
ДополнительныеРеквизиты.Вставить("СчетДт",СчетУчетаДенежныхСредств);
ДополнительныеРеквизиты.Вставить("СчетПоступления",СчетУчетаДенежныхСредств);
ДополнительныеРеквизиты.Вставить("СчетДтПоНалогам",СчетУчетаДенежныхСредств);
КонецЕсли;
КонецЕсли;
// ДО
Если ТипЗнч(ДокументОбъект) = Тип("ДокументОбъект.РегистрацияОбязательствИСведенийПоДоговорам") Тогда
ДополнительныеРеквизиты.Вставить("ПринятьДенежныеОбязательстваДляБезусловных", Истина);
ДополнительныеРеквизиты.Вставить("ПринятьДенежныеОбязательстваДляБезусловныхПлановых", Истина);
ДополнительныеРеквизиты.Вставить("БюджетныеДанныеБезДетализацииПоКосгу", Ложь);
КонецЕсли;
БухгалтерскиеОперацииСервер.ДобавитьДанныеДляПроведения(ДокументОбъект, ТиповаяОперация, ДополнительныеРеквизиты, Ложь);
Попытка
Результат = ДатыЗапретаИзмененияСлужебный.ПроверитьДатыЗапретаИзмененияЗагрузкиДанных(
ДокументОбъект, Ложь, Истина, Ложь);
Если Результат.ИзменениеЗапрещено Тогда
ТекстПротокола = ТекстПротокола + "<p>" + "Документ не записан, так как установлена дата запрета редактирования данных</p>";
Если ЗначениеЗаполнено(ДокументОбъект.Ссылка) Тогда
Возврат ДокументОбъект.Ссылка;
Иначе
Возврат Неопределено;
КонецЕсли;
КонецЕсли;
Исключение
КонецПопытки;
Попытка
ДокументОбъект.ОбменДанными.Загрузка = Ложь;
ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение);
Исключение
ДокументОбъект.ОбменДанными.Загрузка = Истина;
ДокументОбъект.Записать();
ДанныеЗаписи = Новый Структура;
ДанныеЗаписи.Вставить("Документ", ДокументОбъект.Ссылка);
ДанныеЗаписи.Вставить("Операция", ТиповаяОперация);
БухгалтерскиеОперацииСервер.ЗаписатьДанныеТиповойОперацииОбъекта(ДокументОбъект, ТиповаяОперация, ДополнительныеРеквизиты);
КонецПопытки;
Возврат ДокументОбъект.Ссылка;
Показать
{ОбщийМодуль.БухгалтерскиеОперацииСервер.Модуль(2117)}: При проведении документа Отражение отложенного НДС БП-000001 от 22.07.2022 18:20:22 возникла ошибка:
Поле объекта не обнаружено (Контрагент)
Подробная информация записана в журнал регистрации.
ВызватьИсключение ТекстОшибки
Поле объекта не обнаружено (Контрагент)
Подробная информация записана в журнал регистрации.
ВызватьИсключение ТекстОшибки
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот