Имя: Пароль:
1C
1С v8
Подскажите, как возможно исправить данную ошибку "Преобразование к типу Булево не может бы
0 b-dm
 
15.03.19
11:38
Есть такая ошибка в модуле формы обработки Печать этикеток.

{Обработка.ПечатьЭтикеток.Форма.Форма.Форма(112)}: Преобразование значения к типу Булево не может быть выполнено
ЭтикеткаОбласть.Параметры.Артикул = СтрокаИзСписка.Номенклатура.Артикул + ?(Демо, "-DEMO", "");


Само значение Демо, это булевский реквизит на форме Приходного ордера на товары....

Как её возможно исправить ?
1 unregistered
 
15.03.19
11:42
(0) > Демо - это реквизит на форме Приходного ордера.
> {Обработка.ПечатьЭтикеток.Форма.Форма.Форма.

Вы уж определитесь - откуда этот код вызывается - из формы Приходника или из формы обработки? Текст сообщения обошибке говорит нам, что из формы обработки ПечатьЭтикеток.
2 vasvl123
 
15.03.19
11:43
?(Демо = Истина, "-DEMO", "");
3 Вася Теркин
 
15.03.19
11:43
Это к вам троичная логика прокралась....
Может Демо, а может и нет...
4 tixis
 
15.03.19
11:51
Сообщить(Демо)
5 Василий Алибабаевич
 
15.03.19
11:59
(0) Колхоз наше фсьо. Если лень искать ошибку :
Суффикс = "";
Попытка
  Суффикс = ?(Демо, "-DEMO", "");
Исключение
КонецПопытки;

ЭтикеткаОбласть.Параметры.Артикул = СтрокаИзСписка.Номенклатура.Артикул + Суффикс;

ЗЫ. Правда Суффикс всегда будет = "".
6 Вафель
 
15.03.19
12:13
галка то на форме, а печать из обработки
7 b-dm
 
15.03.19
12:22
(1) - да, из формы обработки ошибка, а реквизит на форме дока :)
8 Василий Алибабаевич
 
15.03.19
12:24
(7) Ну так нужно передать значение реквизита из формы документа в форму обработки. Я так думаю...
9 Сияющий в темноте
 
15.03.19
14:22
Для 1с хорошим тоном является явное сравнение булевых величин с истиной,что исключает ошибки при неопределенном значении переменной.
p.s.просто,люди в нормальных языках привыкли,что булево получается из любого типа просто проверкой на пустоту,а тут вам 1с,она так не умеет.

сто касается галочки на форме,то когда вызывается внешняя обработка,то форма в нее не передается.