Имя: Пароль:
1C
1С v8
Формулы спецификаций УНФ
0 krapivenskih
 
02.02.20
22:15
Подскажите как правильно составить формулу выбора спецификации в зависимости от характеристики:
Пример формулы
#ЕСЛИ [Характеристика.[ХарВысота (Двери)]] <= 2500
    #ТОГДА Металл 2200
    #ИНАЧЕ Металл 2500
#КОНЕЦЕСЛИ
Есть номенклатура Металл 2200 и Металл 2500, пишет ошибку :


При расчете возникли ошибки. Проверьте правильность написания формулы.
Подробное описание:
{(1,24)}: Ожидается символ ','
{ОбщийМодуль.ОбщегоНазначения.Модуль(5050)}:    Возврат Вычислить(Выражение);
{ОбщийМодуль.ПроизводствоФормулыСервер.Модуль(1542)}:       Результат = ОбщегоНазначения.ВычислитьВБезопасномРежиме(ФормулаСтрокой, ПараметрыРасчета);
{ОбщийМодуль.ПроизводствоФормулыСервер.Модуль(59)}: РасчетДанныхПоФормуле(ТекстФормулы, СоответствиеОперандов, РасчетныеДанные);
{Справочник.Спецификации.Форма.КонструкторФормул.Форма(811)}:   ПроизводствоФормулыСервер.ПроверитьФормулу(Ошибки, Формула, ОписаниеТипов, КатегорияНоменклатуры);

по причине:
{(1,24)}: Ожидается символ ','
?( 10 <= 2500   , Металл <<?>>2200  , Металл 2500)

Где почитать как правильно составлять формулу с ссылкой на номенклатуру.
1 Кодер
 
02.02.20
23:13
1. Мне не нравится пробел в Металл 2200.
2. Описание в пользовательском режиме есть у спецификаций?
2 krapivenskih
 
02.02.20
23:28
Создал номенклатуру Металл1 и Металл2 ошибка вот такая


При расчете возникли ошибки. Проверьте правильность написания формулы.
Подробное описание:
{(1,17)}: Переменная не определена (Металл1)
{ОбщийМодуль.ОбщегоНазначения.Модуль(5050)}:    Возврат Вычислить(Выражение);
{ОбщийМодуль.ПроизводствоФормулыСервер.Модуль(1542)}:       Результат = ОбщегоНазначения.ВычислитьВБезопасномРежиме(ФормулаСтрокой, ПараметрыРасчета);
{ОбщийМодуль.ПроизводствоФормулыСервер.Модуль(59)}: РасчетДанныхПоФормуле(ТекстФормулы, СоответствиеОперандов, РасчетныеДанные);
{Справочник.Спецификации.Форма.КонструкторФормул.Форма(811)}:   ПроизводствоФормулыСервер.ПроверитьФормулу(Ошибки, Формула, ОписаниеТипов, КатегорияНоменклатуры);

по причине:
{(1,17)}: Переменная не определена (Металл1)
?( 10 <= 2500   , <<?>>Металл1  , Маталл2   )
{(1,27)}: Переменная не определена (Маталл2)
?( 10 <= 2500   , Металл1   , <<?>>Маталл2  )


вот что пишет в справке:

Редактирование формулы
Форма предназначена для быстрого формирования форумулы из доступных в панели "Операторы и функции" элементов.

Совет. Для проверки правильности составления формулы можно воспользоваться командой "Проверить формулу"
Совет. Все разрешенные элементы расположены в списке "Операторы и функции"

Я так полагаю что не правильно вставляется название номенклатуры, но нигде не могу найти что-либо по этой тематике, только самописные дополнения
3 AlvlSpb
 
03.02.20
00:10
(2) ?( 10 <= 2500   , Справочники.Номенклатура.НайтиПоНаименованию("Металл1")  , Справочники.Номенклатура.НайтиПоНаименованию("Металл2")   )
4 krapivenskih
 
03.02.20
07:59
Спасибо большое, значит основная система тегов подходит для данной формы, а я думал там что то придумали интересное ) спасибо большое.

Значит буду грызть, гранит) ещё раз спасибо большое.
Закон Брукера: Даже маленькая практика стоит большой теории.