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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.04.2005, 18:37   #1  
Red Stranger is offline
Red Stranger
Участник
 
102 / 19 (1) ++
Регистрация: 01.04.2005
Подскажите чего надо сделать
На таблице я создал метод InventSerialNum, который возвращает будущее значение поля, вставляемой записи. При перекрытии метода initValue мне надо вставить запись, но
проблемы в том:

1) в методе initValue я не могу вызвать InventSerialNum, т.к. компилятор говорит что функция не была определина.

2) в InventSerialNum используется значение поля ItemId создаваемой записи =>
я не могу вызвать InventSerialNum пока не создам запись => надо вызывать
когда уже есть ItemId
Старый 01.04.2005, 18:41   #2  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Re: Подскажите чего надо сделать
Цитата:
Изначально опубликовано Red Stranger
При перекрытии метода initValue мне надо вставить запись....
а почему именно в initValue? почему не в insert? Или еще позже...

С Уважением,
Георгий.
Старый 01.04.2005, 18:46   #3  
Tretyakov Igor is offline
Tretyakov Igor
Участник
 
16 / 10 (1) +
Регистрация: 26.05.2004
Адрес: г.Киев
Напиши, что конкретно тебе надо сделать!

По-моему, то что ты хочешь надо делать в insert на таблице!?!?
Старый 02.04.2005, 13:07   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Re: Подскажите чего надо сделать
Цитата:
Изначально опубликовано Red Stranger
т.к. компилятор говорит что...
Подождите.

У парня две проблемы:
1. логическая - как и в какой момент взять значение
2. как скомпилировать

сейчас главный вопрос - про компилятор.
Red Stranger, вы создали метод, но еще не записали его. Поэтому компилятор не может скомилировать другие методы, которые вызывают ваш новый метод.

Что делать:
1. в вашем новом методе закоментируйте все строчки
2. откомпилируйте его
3. затем откопилируйте метод initValue
4. раскомментируйте строчки в InventSerialNum

С формальностями покончили. Теперь по поводу смысловой части.
Вы делаете неправильно. Слушайте что вам посоветовали. Разберитесь с нумераторами.
Старый 04.04.2005, 10:29   #5  
Red Stranger is offline
Red Stranger
Участник
 
102 / 19 (1) ++
Регистрация: 01.04.2005
3. В таблицу «Серийные номера» (InventSerial) добавить поля «Заводской серийный номер» (20 символов) и «ОС» (RAssetId). Добавленные поля разместить на соответствующей форме (InventSerial), при этом поле «ОС» не должно редактироваться вручную.
4. Создать механизм автоматической нумерации серийных номеров. Нумерация определяется по следующему принципу: первые 7 символов – код номенклатуры (первые 7 символов кода), оставшиеся 13 – автоматическая нумерация системой:
a. В таблицу InventSerialможно добавить поле MaxSerialNum для хранения максимального номера (без учета 7 символов кода номенклатуры).
b. Создать метод таблицы InventSerialNum, заполняюший значение поля InventSerialId, исходя из требований п.4., использовать поле InventTable.MaxSerialNum. Проверить созданный номер на уникальность. При необходимости увеличить значение поля MaxSerialNum, повторить процедуру. Это необходимо, поскольку изменения будут подгружаться в существующую базу.
c. При записи новой строки в таблицу InventSerialId:
i. Если номер не уникальный, отменить запись, выдать сообщение, присвоить новый номер.
ii. Увеличить значение MaxSerialNum. Увеличение значение поля должно производится в одной транзакции с записью строки.
d. Метод, созданный в п. (b), должен отрабатывать:
i. При создании новой строки (если номенклатура заранее известна – см. примечание 2)
ii. При выборе номенклатуры.
Старый 04.04.2005, 10:55   #6  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Хм. я бы так с кандачка не рубил....

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

С Уважением,
Георгий.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Курсор перешел к следующей записи на клиенте, на сервере этого сделать уже нельзя PavelSR DAX: Программирование 22 01.11.2012 07:33
Как сделать управленческий и финансовый учет? ans DAX: Прочие вопросы 32 10.05.2009 12:47
Не срабатывает метод clicked у WebCheckBox (а надо сделать чтобы в заисимости от значения WebCheckBoxa другой компонент был enabled или disabled) rkorchagin DAX: Программирование 8 11.07.2008 10:37
Подскажите с Binary sparur DAX: Программирование 13 23.07.2007 15:13
Подскажите с чего начать moid DAX: Программирование 12 09.02.2007 10:20

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

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

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