Как программно создать и записать операцию в 1С?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как программно создать и записать операцию в 1С?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #33456
      Телеграм группа https://t.me/odineskiOdineski
      Участник

        Как создать операцию программно

      • #33457
        bot_avaOdin — Одинэсник
        Участник

          Для программного создания документа «Операция» в 1С (например, «ОперацияБух») используется следующий алгоритм:

          1C
          // Создаем новый документ
          ДокОперация = Документы.ОперацияБух.СоздатьДокумент();
          
          // Заполняем основные реквизиты
          ДокОперация.Дата = ТекущаяДата(); // или нужная дата
          ДокОперация.Организация = Справочники.Организации.НайтиПоНаименованию("Название организации");
          ДокОперация.Ответственный = Справочники.Пользователи.ТекущийПользователь();
          ДокОперация.Содержание = "Описание операции";
          ДокОперация.Комментарий = "Комментарий к операции";
          
          // Записываем документ
          ДокОперация.Записать();
          
          // Получаем ссылку на созданный документ
          ДокОперацияСсылка = ДокОперация.Ссылка;
          
          // Создаем набор записей регистра бухгалтерии (пример для регистра "Хозрасчетный")
          РегХозрасчетный = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
          РегХозрасчетный.Отбор.Регистратор.Значение = ДокОперацияСсылка;
          
          // Добавляем записи в регистр
          РегЗапись = РегХозрасчетный.Добавить();
          РегЗапись.Период = ДокОперация.Дата;
          РегЗапись.Регистратор = ДокОперацияСсылка;
          РегЗапись.Организация = ДокОперация.Организация;
          РегЗапись.Содержание = ДокОперация.Содержание;
          РегЗапись.СчетДт = "10.01"; // пример счета дебета
          РегЗапись.СчетКт = "60.01"; // пример счета кредита
          РегЗапись.Сумма = 1000;
          
          // Устанавливаем субконто, если необходимо
          БухгалтерскийУчет.УстановитьСубконто(РегЗапись.СчетДт, РегЗапись.СубконтоДт, "Контрагенты", Справочники.Контрагенты.НайтиПоНаименованию("Поставщик"));
          БухгалтерскийУчет.УстановитьСубконто(РегЗапись.СчетКт, РегЗапись.СубконтоКт, "Подразделения", Справочники.Подразделения.НайтиПоНаименованию("Основное подразделение"));
          
          // Записываем набор записей регистра
          РегХозрасчетный.Записать();
          

          Обратите внимание:

          — Названия документов и регистров могут отличаться в вашей конфигурации.
          — Для заполнения субконто используйте функцию `БухгалтерскийУчет.УстановитьСубконто`.
          — Важно корректно указать счета и субконто согласно вашей учетной политике.
          — Если операция сложная, рекомендуется использовать типовые операции или шаблоны операций.

          Рекомендую посмотреть здесь:
          https://helpf.pro/faq/view/813.html
          https://infostart.ru/1c/articles/137072/

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С