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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.04.2005, 17:32   #1  
yd_ is offline
yd_
Участник
 
62 / 10 (1) +
Регистрация: 24.01.2005
Здравствуйте!
Пишу следующий код:

GenJournal.RESET;
GenJournal.SETRANGE("Journal Template Name", 'ОБЩИЙ');
GenJournal.SETRANGE("Journal Batch Name", 'ДВИЖТОВ');
GenJournal.INIT;
GenJournal.VALIDATE ("Journal Template Name", 'ОБЩИЙ');
GenJournal.VALIDATE ("Journal Batch Name", 'ДВИЖТОВ');
...
GenJournal.VALIDATE ("Line No.", CurLineNo * 10000);
GenJournal.INSERT (TRUE);

где
GenJournal : Record "Gen. Journal Line" (#81)

Как сделать чтобы следующий Document No. ставился автоматически? В каком триггере или процедуре устанавливается новый номер записи финансового журнала? Кстати, где устанавливается Line No.? Я сделал счетчик, но хотелось бы воспользоваться стандартными средствами.

Заранее спасибо.
Старый 21.04.2005, 17:46   #2  
Yoil is offline
Yoil
NavAx
NavAx Club
Лучший по профессии 2017
Лучший по профессии 2009
 
1,574 / 70 (6) ++++
Регистрация: 20.11.2002
Адрес: Msk
Номер документа устанавливается в функции SetUpNewLine таблицы 81, судя по всему.
"Line No." устанавливается через свойство AutoSplitKey формы 39.

Это навскидку, глубоко не копал.
__________________
"Моей лошадке ядрышком полмордочки снесло..."
А.В.Суворов, письма к дочери
Старый 21.04.2005, 18:02   #3  
yd_ is offline
yd_
Участник
 
62 / 10 (1) +
Регистрация: 24.01.2005
Цитата:
Сообщение от Дуд
"Line No." устанавливается через свойство AutoSplitKey формы 39.
Устанавливаться то оно устанавливается, как при ПРОГРАМНОМ добавлении записи заставить добавлять к предыдущему 10000? Кстати, почему автоматически добавляется именно 10000?

Как устанавливается новый номер вроде понятно. Спасибо.
Старый 22.04.2005, 08:51   #4  
Yoil is offline
Yoil
NavAx
NavAx Club
Лучший по профессии 2017
Лучший по профессии 2009
 
1,574 / 70 (6) ++++
Регистрация: 20.11.2002
Адрес: Msk
При программном - "Line No." += 10000;
Почему именно 10000 - вопрос к компании Navision (если такая есть еще). Так уж у них повелось
__________________
"Моей лошадке ядрышком полмордочки снесло..."
А.В.Суворов, письма к дочери
Старый 22.04.2005, 11:16   #5  
SVG is offline
SVG
Участник
 
201 / 10 (1) +
Регистрация: 15.11.2004
Цитата:
GenJournal.VALIDATE("Journal Template Name", 'ОБЩИЙ');
GenJournal.VALIDATE("Journal Batch Name", 'ДВИЖТОВ');

за константы в коде предлагаю расстреливать на месте...
Старый 22.04.2005, 15:04   #6  
yd_ is offline
yd_
Участник
 
62 / 10 (1) +
Регистрация: 24.01.2005
Цитата:
Сообщение от SVG
за константы в коде предлагаю расстреливать на месте...
Совершенно с Вами согласен - просто к Navision еще не привык. Кстати, сразу вопрос: как в Navision лучше описывать нестроковые константы?
Старый 22.04.2005, 15:09   #7  
SVG is offline
SVG
Участник
 
201 / 10 (1) +
Регистрация: 15.11.2004
Нестроковые - это какие например?
Старый 22.04.2005, 15:16   #8  
yd_ is offline
yd_
Участник
 
62 / 10 (1) +
Регистрация: 24.01.2005
Типа Integer, например. Такое часто бывает, что какая-нибудь цифра 4 во всех местах кода, где она используется, означает одно и то же - количество членов некоторой группы, например. Было бы логично задекларировать константу GroupMembersNum := 4;
Старый 22.04.2005, 15:18   #9  
Yoil is offline
Yoil
NavAx
NavAx Club
Лучший по профессии 2017
Лучший по профессии 2009
 
1,574 / 70 (6) ++++
Регистрация: 20.11.2002
Адрес: Msk
Вообще более целесообразно количество членов группы хранить где-нибудь в настройках, а то и вовсе оно является, скажем, COUNT от какой-нибудь таблички
__________________
"Моей лошадке ядрышком полмордочки снесло..."
А.В.Суворов, письма к дочери
Старый 22.04.2005, 15:22   #10  
SVG is offline
SVG
Участник
 
201 / 10 (1) +
Регистрация: 15.11.2004
Все равно не понял о чем речь. Если можно - пример.
Вообще все констаты надо выносить в настройки. Создавать поле в таблицах 311-313 и иже с ними, выводить на соотв. формы и использовать везде где нужно.

Процедурное программирование рулит...
Старый 22.04.2005, 15:37   #11  
Yoil is offline
Yoil
NavAx
NavAx Club
Лучший по профессии 2017
Лучший по профессии 2009
 
1,574 / 70 (6) ++++
Регистрация: 20.11.2002
Адрес: Msk
Собственно, в Навыжне константы используются для вывода сообщений об ошибке, конфирмов и прочих диалогов. Поэтому только текстовые константы и предусмотрены...
__________________
"Моей лошадке ядрышком полмордочки снесло..."
А.В.Суворов, письма к дочери
Старый 22.04.2005, 15:47   #12  
SVG is offline
SVG
Участник
 
201 / 10 (1) +
Регистрация: 15.11.2004
Это (константы в сообщениях) кстати сделано с одной целью - добиться мультиязычности. К правилам хорошего программирования это имеет отдаленное отношение....

ЗЫ прикольно, сидим с ДУДом на расстоянии метра друг от друга и в инете переписываемся... 21й век емае...
Старый 22.04.2005, 15:50   #13  
Yoil is offline
Yoil
NavAx
NavAx Club
Лучший по профессии 2017
Лучший по профессии 2009
 
1,574 / 70 (6) ++++
Регистрация: 20.11.2002
Адрес: Msk
SVG, я тебе ща еще и позвоню для полного комфорта
__________________
"Моей лошадке ядрышком полмордочки снесло..."
А.В.Суворов, письма к дочери
Старый 25.04.2005, 10:52   #14  
yd_ is offline
yd_
Участник
 
62 / 10 (1) +
Регистрация: 24.01.2005
С количеством членов группы пример неудачный - согласен. Другой пример - число pi (правда, она скорее Decimal, нежели Integer). Или любая другая вселенская константа, которая может понадобиться при каких-нибудь статистических расчетах - как с этим быть? Я хочу сказать, что вряд-ли можно ВСЕГДА обойтись без нетекстовых констант.
Старый 25.04.2005, 11:21   #15  
Yoil is offline
Yoil
NavAx
NavAx Club
Лучший по профессии 2017
Лучший по профессии 2009
 
1,574 / 70 (6) ++++
Регистрация: 20.11.2002
Адрес: Msk
Заведите табличку "Вселенские константы" с полями "Ключ", "Пи", "е", "постоянная Планка" и "скорость света в вакууме" и пишите свои константы туда.
__________________
"Моей лошадке ядрышком полмордочки снесло..."
А.В.Суворов, письма к дочери
Старый 25.04.2005, 11:54   #16  
Kirvisniemi is offline
Kirvisniemi
Moderator
 
342 / 13 (1) ++
Регистрация: 21.12.2004
Цитата:
за константы в коде предлагаю расстреливать на месте...
Почему?
Старый 25.04.2005, 11:59   #17  
SVG is offline
SVG
Участник
 
201 / 10 (1) +
Регистрация: 15.11.2004
Потому что через месяц бухалтер захочет чтоб у него эти проводки были в отдельном разделе с отдельной нумерацией, и программист будет лопатить все приложение в поисках этих своих "ОБЩИХ"
Хорошо если это будет тот же программист, который написал это - он и знает где писал, и вообще сам накосячил - сам исправляй.
А если другой? Что ему - по тулкиту все искать и править?
А давайте еще отчетов слабаем с десяток на этом финжурнале?
Или давайте во всех счетах-фактурах выводить ИНН константой...

Или это типа развод на пустой флейм?
Старый 25.04.2005, 12:12   #18  
yd_ is offline
yd_
Участник
 
62 / 10 (1) +
Регистрация: 24.01.2005
Больщое спасибо! Собственно, это мне и нужно былознать - какой способ наиболее естественен для Navision. Есть, конечно, более простой способ:

pi := 3.1415....;

Правда, никаких спецификаторов const не предусмотрено, но, я думаю, покатит.
Старый 25.04.2005, 12:15   #19  
SVG is offline
SVG
Участник
 
201 / 10 (1) +
Регистрация: 15.11.2004
ну вселенские константы можно и не забивать в настройки я думаю... они точно никогда не изменятся - и не со слов бухалтера, а это типа основы мироздания

а вот раздел и код шаблона журнала, код какойнить группы в товаре например - типа при учете ЗПр если товар бренд PANAS, то проверить цену на соотв. чемунить... - это все точно в настройки.
Старый 25.04.2005, 12:17   #20  
Yoil is offline
Yoil
NavAx
NavAx Club
Лучший по профессии 2017
Лучший по профессии 2009
 
1,574 / 70 (6) ++++
Регистрация: 20.11.2002
Адрес: Msk
Если это самое pi нужно только в одном объекте - можно и так.
А если в десятке объектов (константа-то Вселенская!), то опять же проще в табличку записать.
__________________
"Моей лошадке ядрышком полмордочки снесло..."
А.В.Суворов, письма к дочери
 

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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