|
v7: Условие в макете печатной формы | ☑ | ||
---|---|---|---|---|
0
Asya666
02.03.21
✎
12:28
|
Доброго дня! поставлена задача чтобы в печ форму выводились на печать реквизиты физлица (с заполнением из карточки контрагента), если в накладной выбран частник, и соответственно чтобы для ИП и юриков выводился свой набор реквизитов (с заполнением из карточки контрагента) в ту же печ форму. Попыталась решить этот момент закинув в нужную ячейку печ формы такой текст:
?([Клиент.Форма] = [Перечисление.Формы.ЧЛ], [Клиент] Паспорт серии [СокрЛП(Клиент.ПаспортСерия)] № [СокрЛП(Клиент.ПаспортНомер)] Выдан [СокрЛП(Клиент.ПаспортВыдан)], [СокрЛП(Клиент.ПаспортДата)] Адрес: [СокрЛП(Клиент.Адрес)], [Клиент] ОГРН [Клиент.ОГРН] ИНН [Клиент.ИНН] КПП [Клиент.КПП] Р/с [Клиент.Расч_Счет] в [Клиент.Банк] БИК [Клиент.МФО] Кор/с [Клиент.Корр_счет] ОКОНХ [Клиент.КодОКОНХ] ОКПО [Клиент.КодОКПО] [Клиент.Должность]_________/[Клиент.ФИО]) В свойствах ячейки ставила тип и Выражение и Шаблон, все реквизиты указаны без ошибок. Нормального описания как правильно описывать условия в макетах так и не нашла на просторах интернета. При формировании печ формы выводит вышеуказанное выражение с расчитанными реквизитами там где это возможно, никакой ругани на некорректность выражения нет и выводит в качестве результата выражения (в одном из примеров) "ч.л. = ч.л.", то есть находит нужные значения, подставляет, но почему то не обрабатывает как Истину. Люди добрые, помогите кто знает как это правильно должно работать? |
|||
1
Василий Алибабаевич
02.03.21
✎
12:32
|
(0) Две секции. Одна для Юрлиц, другая - для физлиц. В зависимости от типа контрагента выводим одну или другую. Например так :
Таб.ВывестиСекцию(?(Клиент.Форма = Перечисление.Формы.ЧЛ, "СекцияФ", "СекцияЮ")); |
|||
2
Mikeware
02.03.21
✎
12:32
|
это клюшки, это вам не снеговик
|
|||
3
Asya666
02.03.21
✎
12:35
|
(1) Значит в самой секции так условие не описать чтоб проверка внутри была?
|
|||
4
Андрей_Андреич
naïve
02.03.21
✎
12:36
|
(3) нет
|
|||
5
Builder
02.03.21
✎
12:37
|
(3) Такие условия гораздо проще делать в модуле и выводить уже готовый текст.
Либо по секциям, либо просто формировать нужный текст. |
|||
6
Asya666
02.03.21
✎
12:37
|
спасибо)
|
|||
7
Андрей_Андреич
naïve
02.03.21
✎
12:38
|
?(Клиент.Форма = Перечисление.Формы.ЧЛ, Шаблон(), Шаблон());
|
|||
8
Злопчинский
02.03.21
✎
13:55
|
(0) Плохая практика.
вся логика д.б. в модуле. В Макете - выводить только готовые переменные. все переменные макета вычислять в модуле печформы. |
|||
9
Злопчинский
02.03.21
✎
13:56
|
Восьмерочники такие смишные... ;-)
|
|||
10
Mikeware
02.03.21
✎
14:03
|
(9) такой стиль.
хотя говнокодить можно на чем угодно... |
|||
11
hhhh
02.03.21
✎
21:49
|
(8) на самом деле это только в семерке такая хрень СокрЛП(Клиент.ПаспортСерия). В восьмерке выражения запрещены.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |