AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.12.2010, 17:18   #1  
Sancho is offline
Sancho
Administrator
Аватар для Sancho
Лучший по профессии 2017
Лучший по профессии 2009
 
1,294 / 221 (10) ++++++
Регистрация: 11.01.2006
имхо, С\AL недоделанный макроязык с ужасными (с точки зрения программинга) ляпами, например, определение переменных.
из сегодняшнего.
чего может быть проще? оттестфилдить дату на вхождение в диапазон
например:
testfield("Posting Date", DateFrom, DateTo) - не работает.
ну да и фиг с ним, testfield навовская примочка.

но почему не работает конструкция
if not "Pisting Date" in [DateFrom..DateTo] then...
это ж ДОЛЖНО работать по определению!!!

где семейство Controls у форм? доколе перечислять все контролы при любой попытке управлять видимостью\едитабельностью контролов?
где управление закладками, например, скрыть?
где управление кнопками меню?

аскетичный? да. более чем.
красивый код? отточен, лаконичен, немногословен?
вот тут изо всех сил отнюдь!
посмотрите на юниты обработки измерений, хотя бы...
в бюджетах измерений 6 штук6 и много раз встречаются вшестеро откопированные куски кода, поскольку обращаться с полями как с объектами, сложновато.
да, мы научились обходить тонкие места, но положите руку на причиндалы те, кто до этого хоть в чем-то программировал: МЫ ДЕЛАЕМ КОСТЫЛИ, поскольку нормальные методы программирования не канают.

конечно, все имха.
Старый 22.12.2010, 09:13   #2  
prefreitor is offline
prefreitor
Участник
 
214 / 11 (1) +
Регистрация: 03.10.2006
Цитата:
Сообщение от Sancho Посмотреть сообщение
где семейство Controls у форм? доколе перечислять все контролы при любой попытке управлять видимостью\едитабельностью контролов?
где управление закладками, например, скрыть?
где управление кнопками меню?

аскетичный? да. более чем.
красивый код? отточен, лаконичен, немногословен?
А давайте тогда уж лучше поговорим о программировании страниц и отчетов для RTC... Старые версии все равно уже не переделать, но на то что будет в новых можно повлиять? Может, конечно уже это и не по теме конкретного топика...
Старый 22.12.2010, 10:53   #3  
GalaM is offline
GalaM
Moderator
Лучший по профессии 2009
 
640 / 42 (3) +++
Регистрация: 13.03.2008
Адрес: Москва
Цитата:
Сообщение от prefreitor Посмотреть сообщение
А давайте тогда уж лучше поговорим о программировании страниц и отчетов для RTC... Старые версии все равно уже не переделать, но на то что будет в новых можно повлиять? Может, конечно уже это и не по теме конкретного топика...
Теоритически можно, если говорить про это на http://connect.microsoft.com/
Там хотя бы ответят будет ли это исправлено в какой-то дальней версии или лучше не надеятся
А тут говорить даже теоритически бесполезно .
Старый 22.12.2010, 16:19   #4  
alexb_imported is offline
alexb_imported
Участник
 
256 / 12 (1) ++
Регистрация: 25.08.2006
Цитата:
Сообщение от Sancho Посмотреть сообщение
но почему не работает конструкция
if not "Pisting Date" in [DateFrom..DateTo] then...
это ж ДОЛЖНО работать по определению!!!
У меня эта конструкция работает:

Вариант 1
Код:
MyDate := 151210D;
IF NOT (MyDate IN [011210D..311210D]) THEN ERROR(FORMAT(MyDate));
==> ERROR не вылетает
Вариант 2
Код:
MyDate := 150610D;
IF NOT (MyDate IN [011210D..311210D]) THEN ERROR(FORMAT(MyDate));
==> ERROR вылетает

В Вашем варианте конструкция не рабoтает, потому что очевидно DateТо меньше чем DateFrom

Вариант 3
Код:
MyDate := 151210D;
IF NOT (MyDate IN [151210D..141210D]) THEN ERROR(FORMAT(MyDate));
==> ERROR вылетает

Очевидно в конструкции [variable1..variable2] variable2 должна быть всегда больше/равна variable1, поэтому просто надо дополнить код:

Код:
IF DateТо < DateFrom THEN BEGIN
  IF NOT ("Posting Date" IN [DateТо ..DateFrom]) THEN ...
END ELSE BEGIN
  IF NOT ("Posting Date" IN [DateFrom..DateTo]) THEN ...
END;
То же самое касается например и INTEGER'a
Старый 09.06.2011, 14:10   #5  
Sancho is offline
Sancho
Administrator
Аватар для Sancho
Лучший по профессии 2017
Лучший по профессии 2009
 
1,294 / 221 (10) ++++++
Регистрация: 11.01.2006
Цитата:
Сообщение от AlexB Посмотреть сообщение
Цитата:
Сообщение от Sancho Посмотреть сообщение
но почему не работает конструкция
if not "Pisting Date" in [DateFrom..DateTo] then...
это ж ДОЛЖНО работать по определению!!!
У меня эта конструкция работает:

Вариант 1
Код:
MyDate := 151210D;
IF NOT (MyDate IN [011210D..311210D]) THEN ...
==> ERROR не вылетает
...
ступил я. скобочки после not не поставил, она и не компилилась...
просто параллельно кодил и отвечал на форуме
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 13:29.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.