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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.12.2010, 12:15   #1  
Kadawrik is offline
Kadawrik
Участник
 
279 / 11 (1) +
Регистрация: 04.11.2010
Подскажите, кто в курсе, какие существуют (то, что существуют, я знаю программы, позволяющие хоть как-то скрасить работу программера в Навижн.
Такое ощущение, что C/SIDE придумали люди, люто ненавидящие программистов. Столь неудобную среду для программирования я еще не встречала!
Я имею в виду всякие удобства типа:
- подсвечивание кода (языковые структуры, служебные функции и т.п.);
- вставка языковых структур (н-р, циклов, IF-операторов и проч.)
- более удобные средства для маркирования текста (не по-строчно, как в Nav, а отдельное слово, фрагмент кода и т.д.)
- помнится была еще такая удобная фича: выделил кусок кода и с помощью кнопочек его можно сдвигать влево-вправо, тем самым структурируя текст или нажал на кнопку и вест выделенные фрагмент будет закомментирован (или, наоборот, снят комментарий) Вариант с {} мне известен, но он неудобный в некоторых случаях;
- глобальный поиск (т.е. к примеру мне надо найти по всем модулям где вызывается нужная мне функция, или имя переменной);
Ну и самое главное: возможность сравнивать конфигурации ....или хотя бы отдельные объекты (а то, млин, смотрю: один и тот же объект в разных базах - номер версии один и тот же, в Doku ничего не стоит, а даты разные. Ну и как найти отличия!? ;-/
Дебагер, кстати, тоже оставляет желать лучшего
Старый 15.12.2010, 13:23   #2  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
На самом деле это дело привычки.


Подсветки не встречал, кроме как в последней версии.
Вставка структур возможна. Но не помню как называются проги.Можно поискать на форуме (было давнооо) или на mibuso. Сам не пользую
С маркировкой вроде все в порядке, если маркировать в одной строке. Далее построчно.
Для глобального поиска и сравнения версий объектов используется стандартное средство: Developer's Toolkit. Можно скачать с того же Mibuso.com. Требует дополнительной лицензии
Старый 15.12.2010, 15:01   #3  
LOGIC_BBS is offline
LOGIC_BBS
Участник
 
61 / 10 (1) +
Регистрация: 14.12.2005
Цитата:
Сообщение от Fordewind Посмотреть сообщение
На самом деле это дело привычки.

Но не помню как называются проги.
Называеться CodeGenius Studio
http://www.codegenius.nl/

Developer's Toolkit for Microsoft Dynamics NAV хорош для глобального поиска
Старый 15.12.2010, 15:12   #4  
alexb_imported is offline
alexb_imported
Участник
 
256 / 12 (1) ++
Регистрация: 25.08.2006
В том же mibuso eсть ещё "CAL Completer".
Старый 15.12.2010, 17:31   #5  
alexb_imported is offline
alexb_imported
Участник
 
256 / 12 (1) ++
Регистрация: 25.08.2006
Цитата:
Сообщение от Kadawrik Посмотреть сообщение
Ну и самое главное: возможность сравнивать конфигурации ....или хотя бы отдельные объекты (а то, млин, смотрю: один и тот же объект в разных базах - номер версии один и тот же, в Doku ничего не стоит, а даты разные. Ну и как найти отличия!? ;-/
Выгрузите оба обьекта в текстовом виде и сравните оба текстовых файла, тогда найдёте все различия.
Программы для сравнения техтовых файлов (а также Merge!):
Araxis Merge (мне очень нравится, но дорогой) или Beyond Compare 3.
Старый 16.12.2010, 09:44   #6  
prefreitor is offline
prefreitor
Участник
 
214 / 11 (1) +
Регистрация: 03.10.2006
Цитата:
Сообщение от Kadawrik Посмотреть сообщение
Подскажите, кто в курсе, какие существуют (то, что существуют, я знаю программы, позволяющие хоть как-то скрасить работу программера в Навижн.
Такое ощущение, что C/SIDE придумали люди, люто ненавидящие программистов. Столь неудобную среду для программирования я еще не встречала!
Укрепляйте свой дух! Вспомните аскетичность монахов!
В век гламура немногие могут позволить себе такие брутальные средства как NAV! Зато каждая строчка будет выстрадана и весь код отточен и лаконичен, немногословен. Среда разработки как бы призывает программиста не разбрасываться словами, сентиментами, действовать четко и быстро... Меняя характер разработчика мы получаем красивые и логически безупречные куски функционала Для слабых духом есть CAL Complieter, Code Genius Studio.
Мне больше понравилась Code Genius Studio помимо того что в ней можно самому делать шаблоны имеется еще менеджер баз, т.е можно включить именно нужную базу с нужной версией NAV, ввести пароль... Единственно что заметил как недостаток "студио" - нужно чтобы английская раскладка клавиатуры стояла по умолчанию для нормальной работы.
Старый 16.12.2010, 10:50   #7  
alexb_imported is offline
alexb_imported
Участник
 
256 / 12 (1) ++
Регистрация: 25.08.2006
Цитата:
Сообщение от prefreitor Посмотреть сообщение
[...Зато каждая строчка будет выстрадана и весь код отточен и лаконичен, немногословен. Среда разработки как бы призывает программиста не разбрасываться словами, сентиментами, действовать четко и быстро... Меняя характер разработчика мы получаем красивые и логически безупречные куски функционала...
Абсолютно точное определение! Именно поэтому мне и нравится программировать в навижене, где без этих дебрей с классами, пойнтерами и.т.д. достигается то что нужно.
И где ещё есть такие классные вещи как темповые record-переменные или RecordRef-функциональность?
Старый 21.12.2010, 16:38   #8  
GGNAME is offline
GGNAME
Участник
 
67 / 10 (1) +
Регистрация: 21.02.2010
Мне кажется кнопки TAB достаточно, для структурирования, упорядочивания и лучшего понимания кода. Всё остальное приспособления не "истинных" программистов.
Старый 21.12.2010, 17:18   #9  
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   #10  
prefreitor is offline
prefreitor
Участник
 
214 / 11 (1) +
Регистрация: 03.10.2006
Цитата:
Сообщение от Sancho Посмотреть сообщение
где семейство Controls у форм? доколе перечислять все контролы при любой попытке управлять видимостью\едитабельностью контролов?
где управление закладками, например, скрыть?
где управление кнопками меню?

аскетичный? да. более чем.
красивый код? отточен, лаконичен, немногословен?
А давайте тогда уж лучше поговорим о программировании страниц и отчетов для RTC... Старые версии все равно уже не переделать, но на то что будет в новых можно повлиять? Может, конечно уже это и не по теме конкретного топика...
Старый 22.12.2010, 09:52   #11  
GGNAME is offline
GGNAME
Участник
 
67 / 10 (1) +
Регистрация: 21.02.2010
Возможно первоочередной целью нава всё же была ERP-система и уж потом встроенный язык программирования. На него по всей видимости мало времени оставалось -) решили не заморачиваться.
Старый 22.12.2010, 10:53   #12  
GalaM is offline
GalaM
Moderator
Лучший по профессии 2009
 
640 / 42 (3) +++
Регистрация: 13.03.2008
Адрес: Москва
Цитата:
Сообщение от prefreitor Посмотреть сообщение
А давайте тогда уж лучше поговорим о программировании страниц и отчетов для RTC... Старые версии все равно уже не переделать, но на то что будет в новых можно повлиять? Может, конечно уже это и не по теме конкретного топика...
Теоритически можно, если говорить про это на http://connect.microsoft.com/
Там хотя бы ответят будет ли это исправлено в какой-то дальней версии или лучше не надеятся
А тут говорить даже теоритически бесполезно .
Старый 22.12.2010, 14:29   #13  
alexb_imported is offline
alexb_imported
Участник
 
256 / 12 (1) ++
Регистрация: 25.08.2006
Маленький прогресс в NAV2009 R2:
1) в коде если постывить мышку на record-Variable, то можно сразу открыть в дизайне таблицу этой record-Variable.
Тоже самое для Codeunit.function, формы-variable итд.
2) появился новый DataType для variable: DotNet со ссылками на .Net-Framework, так что костыли с Automation+DLL bудут со временем по-видимому заменяться DotNet
3) Обьекты теперь можно заблокировать (если в БД программируют сразу несколько программистов одновременно).
Старый 22.12.2010, 16:19   #14  
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
Старый 22.12.2010, 16:31   #15  
ОльгаМ is offline
ОльгаМ
Участник
 
36 / 10 (1) +
Регистрация: 07.09.2004
Адрес: Москва
Цитата:
Сообщение от Kadawrik Посмотреть сообщение
Такое ощущение, что C/SIDE придумали люди, люто ненавидящие программистов. Столь неудобную среду для программирования я еще не встречала!
Все так начинали. Через год, а то и раньше, полюбите вы C/SIDE. Почувствуете, что в ней все логично и достаточно просто.
Старый 08.06.2011, 19:49   #16  
_df_ is offline
_df_
Участник
 
13 / 10 (1) +
Регистрация: 08.06.2011
а может у майкрософта такая хрень всегда получается потому что их программисты работают на таком же "аскетичном" движке?
prefreitor а может скажете что настоящие ковбои ой программисты пишут в блокноте?
все эти удобства на самом деле не прихоть а возможность увеличить эффективность работы в разы если не на порядки!
(чего кстати не наблюдаю и в интерфейсе навижена для пользователей, каждая операция в демке по крайней мере делается в несколько раз медленней нежели в 1С)
Старый 09.06.2011, 08:06   #17  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
какой дикий троллинг

речь идет о c/side.
эффективность программиста увеличивается на порядки из-за подсветки? гы!
интерфейс пользователей != интерфес программиста.
про скорость - никогда еще Нав не работал медленнее 1Са.
__________________
полезное на axForum, github, vk, coub.
Старый 09.06.2011, 10:40   #18  
_df_ is offline
_df_
Участник
 
13 / 10 (1) +
Регистрация: 08.06.2011
эффективность программиста увеличивается на порядки из-за подсветки? гы!
вы знаете что такое телепат в 1С 7.7? это автоподстановка команд, объектов конфигурации, свойств этих объектов (причем если объект ааа имеет свойство ххх, а ббб не имеет, начав писать "ааа." телепат предложит дописать ххх, а начав писать "ббб." не предложит (это означает что список выбора довольно мал и выбирать легко и быстро)), создание часто встречающихся конструкция языка (например начав писать "если" телепат предложит создать контструкцию "если ... тогда ... конецесли;"). так вот, за всех утверждать не могу, но лично моя скорость написания кода с телепатом увеличивается в разы.

интерфейс пользователей != интерфес программиста.
не понял этой фразы. но если уж про интерфейс пользователей, пару вещиц которые меня убивают (может это возможно организовать и по другому, я сужу по демо-базе).
1. Выбор даты. Кто придумал что писать дату руками, да еще и подставляя самому точки в нужных местах удобнее быстрее чем выбрать из календарика
2. В настройках есть такой пункт "Закрывать формы клавишей ESC", возможные значения "Да" или "Нет". но вписать в это поле я могу что угодно, навижн просто не даст сохрать это. я как программист дал бы пользователю выбирать из списка необходимый параметр. и на заполнение этого поля у моего пользователя ушло бы раз в 10 меньше времени. а если бы это поле было в каком нибудь часто используемом документе (например накладной коих у нас до 1000 штук в день)? вот он и проигрыш навижена по времени.

про скорость - никогда еще Нав не работал медленнее 1Са.
я не про скорость работы навижена, я про скорость работы ПОЛЬЗОВАТЕЛЕЙ в навижене.


ps кстати еще один пример немного не в тему вспомнил: в VB для Microsoft Office если не ошибаюсь вплоть до Office 2003 не работало колесо прокрутки у мышки Напрягало очень сильно
Старый 09.06.2011, 11:11   #19  
Kadawrik is offline
Kadawrik
Участник
 
279 / 11 (1) +
Регистрация: 04.11.2010
Я 6 лет программировала в 1С 7.7
Согласна с вами в том, что в 1С писать код программеру удобнее, комфортнее, приятнее и ... (для меня) быстрее.
Но тем не менее попробую высказаться в защиту Нава (хотя Навижн занимаюсь чуть больше полугода)

Цитата:
Сообщение от _df_ Посмотреть сообщение
1. Выбор даты. Кто придумал что писать дату руками, да еще и подставляя самому точки в нужных местах удобнее быстрее чем выбрать из календарика
Вы не люите кошек!? Да вы порсто не умеете их готовить! (с)

Нажимать лишние кнопочки чтобы выбрать дату из календарика - занимает гораздо больше времени, чем ввод даты в NAV.
Для того чтобы в Навижн ввести дату, точечки рисовать не нужно, достаточно лишь набрать "значащие" цифры (н-р, 090610 будет оинтерпретировано как 09.06.2010
если дата относится к текущему году, то можно вообще 4 цифры набрать: 0906 - превратится в 09.06.11
или еще проще: h - значит сегодня - и Нав автоматом подставит сегодняшнюю дату - 09.06.11)

Цитата:
Сообщение от _df_ Посмотреть сообщение
2. В настройках есть такой пункт "Закрывать формы клавишей ESC", возможные значения "Да" или "Нет". но вписать в это поле я могу что угодно, навижн просто не даст сохрать это. я как программист дал бы пользователю выбирать из списка необходимый параметр. и на заполнение этого поля у моего пользователя ушло бы раз в 10 меньше времени. а если бы это поле было в каком нибудь часто используемом документе (например накладной коих у нас до 1000 штук в день)? вот он и проигрыш навижена по времени.
Опять та же история: выбор из списка - это лишнее нажатие клавиш, а Нав позволяет в поле типа "Да/Нет" просто поставить "Y" - Значит "Yes", "n" - превратится в "No"
Нав дает выигрыш по времени особенно когда нужно выбирать что-то из большого справочника: тостаточно ввести в поле начальные неск. символов от имени (или кода об"екта).
Н-р, у меня есть номерклатура/товар: GP155EP - Grandpiano ля-ля-тополя, который часто используется в счетах/накладных/и проч. При заполнении строк докумета мне достаточно набрать gp155 (замечу что достаточно набирать маленькими буквами), Нав автоматом подставит номер GP155EP.
Если у меня на GP155 несколько товаров (н-р, GP155EP, GP155EPR и т.д.), тогда, разумеется надо вводить код подлиннее.
Если код не помнишь, тогда вызываешь справочник (тут уже как и в 1С)

Цитата:
Сообщение от _df_ Посмотреть сообщение
я не про скорость работы навижена, я про скорость работы ПОЛЬЗОВАТЕЛЕЙ в навижене.
В 1С, имхо, от пользователя требуется больше щелкать мышкой, чем в Навижн. В Наве може бОльшую часть инфо ввести с клавиатуры (для юзера это удобнее чем щелчки мышкой)
Старый 09.06.2011, 11:27   #20  
_df_ is offline
_df_
Участник
 
13 / 10 (1) +
Регистрация: 08.06.2011
Для того чтобы в Навижн ввести дату, точечки рисовать не нужно, достаточно лишь набрать "значащие" цифры (н-р, 090610 будет оинтерпретировано как 09.06.2010
если дата относится к текущему году, то можно вообще 4 цифры набрать: 0906 - превратится в 09.06.11
или еще проще: h - значит сегодня - и Нав автоматом подставит сегодняшнюю дату - 09.06.11)

спс, не знал. про h спорно, т.к. большинство МОИХ пользователей будут полчаса искать как переключиться на английскую раскладку и еще полчаса где буква h но все равно уже легче

то же и по 2-му пункту. а нет у нава русскобуквенных сокращений для заполнений?
и где можно почитать про "быструю работу в навижн"? подозреваю по незнанию мы плюемся еще от многих вещей

еще раз спасибо
 


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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 01:34.