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

Как програмно провести документы?

Пустая платформа 8.2
Добавлены справочник и документ
Нужно чтобы по команде все записи документа проводились как это можно сделать?
Полагаю нужно проходить по записям каким то циклом
но т.к еще только начинаю в этом разбираться естественно дело встало
Подскажите пожалуйста как это можно сделать? или ссылки на полезную в этом вопросе информацию.

(1) Rayrat7, вообще у документов есть кнопка «Провести». В модуле документа можно добавить процедуру «ОбработкаПроведения», где и будут выполняться все операции по проведению документа. А вообще под проведением понимают операцию создания записей регистров на основе введенных данных. Начни с Радченко «1С:Предприятие 8.2. Практическое пособие разработчика»

Выборка = Документы.ЗаказПокупателя.Выбрать(); Пока Выборка.Следующий() Цикл ДокументОбъект = Выборка.ПолучитьОбъект(); ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Неоперативный); КонецЦикла;
ДокументОбъект. (DocumentObject.) Записать (Write) Синтаксис: Записать(, ) Параметры: (необязательный) Тип: РежимЗаписиДокумента. Позволяет выбрать один из возможных режимов записи. Значение по умолчанию: Запись (необязательный) Тип: РежимПроведенияДокумента. Позволяет выбрать один из возможных режимов проведения. Значение по умолчанию: Неоперативный Описание: Записывает документ в базу данных. Доступность: Сервер, толстый клиент, внешнее соединение. Примечание: Для документов с поддержкой уникальности номеров в процессе записи, если нужно, проверяется уникальность номера.

Источник

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

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

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

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

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

СсылкаНаДокумент = Документы.АвансовыйОтчет.НайтиПоНомеру("00000000001"); Если НЕ СсылкаНаДокумент = Неопределено Тогда ДокументОбъект = СсылкаНаДокумент.ПолучитьОбъект(); ДокументОбъект.Дата = ТекущаяДата(); ДокументОбъект.Записать(РежимЗаписиДокумента.Запись); КонецЕсли; 

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

Запрос = Новый Запрос; Запрос.УстановитьПараметр("НачалоПериода", НачалоМесяца(ТекущаяДата())); Запрос.УстановитьПараметр("КонецПериода" , КонецМесяца(ТекущаяДата())); Запрос.Текст = "ВЫБРАТЬ | ВозвратТоваровОтПокупателя.Ссылка |ИЗ | Документ.ВозвратТоваровОтПокупателя КАК ВозвратТоваровОтПокупателя |ГДЕ | ВозвратТоваровОтПокупателя.Дата МЕЖДУ &НачалоПериода И &КонецПериода"; Результат = Запрос.Выполнить().Выгрузить(); Для Каждого ЭлементРезультата из Результат Цикл ДокументОбъект = ЭлементРезультата.Ссылка.ПолучитьОбъект(); ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение); КонецЦикла; 

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

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

Источник

Читайте также:  Как проверить адаптивность верстки
Оцените статью