|
15.12.2010, 12:15 | #1 |
Участник
|
Подскажите, кто в курсе, какие существуют (то, что существуют, я знаю программы, позволяющие хоть как-то скрасить работу программера в Навижн.
Такое ощущение, что C/SIDE придумали люди, люто ненавидящие программистов. Столь неудобную среду для программирования я еще не встречала! Я имею в виду всякие удобства типа: - подсвечивание кода (языковые структуры, служебные функции и т.п.); - вставка языковых структур (н-р, циклов, IF-операторов и проч.) - более удобные средства для маркирования текста (не по-строчно, как в Nav, а отдельное слово, фрагмент кода и т.д.) - помнится была еще такая удобная фича: выделил кусок кода и с помощью кнопочек его можно сдвигать влево-вправо, тем самым структурируя текст или нажал на кнопку и вест выделенные фрагмент будет закомментирован (или, наоборот, снят комментарий) Вариант с {} мне известен, но он неудобный в некоторых случаях; - глобальный поиск (т.е. к примеру мне надо найти по всем модулям где вызывается нужная мне функция, или имя переменной); Ну и самое главное: возможность сравнивать конфигурации ....или хотя бы отдельные объекты (а то, млин, смотрю: один и тот же объект в разных базах - номер версии один и тот же, в Doku ничего не стоит, а даты разные. Ну и как найти отличия!? ;-/ Дебагер, кстати, тоже оставляет желать лучшего |
|
15.12.2010, 13:23 | #2 |
Участник
|
На самом деле это дело привычки.
Подсветки не встречал, кроме как в последней версии. Вставка структур возможна. Но не помню как называются проги.Можно поискать на форуме (было давнооо) или на mibuso. Сам не пользую С маркировкой вроде все в порядке, если маркировать в одной строке. Далее построчно. Для глобального поиска и сравнения версий объектов используется стандартное средство: Developer's Toolkit. Можно скачать с того же Mibuso.com. Требует дополнительной лицензии |
|
15.12.2010, 15:01 | #3 |
Участник
|
Называеться CodeGenius Studio
http://www.codegenius.nl/ Developer's Toolkit for Microsoft Dynamics NAV хорош для глобального поиска |
|
15.12.2010, 15:12 | #4 |
Участник
|
В том же mibuso eсть ещё "CAL Completer".
|
|
15.12.2010, 17:31 | #5 |
Участник
|
Цитата:
Программы для сравнения техтовых файлов (а также Merge!): Araxis Merge (мне очень нравится, но дорогой) или Beyond Compare 3. |
|
16.12.2010, 09:44 | #6 |
Участник
|
Цитата:
Сообщение от Kadawrik
Подскажите, кто в курсе, какие существуют (то, что существуют, я знаю программы, позволяющие хоть как-то скрасить работу программера в Навижн.
Такое ощущение, что C/SIDE придумали люди, люто ненавидящие программистов. Столь неудобную среду для программирования я еще не встречала! В век гламура немногие могут позволить себе такие брутальные средства как NAV! Зато каждая строчка будет выстрадана и весь код отточен и лаконичен, немногословен. Среда разработки как бы призывает программиста не разбрасываться словами, сентиментами, действовать четко и быстро... Меняя характер разработчика мы получаем красивые и логически безупречные куски функционала Для слабых духом есть CAL Complieter, Code Genius Studio. Мне больше понравилась Code Genius Studio помимо того что в ней можно самому делать шаблоны имеется еще менеджер баз, т.е можно включить именно нужную базу с нужной версией NAV, ввести пароль... Единственно что заметил как недостаток "студио" - нужно чтобы английская раскладка клавиатуры стояла по умолчанию для нормальной работы. |
|
16.12.2010, 10:50 | #7 |
Участник
|
Цитата:
Сообщение от prefreitor
[...Зато каждая строчка будет выстрадана и весь код отточен и лаконичен, немногословен. Среда разработки как бы призывает программиста не разбрасываться словами, сентиментами, действовать четко и быстро... Меняя характер разработчика мы получаем красивые и логически безупречные куски функционала...
И где ещё есть такие классные вещи как темповые record-переменные или RecordRef-функциональность? |
|
21.12.2010, 16:38 | #8 |
Участник
|
Мне кажется кнопки TAB достаточно, для структурирования, упорядочивания и лучшего понимания кода. Всё остальное приспособления не "истинных" программистов.
|
|
21.12.2010, 17:18 | #9 |
Administrator
|
имхо, С\AL недоделанный макроязык с ужасными (с точки зрения программинга) ляпами, например, определение переменных.
из сегодняшнего. чего может быть проще? оттестфилдить дату на вхождение в диапазон например: testfield("Posting Date", DateFrom, DateTo) - не работает. ну да и фиг с ним, testfield навовская примочка. но почему не работает конструкция if not "Pisting Date" in [DateFrom..DateTo] then... это ж ДОЛЖНО работать по определению!!! где семейство Controls у форм? доколе перечислять все контролы при любой попытке управлять видимостью\едитабельностью контролов? где управление закладками, например, скрыть? где управление кнопками меню? аскетичный? да. более чем. красивый код? отточен, лаконичен, немногословен? вот тут изо всех сил отнюдь! посмотрите на юниты обработки измерений, хотя бы... в бюджетах измерений 6 штук6 и много раз встречаются вшестеро откопированные куски кода, поскольку обращаться с полями как с объектами, сложновато. да, мы научились обходить тонкие места, но положите руку на причиндалы те, кто до этого хоть в чем-то программировал: МЫ ДЕЛАЕМ КОСТЫЛИ, поскольку нормальные методы программирования не канают. конечно, все имха. |
|
22.12.2010, 09:13 | #10 |
Участник
|
Цитата:
|
|
22.12.2010, 10:53 | #11 |
Moderator
|
Цитата:
Там хотя бы ответят будет ли это исправлено в какой-то дальней версии или лучше не надеятся А тут говорить даже теоритически бесполезно . |
|
22.12.2010, 16:19 | #12 |
Участник
|
Цитата:
Вариант 1 Код: MyDate := 151210D; IF NOT (MyDate IN [011210D..311210D]) THEN ERROR(FORMAT(MyDate)); Вариант 2 Код: MyDate := 150610D; IF NOT (MyDate IN [011210D..311210D]) THEN ERROR(FORMAT(MyDate)); В Вашем варианте конструкция не рабoтает, потому что очевидно DateТо меньше чем DateFrom Вариант 3 Код: MyDate := 151210D; IF NOT (MyDate IN [151210D..141210D]) THEN ERROR(FORMAT(MyDate)); Очевидно в конструкции [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; |
|
09.06.2011, 14:10 | #13 |
Administrator
|
|
|
22.12.2010, 09:52 | #14 |
Участник
|
Возможно первоочередной целью нава всё же была ERP-система и уж потом встроенный язык программирования. На него по всей видимости мало времени оставалось -) решили не заморачиваться.
|
|
22.12.2010, 14:29 | #15 |
Участник
|
Маленький прогресс в 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:31 | #16 |
Участник
|
|
|
08.06.2011, 19:49 | #17 |
Участник
|
а может у майкрософта такая хрень всегда получается потому что их программисты работают на таком же "аскетичном" движке?
prefreitor а может скажете что настоящие все эти удобства на самом деле не прихоть а возможность увеличить эффективность работы в разы если не на порядки! (чего кстати не наблюдаю и в интерфейсе навижена для пользователей, каждая операция в демке по крайней мере делается в несколько раз медленней нежели в 1С) |
|
09.06.2011, 08:06 | #18 |
Участник
|
какой дикий троллинг
речь идет о c/side. эффективность программиста увеличивается на порядки из-за подсветки? гы! интерфейс пользователей != интерфес программиста. про скорость - никогда еще Нав не работал медленнее 1Са. |
|
09.06.2011, 10:40 | #19 |
Участник
|
эффективность программиста увеличивается на порядки из-за подсветки? гы!
вы знаете что такое телепат в 1С 7.7? это автоподстановка команд, объектов конфигурации, свойств этих объектов (причем если объект ааа имеет свойство ххх, а ббб не имеет, начав писать "ааа." телепат предложит дописать ххх, а начав писать "ббб." не предложит (это означает что список выбора довольно мал и выбирать легко и быстро)), создание часто встречающихся конструкция языка (например начав писать "если" телепат предложит создать контструкцию "если ... тогда ... конецесли;"). так вот, за всех утверждать не могу, но лично моя скорость написания кода с телепатом увеличивается в разы. интерфейс пользователей != интерфес программиста. не понял этой фразы. но если уж про интерфейс пользователей, пару вещиц которые меня убивают (может это возможно организовать и по другому, я сужу по демо-базе). 1. Выбор даты. Кто придумал что писать дату руками, да еще и подставляя самому точки в нужных местах 2. В настройках есть такой пункт "Закрывать формы клавишей ESC", возможные значения "Да" или "Нет". но вписать в это поле я могу что угодно, навижн просто не даст сохрать это. я как программист дал бы пользователю выбирать из списка необходимый параметр. и на заполнение этого поля у моего пользователя ушло бы раз в 10 меньше времени. а если бы это поле было в каком нибудь часто используемом документе (например накладной коих у нас до 1000 штук в день)? вот он и проигрыш навижена по времени. про скорость - никогда еще Нав не работал медленнее 1Са. я не про скорость работы навижена, я про скорость работы ПОЛЬЗОВАТЕЛЕЙ в навижене. ps кстати еще один пример немного не в тему вспомнил: в VB для Microsoft Office если не ошибаюсь вплоть до Office 2003 не работало колесо прокрутки у мышки Напрягало очень сильно |
|
09.06.2011, 11:11 | #20 |
Участник
|
Я 6 лет программировала в 1С 7.7
Согласна с вами в том, что в 1С писать код программеру удобнее, комфортнее, приятнее и ... (для меня) быстрее. Но тем не менее попробую высказаться в защиту Нава (хотя Навижн занимаюсь чуть больше полугода) Цитата:
Нажимать лишние кнопочки чтобы выбрать дату из календарика - занимает гораздо больше времени, чем ввод даты в NAV. Для того чтобы в Навижн ввести дату, точечки рисовать не нужно, достаточно лишь набрать "значащие" цифры (н-р, 090610 будет оинтерпретировано как 09.06.2010 если дата относится к текущему году, то можно вообще 4 цифры набрать: 0906 - превратится в 09.06.11 или еще проще: h - значит сегодня - и Нав автоматом подставит сегодняшнюю дату - 09.06.11) Цитата:
Сообщение от _df_
2. В настройках есть такой пункт "Закрывать формы клавишей ESC", возможные значения "Да" или "Нет". но вписать в это поле я могу что угодно, навижн просто не даст сохрать это. я как программист дал бы пользователю выбирать из списка необходимый параметр. и на заполнение этого поля у моего пользователя ушло бы раз в 10 меньше времени. а если бы это поле было в каком нибудь часто используемом документе (например накладной коих у нас до 1000 штук в день)? вот он и проигрыш навижена по времени.
Нав дает выигрыш по времени особенно когда нужно выбирать что-то из большого справочника: тостаточно ввести в поле начальные неск. символов от имени (или кода об"екта). Н-р, у меня есть номерклатура/товар: GP155EP - Grandpiano ля-ля-тополя, который часто используется в счетах/накладных/и проч. При заполнении строк докумета мне достаточно набрать gp155 (замечу что достаточно набирать маленькими буквами), Нав автоматом подставит номер GP155EP. Если у меня на GP155 несколько товаров (н-р, GP155EP, GP155EPR и т.д.), тогда, разумеется надо вводить код подлиннее. Если код не помнишь, тогда вызываешь справочник (тут уже как и в 1С) В 1С, имхо, от пользователя требуется больше щелкать мышкой, чем в Навижн. В Наве може бОльшую часть инфо ввести с клавиатуры (для юзера это удобнее чем щелчки мышкой) |
|