Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Формулы спецификаций УНФ

Формулы спецификаций УНФ
Я
   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. Описание в пользовательском режиме есть у спецификаций?
   krapivenskih
 
2 - 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  )


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

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

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

Значит буду грызть, гранит) ещё раз спасибо большое.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.