УТ11 программный запрет печати документов без реквизита в значении "Истина"

1. Borshevik33 08.06.23 17:28 Сейчас в теме
Возьмём документ РеализацияТоваровИУслуг, например, ему мы программно задали реквизит "МожноПечатать" булевский. Когда он установлен(Истина), то документ можно распечатать и наоборот. Так вот, просто сделать запрет печати одного документа нетрудно, но сделать запрет из формы списка документа никак не получается нормально. То есть, если я в списке выделю 3 документа и у одного из них "галочка" на реквизите есть, нажму печать для всех трёх, то должен распечатать только тот, который с включённым полем на форме.
Сначала попробовал просто сделать цикл с условием на МассивОбъектов,

Для каждого Док из МассивОбъектов цикл
// в МассивОбъектов лежат три выделенных документа в форме списка и отправленные на печать

Если НЕ Док.МожноПечатать = Ложь тогда

Сообщить("Распечатать документ без включённого признака ""Можно распечатать"" нельзя!");

Возврат;

КонецЕсли;
КонецЦикла;
Но проблема данного кода в том, что он отменяет распечатку всех выделенных документов, поданных на печать, а не только тех, у которых нет критерия (потому что "Возврат;"). Потом попробовал из этого массива удалять элементы, которые без признака, так он где-то потом дальше в функциях всё равно запоминает, что документа было три и на печать их подаёт, несмотря на то, что в массиве до этого было 2 элемента. Кто-то сталкивался с подобной задачей?
По теме из базы знаний
Найденные решения
5. ilnur75 09.06.23 09:05 Сейчас в теме
Вам можно еще сделать в форме списка чтобы когда реквизит "МожноПечатать" равен Истина , тогда фон строки выделить цветом. Сразу будет видно что можно печатать, а что не будет печататься, даже если пользователь выделит строку. Проверку на возможность распечатки можно добавить в модуле общей формы ПечатьДокумента. Тоже обход в цикле и использовать оператор "Продолжить", а не "Возврат".
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user1826630 08.06.23 17:35 Сейчас в теме
(1)
Кто-то сталкивался с подобной задачей?
Нет, такой бесполезной херней никто не страдает.
3. aka Любитель XML 08.06.23 18:06 Сейчас в теме
(1) ну и забей, если выделили, то, что нельзя печатать - не печатай все выделенные, выведи свой булевый флаг на форму списка, по нему будет проще пользователю понять - можно печатать или нет.

Либо - "так он где-то потом дальше в функциях всё равно запоминает" - смотри отладчиком откуда он берет, и там обработай.

P.S.: привет землякам )
4. Borshevik33 08.06.23 20:55 Сейчас в теме
5. ilnur75 09.06.23 09:05 Сейчас в теме
Вам можно еще сделать в форме списка чтобы когда реквизит "МожноПечатать" равен Истина , тогда фон строки выделить цветом. Сразу будет видно что можно печатать, а что не будет печататься, даже если пользователь выделит строку. Проверку на возможность распечатки можно добавить в модуле общей формы ПечатьДокумента. Тоже обход в цикле и использовать оператор "Продолжить", а не "Возврат".
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот