|
![]() |
#1 |
Участник
|
Цитата:
Только Сергей что-то совсем забыл про своих овечек, мирно пасущихся на его форуме. Не собирает их нигде ![]() Отсюда имеем дефицит общения. Именно вербального, а не виртуального. Отсюда же и Kadawrik неверно интерпретирует мои слова и начинает на всякий случай оправдываться с присущей женщинам хитростью ("топик не мой! я тут не при чём" ![]() Kadawrik, я не в коем разе не пытался вас осадить, унизить или уличить в нарушении правила 2.6 (понятия даже не имею, что это) Заряд моего письма хоть и сильный, но ПОЛОЖИТЕЛЬНЫЙ. Мне и вправду любопытен именно сам ваш подход. Он практически уникален. Цитата:
"Я посчитала более простым и удобным вариантом, все свои мелкие возникающие вопросы писать в одной ветке"
![]() Эдакий электронный вариант дамской сумочки. Это как минимум для меня необычно и, следовательно, интересно. Словом, пишите. Здесь все с удовольствием вам ответят. |
|
![]() |
#2 |
Участник
|
Булевое поле в навижене есть ни что иное как то же поле типа Option, только с опциями 0 (нет) и 1 (да), особенно наглядно это видно, если повесить на форме на булевом поле не CheckBox а TextBox. В отличие от Option-поля булевому полю нельзя программным (обычным) путём присвоить любое integer-значение. НО, я как-то побаловался:
окольным путём программно всё же можно запихнуть в boolean и нечто другое чем 0 или 1 (с помощъю recordref), НО с неприятным эффектом: таблицу с изуродованной записью вообще нельзя открыть через RUN, ошибка вылетает и при чтении таблицы в коде. Единственный способ вернуть всё на круги своя: SQL скрипт. Цитата:
В NAV2009 RTC выбор даты мышкой из календарика уже присутствует стандартно. |
|
![]() |
#3 |
Участник
|
да уж, в сторону от программистов ушли
|
|
![]() |
#4 |
Administrator
|
про программистов?
1. для поиска Rec в списке переменных можно нажать x, с этой буквы мало переменных, зачастую сразу позиционируется на xRec, а оттуда на одну вверх или вниз (черти, не могли в формах и таблицах одинакого сделать) и опана! заветная Rec! 2. опшн можно набирать не полностью, например IF "Document Type" = "Document Type"::cr THEN... при компиляции оно само подставит вместо cr Credit Nota 3. c/al (пусть это и не корректно, зато работает) позволяет плевать на проверку уникальности записи при вставке: IF INSERT THEN; если такой записи нет - вставит. если есть - не вставит и не ругнется. дальнейшее развитие: IF NOT INSERT THEN MODIFY; //PLEASE эта строка вообще сбивает программиста другого языка с толку. переводится как "ну сделай уже хоть что-то... ну пожалуйста" 4. часто надо какие-то безумные сочетания проверок делать. удобно использовать CASE TRUE OF condition1 and condition2 and condition3: condition1 and condition2: ELSE END{Case}; в последней строке синтаксис а-ля бейсик, удобно в больших циклах смотреть, что у тебя закончилось, begin-end, case-end{case}, with-end{with} ... |
|
![]() |
#5 |
Участник
|
Kadawrik, все нормально.
|
|
![]() |
#6 |
NavAx
|
5 копеек про облегчение жизни программиста
если пишешь код и особо не помнишь, какие варианты перечислены в option для какой-то переменной (для примера - поле "Document Type" в "Sales Header"), можно сделать следующее: написать что-то вроде SalesHeader."Document Type"::zzz и нажать F11, далее получить сообщение об ошибке с перечнем значений option --------------------------- Microsoft Dynamics NAV --------------------------- 'zzz' не является опцией. Существующие опции: Quote, Order, Invoice, Credit Memo, Blanket Order, Return Order --------------------------- ОК ---------------------------
__________________
"Моей лошадке ядрышком полмордочки снесло..." А.В.Суворов, письма к дочери |
|
![]() |
#7 |
Участник
|
Пара советов для ленивых:
1. Если нужно узнать где используется какое-либо поле - меняем тип поля на несовместимый (с code на integer например), где используется какая либо функция - добавляем доп. параметр, какой либо объект - удаляем его. Далее компилируем проект и смотрим смотрим нескомплирированные объекты. Неленивые могут попробовать на боевой базе. 2. Хотим узнать почему часть данных при ошибке залезла в базу и где все-таки вылезает злосчастный commit? Нужно защитить критичный код от косяков неопытного коллеги? Добавляем anytable.consistent(false) до вызова проблемного кода и anytable.consistent(true) после. |
|
![]() |
#8 |
Administrator
|
а можно чуть подробнее? интересно
|
|
![]() |
#9 |
Участник
|
|
|
![]() |
#10 |
Участник
|
Мои пять копеек.
1) Маркировка записей быстро работает только с главным ключем. 2) В коде, при указании ключа, можно указать первые несколько полей, остальные программы выберет сама. При наличии похожих ключей нужно указывать все значащие поля. 3) обязательно поймете принцип работы с табличками integer(используется в печатных отчетах) и Date. |
|