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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 18.08.2010, 19:12   #1  
flov_imported is offline
flov_imported
Участник
 
42 / 10 (1) +
Регистрация: 05.06.2010
Хочу добавить запись в таблицу.
Т.е. ввожу в TextBox запись и дальше с помощью модифая в таблицу.
При этом ругается на месте модифая и выдает ошибку.
пишу Table.LockTable все равно не хочет изменять, останавливается
на Table.Locktable и выдает ту же ошибку.
Как справиться?
Старый 19.08.2010, 12:55   #3  
flov_imported is offline
flov_imported
Участник
 
42 / 10 (1) +
Регистрация: 05.06.2010
Это типа ответ???
Старый 19.08.2010, 15:40   #4  
romeo is offline
romeo
Участник
Аватар для romeo
 
564 / 10 (2) +
Регистрация: 31.03.2004
Цитата:
Сообщение от flov Посмотреть сообщение
Это типа ответ???
Без обид, но это ответ ) Просто ваши вопросы говорят о слабом уровне подготовки, близком к началу.
Кстати, ошибки навижен может быть коряво выглядят, но вполне информативны. То, которое привели вы тому пример.
Да, из того триггера формы (поля), где вы разместили MODIFY он (навижен) не может сделать изменения в базе. Попробуйте переместить в другой триггер формы (а лучше таблицы. если вы пишете какую-то общую логику работы). И не используйте так часто команды типа LOCKTABLE. Учетные юниты - да. Остальное от лукавого.
Старый 19.08.2010, 16:13   #5  
flov_imported is offline
flov_imported
Участник
 
42 / 10 (1) +
Регистрация: 05.06.2010
LOCKTABLE вообще не использовал. решил засунуть, потому что ругается.
хотя тоже не помогло.
проблему решил, переместив код в другой триггер.

кстати, на счет той книги. что-то не нашел там такого рода советы
и всякого рода там ограничения на триггеры.
а про LOCKTABLE там вообще две строчки, без всяких примеров.
вообще считаю что это овратительный справочник, хотя других то и нет.
поэтому и сижу на форуме.
Старый 19.08.2010, 19:28   #6  
apanko is offline
apanko
MCTS
MCBMSS
Лучший по профессии 2009
 
1,164 / 139 (7) +++++
Регистрация: 24.02.2005
Цитата:
Сообщение от flov Посмотреть сообщение
Хочу добавить запись в таблицу.
Т.е. ввожу в TextBox запись и дальше с помощью модифая в таблицу.
При этом ругается на месте модифая и выдает ошибку.
пишу Table.LockTable все равно не хочет изменять, останавливается
на Table.Locktable и выдает ту же ошибку.
Как справиться?
Добавить данные в таблицу.

1. Програмно, например из кодеюнита.
rItem.INIT; // инициировали переменную типа рекорд с субтипом товар.
rItem."No." := '1999'; //заполнили ключевое поле
rItem.Description := 'New item'; //заполнили прочие поля
rItem.INSERT(TRUE); //вставили запись в таблицу.


2. через форму.
2.1. форма связана с таблицей (свойство TableRelation заполнено).
Для вставки новой записи - щелкнуть F3
Заполнить поля (например в текстбоксах. тексбоксы должны быть связаны с полями таблицы)
Перейти на следующую запись - информация будет сохранена в базе.
Програмировать ничего не нужно.

2.2. несвязанная форма.
Информацию вводят в переменную (через текстбокс). далее вставляют в таблицу.
rItem.INIT; // инициировали переменную типа рекорд с субтипом товар.
rItem."No." := ''; //для товаров поле Но. можно не заполнять - в этом случае оно будет заполнено автоматически из серии номеров.
rItem.Description := tDescription; //заполнили поле описание из переменной (указанный выше Текстбокс).
rItem.INSERT(TRUE); //вставили запись в таблицу.

Куда вставлять код? Например на отдельную кнопку в триггер онПуш. Если хочется больше выбирайте подходящий триггер и вперед. Кстати в онлайн хелпе указывается можно ли производить вставку из триггера или нет.

Локтейбл здесь не нужен.
Для вставки записей используется Инсерт, а не Модифай. Модифай записи изменяет.



PS. Если не нравится книга на русском, благодаря которой научилась програмировать прорва народу, то берите книгу Марка или Девида Студебеккера или Ройза+Бабича или стандартные треннинги. Благо литературы сейчас хватает. Если хотите научиться программировать, то прочесть что-нибудь все же придется.
Старый 20.08.2010, 10:54   #7  
flov_imported is offline
flov_imported
Участник
 
42 / 10 (1) +
Регистрация: 05.06.2010
Спасибо за развернутый ответ.
Но я не просил отвечать на столь очевидные вещи.
Мне надо просто было изменять значения в полях.
Код выдавал ошибку при изменения значения в TextBox е, которое в таблицу записывалось.

вот и был вопрос как исправить.

оказалось, надо было в другой триггер записать.
ну не знал что не все триггеры одинаково реагируют на код.

PS да данная книга не очень понравилась своим изложением.
посмотрю предложенные Вами. Спасибо
Старый 20.08.2010, 11:07   #8  
romeo is offline
romeo
Участник
Аватар для romeo
 
564 / 10 (2) +
Регистрация: 31.03.2004
Цитата:
Сообщение от flov Посмотреть сообщение
вот и был вопрос как исправить.
Обратите внимание на то, что в вашем случае (хотя я не знаю задачи) писать код по модификации данных на триггере текстбокса наверняка не нужно. Был предложен вариант создать форму на таблице и тогда ничего кодить не нужно - модификация текстового поля будет менять соответствующее поле в таблице. А если появилась такая необходимость может быть сделать кнопку, один раз нажав на которую звать процедуру заполнения полей в таблице значениями контролов на форме и вставки/модификации данных.
Старый 15.09.2010, 13:58   #9  
Vanek is offline
Vanek
Участник
 
7 / 10 (1) +
Регистрация: 01.08.2008
Господа как тернист путь Navision может подтвердить каждый. Я видел как опытным программерам Nav не ложился на душу и они переставали им заниматься.
Это констотация сложности начала в данной среде. Если есть потребность в стандартных доках по Nav в pdf. то в личку.
 


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

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

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