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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.09.2006, 14:54   #1  
bird_imported is offline
bird_imported
Участник
 
45 / 10 (1) +
Регистрация: 11.05.2006
)))
Создаешь временную таблицу, подбери любую, главное чтобы она подходила по твоему первичному ключу (в твоем случае, чтобы у нее в первичный ключ входило поле типа Code нужной длинны) и чтобы в ней было поле типа bool. Дальше, при открытии формы проходишь по всему списку сотрудников и переносишь их коды во временную таблицу. Выводишь в tablebox поле, с переменной временная_таблица.булево_поле
Далее по нажатию кнопки (или по закрытию формы) ставишь фильтр во временной таблице по булеву признаку, и на каждую запись находишь нужного сотрудника и делаешь с ним что хочешь
Старый 11.09.2006, 14:10   #2  
usach is offline
usach
Участник
 
55 / 10 (1) +
Регистрация: 31.08.2005
Цитата:
Сообщение от Bird Посмотреть сообщение
)))
Создаешь временную таблицу, подбери любую, главное чтобы она подходила по твоему первичному ключу (в твоем случае, чтобы у нее в первичный ключ входило поле типа Code нужной длинны) и чтобы в ней было поле типа bool. Дальше, при открытии формы проходишь по всему списку сотрудников и переносишь их коды во временную таблицу. Выводишь в tablebox поле, с переменной временная_таблица.булево_поле
Далее по нажатию кнопки (или по закрытию формы) ставишь фильтр во временной таблице по булеву признаку, и на каждую запись находишь нужного сотрудника и делаешь с ним что хочешь
со временной таблицей не пойму как делается
Например к таблице Employee мне нужен CheckBox и поле типа TextBox, checkBox не расчитывается а нажимается/отжимается на форме, текс так же вносится ручками в форме.

Создаю Временну таблицу TempEmploee. на Form - OnInit()
навешиваю
Код:
IF Employee.FIND('-') THEN
BEGIN
  REPEAT
	TempEmployee.INIT;
	TempEmployee."No." := Employee."No.";
	TempEmployee.INSERT;
  UNTIL (Employee.NEXT = 0)
END;
для TextBox использую поле Birthplace, для CheckBox - Comment.
ввожу какой-нибудь текст в TextBox - перехожу на следующаую запись - он там то же появляется, так же с CheckBox.
как сделать что бы для каждой записи сохранялось собсвенное значение, как совместить перемещение по Таблице с перемещением по TempEmployee?
Старый 11.09.2006, 15:15   #3  
romeo is offline
romeo
Участник
Аватар для romeo
 
564 / 10 (2) +
Регистрация: 31.03.2004
Надо написать две процедуры SetЗначение и GetЗначение. Когда вы вводите текст руками в TextBox нужно загетить запись во временной таблице (если нет - создать, этим будет заниматься GetЗначение()) и прописать в ваше зарезервированное поле введенное пользователем значение. А при хождении по записям на OnAfterGetCurrRecord() формы вызывать GetЗначение. Которая будет гетить (если нет - создавать запись).
Старый 11.09.2006, 22:46   #4  
usach is offline
usach
Участник
 
55 / 10 (1) +
Регистрация: 31.08.2005
Цитата:
Сообщение от romeo Посмотреть сообщение
Надо написать две процедуры SetЗначение и GetЗначение. Когда вы вводите текст руками в TextBox нужно загетить запись во временной таблице (если нет - создать, этим будет заниматься GetЗначение()) и прописать в ваше зарезервированное поле введенное пользователем значение. А при хождении по записям на OnAfterGetCurrRecord() формы вызывать GetЗначение. Которая будет гетить (если нет - создавать запись).
не совсем понял.

когда я ввожу текст, на какой триггер повесить обработку?
и какой код? что-то вроде
Код:
SetValue()
if tempEmployee.GET("No.") Then
  tempEmloyee.modify;
else 
  tempEmployee.insert;
 

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

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

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

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

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