Проверить проведенность документов. Проверяет статус проведения переданных документов и возвращает
// Проверяет статус проведения переданных документов и возвращает
// те из них, которые не проведены.
//
// Параметры:
// Документы - Массив - документы, статус проведения которых необходимо проверить.
//
// Возвращаемое значение:
// Массив - непроведенные документы.
//
Функция ПроверитьПроведенностьДокументов(Знач Документы) Экспорт
Результат = Новый Массив;
ШаблонЗапроса =
"ВЫБРАТЬ
| ПсевдонимЗаданнойТаблицы.Ссылка КАК Ссылка
|ИЗ
| &ИмяДокумента КАК ПсевдонимЗаданнойТаблицы
|ГДЕ
| ПсевдонимЗаданнойТаблицы.Ссылка В(&МассивДокументов)
| И НЕ ПсевдонимЗаданнойТаблицы.Проведен";
ТекстОбъединитьВсе =
"
|
|ОБЪЕДИНИТЬ ВСЕ
|
|";
ИменаДокументов = Новый Массив;
Для Каждого Документ Из Документы Цикл
МетаданныеДокумента = Документ.Метаданные();
Если ИменаДокументов.Найти(МетаданныеДокумента.ПолноеИмя()) = Неопределено
И Метаданные.Документы.Содержит(МетаданныеДокумента)
И МетаданныеДокумента.Проведение = Метаданные.СвойстваОбъектов.Проведение.Разрешить Тогда
ИменаДокументов.Добавить(МетаданныеДокумента.ПолноеИмя());
КонецЕсли;
КонецЦикла;
ТекстЗапроса = "";
Для Каждого ИмяДокумента Из ИменаДокументов Цикл
Если Не ПустаяСтрока(ТекстЗапроса) Тогда
ТекстЗапроса = ТекстЗапроса + ТекстОбъединитьВсе;
КонецЕсли;
ТекстПодзапроса = СтрЗаменить(ШаблонЗапроса, "&ИмяДокумента", ИмяДокумента);
ТекстЗапроса = ТекстЗапроса + ТекстПодзапроса;
КонецЦикла;
Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("МассивДокументов", Документы);
Если Не ПустаяСтрока(ТекстЗапроса) Тогда
Результат = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");
КонецЕсли;
Возврат Результат;
КонецФункции
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
ПроверитьПроведенностьДокументовПроведениеДокументов (БСП)
ПроверитьПроведенностьДокументовДиалогПроведения (БСП)
ПроверитьУстранениеПроблемыДокументаОбработкаПроведения (БСП)
ПроверитьПроведенностьДокументовЗавершение (БСП)
Программное проведение документа
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)