Решено нужна помощь по небольшой формуле...

E

E-m@le

Добрый день.
Подскажите ошибку в синтаксе пустяковой формулы.
Вид приказа на увольнение из клиента [/URL]
Интересуют пункт 1 и 2, отмеченные на картинке.
Пункт 1 - колво дней, не отработанных работником (например, взятый полный отпуск при неполном отработанном рабочем годе).
Пункт 2 компенсация за не отгулянные дни отпуска, состоят из 5 пунктов.
Подробнее в дизайнере.
[/URL]

Подробнее из дизайнера.
Описание кнопки "не отработано дней"
[/URL]
и ее значение
[/URL]

Перехожу к графе "компенсация отпусков", как основных, так и дополнительных
[/URL]
[/URL]
Итоговая компенсация с базовой формулой
[/URL]
И сама формула
[/URL]
Формула символами
@If(@Text(Zd)!="";Zd+@If(@Text(Zd_1)!="";Zd_1+@If(@Text(Zd_2)!="";Zd_2+@If(@Text(Zd_3)!="";Zd_3+@If(@Text(Zd_4)!="";Zd_4;0);0);0);0);0)

Я делаю копию кнопки на основе итоговой компенсации
[/URL]
И в качестве своей формулы я хочу из
zkompch_5 вычесть значение zvprch (кол-во неотработанных дней).
В дизайнере прописываю следующую формулу
@If(@Text(Zd)!="";Zd+@If(@Text(Zd_1)!="";Zd_1+@If(@Text(Zd_2)!="";Zd_2+@If(@Text(Zd_3)!="";Zd_3+@If(@Text(Zd_4)!="";Zd_4;-@If(@Text(Zvpr)!="";Zvpr;0);0);0);0);0);0)
но дизайнер не хочет ее принимать
[/URL]

Просьба: подскажите правильный синтаксис этой формулы.
Спасибо.
 
V

victorhalf

Well-known member
29.05.2007
79
2
@If(@Text(Zd)!="";Zd+@If(@Text(Zd_1)!="";Zd_1+@If(@Text(Zd_2)!="";Zd_2+@If(@Text(Zd_3)!="";Zd_3+@If(@Text(Zd_4)!="";Zd_4;-@If(@Text(Zvpr)!="";Zvpr;0);0);0);0);0);0)
Просьба: подскажите правильный синтаксис этой формулы.
Спасибо.
глаз "замылился", это бывает, помоему после Zd_4 точка с запятой лишняя

@If(@Text(Zd)!="";Zd+@If(@Text(Zd_1)!="";Zd_1+@If(@Text(Zd_2)!="";Zd_2+@If(@Text(Zd_3)!="";Zd_3+@If(@Text(Zd_4)!="";Zd_4;-@If(@Text(Zvpr)!="";Zvpr;0);0);0);0);0);0)
 
  • Нравится
Реакции: The Codeby
E

E-m@le

глаз "замылился", это бывает, помоему после Zd_4 точка с запятой лишняя

@If(@Text(Zd)!="";Zd+@If(@Text(Zd_1)!="";Zd_1+@If(@Text(Zd_2)!="";Zd_2+@If(@Text(Zd_3)!="";Zd_3+@If(@Text(Zd_4)!="";Zd_4;-@If(@Text(Zvpr)!="";Zvpr;0);0);0);0);0);0)
да, спасибо, именно ту ; и не заметил :)
[doublepost=1504596222,1504377056][/doublepost]Тема закрыта.
Синтаксис той команды был верен, но он операцию вычитания все таки не делал :(
Общение со своими программистами в вышестоящей организации дали такой результат кода

res := @If( Zvpr = ""; 0; @IsError( @TextToNumber(Zvpr )); 0; @TextToNumber( Zvpr ) );
@If(@Text(Zd)!="";Zd+@If(@Text(Zd_1)!="";Zd_1+@If(@Text(Zd_2)!="";Zd_2+@If(@Text(Zd_3)!="";Zd_3+@If(@Text(Zd_4)!="";Zd_4;0);0);0);0);0) - res

Вопрос уже в догонку: почему при операции сложения не нужно было брать функцию res, а при вычитании они ее взяли?
Спасибо.
 
Мы в соцсетях: