Отображение команд печати документа в зависимости от условий

1. UtSpar 134 18.02.20 08:38 Сейчас в теме
Конфигурация на БСП 2.2.
Команды печати в документе добавляются через процедуру модуля менеджера "ДобавитьКомандыПечати".

Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
    КомандаПечати = КомандыПечати.Добавить();
    КомандаПечати.МенеджерПечати = "Документ._ДемоСчетНаОплатуПокупателю";
    КомандаПечати.Идентификатор = "СчетЗаказ";
    КомандаПечати.Представление = НСтр("ru = 'Счет на оплату'");
    КомандаПечати.ПроверкаПроведенияПередПечатью = Истина; 
КонецПроцедуры


Вопрос: Как реализовать отображение разных печатных форм в зависимости от реквизита документа. К примеру если реквизит "Вид документа" = Основной - то одни печатные формы, если "Вид документа" = Дополнительный , то другие печатные формы.

Правильного способа в документации по БСП не нашел. Кто сталкивался, подскажите как лучше это реализовать?
По теме из базы знаний
Найденные решения
2. Stref75 18.02.20 09:54 Сейчас в теме
вариант 1 - реализовать логику печати различного макета в зависимости от реквизита в самой команде печати. Т.е. пользователь видит одну команду, а алгоритм в зависимости от реквизита объекта формирует тот или иной макет (думаю наиболее оптимально).
вариант 2 - добавляем команды печати для разных документов, затем на самой форме отлавливаем их в элементах формы, и в зависимости от реквизита объекта, скрываем недопустимые.
вариант 3 - в командах печати делаем проверки на реквизит, и если он не подходит, то просто выводим сообщение пользователю типа "Не для этого типа документа в поле ягодка росла"
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
4. davealone 165 18.02.20 10:09 Сейчас в теме
(1) Посмотрите, есть ли у добавляемой команды колонка УсловияВидимости - в 2.4 точно есть. Не уверен в 2.2 уже была или нет.
Если есть, то можно задать простые условия на равенство с помощью ДобавитьУсловиеВидимостиКоманды. И этот реквизит должен быть в списках с флагом Использовать всегда, чтобы даже при отключенной видимости был доступен.
6. UtSpar 134 18.02.20 11:18 Сейчас в теме
(4)Как раз то что нужно, но в 2.2. к сожалению такого параметра еще нет. https://its.1c.ru/db/bsp22doc#content:219:1
Но спасибо, будет где посмотреть.
5. KVIKS 396 18.02.20 10:54 Сейчас в теме
(1)В типовых в процедуре ДобавитьКомандыПечати как раз и ставят условия к примеру на всякие константы и функциональные опции. По идее также можно сделать проверку на реквизит документа, но ДобавитьКомандыПечати - функция общая для списков и для документов, а судя по заданию видимость там может отличаться. 2-й момент это - что показывать если документ новый и реквизит определяется в ходе заполнения? Ничего, а после записи обновлять команды печати? Т.е. состав кнопок не определить - остается только менять сами процедуры печати, т.е. кнопку видно, но 1 документ печатается нормально, а второму пустой бланк, в зависимости от реквизита.
7. UtSpar 134 18.02.20 11:22 Сейчас в теме
(5)Спасибо, оставлю две команды, так у меня реквизит всего два значения может иметь, а уже при нажатии обрабатывать и выводить сообщение в случае ошибки.
2. Stref75 18.02.20 09:54 Сейчас в теме
вариант 1 - реализовать логику печати различного макета в зависимости от реквизита в самой команде печати. Т.е. пользователь видит одну команду, а алгоритм в зависимости от реквизита объекта формирует тот или иной макет (думаю наиболее оптимально).
вариант 2 - добавляем команды печати для разных документов, затем на самой форме отлавливаем их в элементах формы, и в зависимости от реквизита объекта, скрываем недопустимые.
вариант 3 - в командах печати делаем проверки на реквизит, и если он не подходит, то просто выводим сообщение пользователю типа "Не для этого типа документа в поле ягодка росла"
8. UtSpar 134 18.02.20 11:23 Сейчас в теме
(2) 3 вариант то что нужно, спасибо!
9. user_2010 873 04.05.21 16:31 Сейчас в теме
(2)
интересно, как реализовать путнкт 2? в какой процедуре и как скрыть печ формы?

вариант 2 - добавляем команды печати для разных документов, затем на самой форме отлавливаем их в элементах формы, и в зависимости от реквизита объекта, скрываем недопустимые.
3. user633533_encantado 11 18.02.20 10:08 Сейчас в теме
В типовых как раз 3 вариант реализован, если форма не подходящая, то выходит сообщение. А сами команды не фильтруются.
10. KirinaAS 100 14.02.22 11:09 Сейчас в теме
УправлениеПечатью.ДобавитьУсловиеВидимостиКоманды
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

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

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

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)