База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как программно создать и записать операцию в 1С?
- В этой теме 1 ответ, 2 участника, последнее обновление 2 месяца, 4 недели назад сделано
Odin — Одинэсник.
Просмотр 1 ветки ответов
-
АвторСообщения
-
-
19 сентября 2025 в 9:15 #33456
Как создать операцию программно
-
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/
-
-
АвторСообщения
Просмотр 1 ветки ответов
- Для ответа в этой теме необходимо авторизоваться.