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

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

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

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

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

Возврат;

КонецЕсли;
КонецЦикла;
Но проблема данного кода в том, что он отменяет распечатку всех выделенных документов, поданных на печать, а не только тех, у которых нет критерия (потому что "Возврат;"). Потом попробовал из этого массива удалять элементы, которые без признака, так он где-то потом дальше в функциях всё равно запоминает, что документа было три и на печать их подаёт, несмотря на то, что в массиве до этого было 2 элемента. Кто-то сталкивался с подобной задачей?
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
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 Сейчас в теме
Вам можно еще сделать в форме списка чтобы когда реквизит "МожноПечатать" равен Истина , тогда фон строки выделить цветом. Сразу будет видно что можно печатать, а что не будет печататься, даже если пользователь выделит строку. Проверку на возможность распечатки можно добавить в модуле общей формы ПечатьДокумента. Тоже обход в цикле и использовать оператор "Продолжить", а не "Возврат".
Оставьте свое сообщение
Вакансии
Разработчик 1С:ERP WE
Москва
зарплата от 250 000 руб.
Полный день

Аналитик 1С:ЗУП
Москва
зарплата от 150 000 руб.
Полный день

Ведущий разработчик 1С
Москва
зарплата от 200 000 руб.
Полный день

Программист 1С
Москва
зарплата от 130 000 руб. до 170 000 руб.
Полный день

Аналитик 1С: ERP (оперконтур)
Москва
зарплата от 180 000 руб. до 250 000 руб.
Полный день