0

Запись, проведение и отмена проведения документа 1С

#Все конфигурации#1С Предприятие 8#Документ


Программная запись/проведение/отмена проведения документа осуществляется при помощи метода Записать(<РежимЗаписи>, <РежимПроведения>) ДокументаОбъекта.

В параметр РежимЗаписи передается одно из значений системного перечисления РежимЗаписиДокумента :

  • Запись (Write)
  • ОтменаПроведения (UndoPosting)
  • Проведение (Posting)

Переданное значение и определяет какое действие производить с выбранным документом. Также при помощи параметра РежимПроведения можно указать оперативное или неоперативное проведение мы используем.

Пример №1. Программная запись документа

СсылкаНаДокумент = Документы.АвансовыйОтчет.НайтиПоНомеру("00000000001");

Если НЕ СсылкаНаДокумент = Неопределено Тогда
    ДокументОбъект = СсылкаНаДокумент.ПолучитьОбъект();

    ДокументОбъект.Дата = ТекущаяДата();
    ДокументОбъект.Записать(РежимЗаписиДокумента.Запись);
КонецЕсли;

Пример №2 Программное проведение документа

Запрос = Новый Запрос;

Запрос.УстановитьПараметр("НачалоПериода", НачалоМесяца(ТекущаяДата()));
Запрос.УстановитьПараметр("КонецПериода" , КонецМесяца(ТекущаяДата()));

Запрос.Текст = "ВЫБРАТЬ
               |    ВозвратТоваровОтПокупателя.Ссылка
               |ИЗ
               |    Документ.ВозвратТоваровОтПокупателя КАК ВозвратТоваровОтПокупателя
               |ГДЕ
               |    ВозвратТоваровОтПокупателя.Дата МЕЖДУ &НачалоПериода И &КонецПериода";

Результат = Запрос.Выполнить().Выгрузить();

Для Каждого ЭлементРезультата из Результат Цикл
    ДокументОбъект = ЭлементРезультата.Ссылка.ПолучитьОбъект();

    ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение);
КонецЦикла;

Пример №3 Программная отмена проведения документа

Запрос = Новый Запрос;

Запрос.УстановитьПараметр("НачалоПериода", НачалоМесяца(ТекущаяДата()));
Запрос.УстановитьПараметр("КонецПериода" , КонецМесяца(ТекущаяДата()));
Запрос.УстановитьПараметр("Счет90"       , ПланыСчетов.Хозрасчетный.НайтиПоКоду("90"));

Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
               |    ХозрасчетныйОбороты.Регистратор
               |ИЗ
               |    РегистрБухгалтерии.Хозрасчетный.Обороты(&НачалоПериода, &КонецПериода, Регистратор, Счет В ИЕРАРХИИ (&Счет90), , , , ) КАК ХозрасчетныйОбороты";

Результат = Запрос.Выполнить().Выгрузить();

Для Каждого ЭлементРезультата из Результат Цикл
    ДокументОбъект = ЭлементРезультата.Регистратор.ПолучитьОбъект();

    ДокументОбъект.Записать(РежимЗаписиДокумента.ОтменаПроведения);
КонецЦикла;
0 15842 0
ДобавленоVital898 дней назад
Отредактировано755 дней назад


Добавить комментарий

Добавить статью!

Наш канал на Youtube

Изучаете 1С? Скачайте 200 видео по 1С бесплатно:

Похожее

Проводки и хозяйственные операции документа: Запись книги учета доходов и расходов (ИП)

СчетДт СчетКт Содержание Меню Вид операции документа Закладка документа Регист...

Программное создание документа в 1С 8

Для того что бы программно создать документ необходимо воспользоваться методом С...

Создание обработки заполнения табличной части 1С 8

1. Постановка задачи В этой статье рассмотрим процесс написания простейшей внеш...

Создание внешнего отчета в 1с 8

Рассмотрим создание внешнего отчета в 1с 8 без использования системы компоновки ...

Как изменить справочник из документа 1С

Помогите,пожалуйста!!! Мне необходимо, чтобы, когда в табличной части документа ...

Новое

Сравнение данных разных баз 1С 8 и/или SQL

Обработка Консоль сравнения данных из разных источников предназначена для сравне...

Скачать печатные формы документа "Реализация товаров и услуг" 1С 8.2

Печатные формы из релиза 1C:Бухгалтерия 2.0.64.5 Скачать бесплатно печатную фор...

Как снять и поставить конфигурацию 1С на поддержку

В этой статье я расскажу как снять конфигурацию 1С 8 частично или полностью с по...

Как сделать резервную копию 1С

Чтобы обезопасить себя от частичной или полной потери данных, перед тем как прои...

Настройка двухстороннего обмена данными между конфигурациями "Управление торговлей 10.3" и "Бухгалтерия предприятия 2.0" в 1С 8

В этой статье мы рассмотрим как настроить двухсторонний обмен данными между конф...