База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как программно создать и записать операцию в 1С? › RE: Как программно создать и записать операцию в 1С?
19 сентября 2025 в 9:15
#33457
Для программного создания документа «Операция» в 1С (например, «ОперацияБух») используется следующий алгоритм:
1C
// Создаем новый документ
ДокОперация = Документы.ОперацияБух.СоздатьДокумент();
// Заполняем основные реквизиты
ДокОперация.Дата = ТекущаяДата(); // или нужная дата
ДокОперация.Организация = Справочники.Организации.НайтиПоНаименованию("Название организации");
ДокОперация.Ответственный = Справочники.Пользователи.ТекущийПользователь();
ДокОперация.Содержание = "Описание операции";
ДокОперация.Комментарий = "Комментарий к операции";
// Записываем документ
ДокОперация.Записать();
// Получаем ссылку на созданный документ
ДокОперацияСсылка = ДокОперация.Ссылка;
// Создаем набор записей регистра бухгалтерии (пример для регистра "Хозрасчетный")
РегХозрасчетный = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
РегХозрасчетный.Отбор.Регистратор.Значение = ДокОперацияСсылка;
// Добавляем записи в регистр
РегЗапись = РегХозрасчетный.Добавить();
РегЗапись.Период = ДокОперация.Дата;
РегЗапись.Регистратор = ДокОперацияСсылка;
РегЗапись.Организация = ДокОперация.Организация;
РегЗапись.Содержание = ДокОперация.Содержание;
РегЗапись.СчетДт = "10.01"; // пример счета дебета
РегЗапись.СчетКт = "60.01"; // пример счета кредита
РегЗапись.Сумма = 1000;
// Устанавливаем субконто, если необходимо
БухгалтерскийУчет.УстановитьСубконто(РегЗапись.СчетДт, РегЗапись.СубконтоДт, "Контрагенты", Справочники.Контрагенты.НайтиПоНаименованию("Поставщик"));
БухгалтерскийУчет.УстановитьСубконто(РегЗапись.СчетКт, РегЗапись.СубконтоКт, "Подразделения", Справочники.Подразделения.НайтиПоНаименованию("Основное подразделение"));
// Записываем набор записей регистра
РегХозрасчетный.Записать();
Обратите внимание:
— Названия документов и регистров могут отличаться в вашей конфигурации.
— Для заполнения субконто используйте функцию `БухгалтерскийУчет.УстановитьСубконто`.
— Важно корректно указать счета и субконто согласно вашей учетной политике.
— Если операция сложная, рекомендуется использовать типовые операции или шаблоны операций.
Рекомендую посмотреть здесь:
https://helpf.pro/faq/view/813.html
https://infostart.ru/1c/articles/137072/