Имя: Пароль:
1C
 
УФ : Доступ к объекту документа при вызове ДобавитьКомандыПечати(КомандыПечати)
0 bvb
 
18.12.25
14:01
Добрый день

Нужно в зависимости от значения реквизитов документа подключать или не подключать команды печати.

Как получить доступ к реквизитам?
Ни Ссылка, ни Объект, ни ЭтотОбъект не определены
1 Волшебник
 
18.12.25
14:01
Спросить у Деда Мороза
2 Web00001
 
18.12.25
14:08
https://its.1c.ru/db/bsp3111doc#content:4:hdoc:issogl3_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4_%D0%BF%D0%B5%D1%87%D0%B0%D1%82%D0%B8 при определении команды печати используй свойство "УсловияВидимости"
3 bvb
 
18.12.25
14:48
(2) Спасибо. получилось

Вот рабочий код :

Процедура ДобавитьКомандыПечати(КомандыПечати)
    
        
    КомандаПечати = КомандыПечати.Добавить();
    КомандаПечати.Идентификатор = "STR_ПлановыйРасчетСебестоимости";
    КомандаПечати.Представление = НСтр("ru = '(STR) Плановый расчет себестоимости'");
    УправлениеПечатью.ДобавитьУсловиеВидимостиКоманды(КомандаПечати, "ЭтапПроизводства", Справочники.ЛГ_ЭтапыЗаказовНаПроизводство.Сборка,
    ВидСравнения.Равно);

КонецПроцедуры
4 Fedor-1971
 
18.12.25
14:57
(2) Точно отработают при изменении реквизитов в новом документе? Я думал, что это условия чисто для статичных данных, например, пользователю А низя печатать ТТН т.к. он известен, то и команды можно спрятать

(0) Так в ПриСозданииНаСервере уже заполнена группа команд Печать, вот их можно перебрать и спрятать лишние сразу или сделать процедурку проверки условия заполнения документа

Как вариант, в обработчике печати проверить, что печатная форма запрещена по некоторому условию и вернуть пустой табДок
5 Fedor-1971
 
18.12.25
15:00
(3) "ЭтапПроизводства" - определён на момент создания документа? При изменении на форме прячутся лишние команды печати?
6 Web00001
 
18.12.25
17:07
(4)(5)При записи документа происходит обновление этой менюшки. А распечатать незаписанный документ ты не можешь. Записал, получил новые команды печати. В форме списка не всегда это работает.
7 Fedor-1971
 
19.12.25
09:26
(6) я могу исправить ранее проведенный документ, например, изменить этап и печать сработает для старого этапа?
А так, да после сохранения обновится менюшка.

Для списка не прокатывает, т.к., в случае ТС, этапы разные у документов, а менюшка уже сформирована при открытии формы и обновлять её при изменении строки не совсем корректно, тем более, что выделить могут несколько документов с разными этапами
8 bvb
 
19.12.25
12:28
(4) Нет только для сохраненного
9 Web00001
 
20.12.25
05:01
(7)> я могу исправить ранее проведенный документ, например, изменить этап и печать сработает для старого этапа?
Печать не будет доступна пока ты не запишешь объект, а когда запишешь...

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