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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.04.2014, 20:56   #1  
Tanya_Lo is offline
Tanya_Lo
Участник
 
23 / 10 (1) +
Регистрация: 23.03.2014
Доброго времени суток.
Помогите, пожалуйста, разбраться с синтаксисом. Ситуация такая : на странице редактируется запись, по окончанию редактирования нажимаем кнопку - часть информации должна попасть в дргую таблицу.
На с# можно простым запросом insert into Таблица ..... И необходимые данные сохранены.
Как в Навижене это реализуется? Поделитесь примером,есть демо версия, но там все "наворчено", не понятно.
Старый 13.04.2014, 09:12   #2  
Constantine_imported is offline
Constantine_imported
Участник
 
126 / 10 (1) +
Регистрация: 28.04.2011
Татьяна, вам уже неоднократно советовали почитать документацию, попробуйте, реально помогает. Давайте я вам помогу ссылками. Проштудируйте этот раздел, конкретно по программированию рекомендую эту книгу. Там все про старые версии, но общий смысл все равно поймете. Единственное что можете вообще не читать, это про отчеты, т.к. классических отчетов в NAV 2013 нет.
Теперь непосредственно по вашему вопросу, данные в другую таблицу можно записать примерно так:

Код:
Table2.INIT;
Table2.Field10 := Table1.Field1;
Table2.Field11 := Table1.Field2;
...
Table2.INSERT(TRUE);
Можете присвоением заполнить только ключевые поля, сделать вставку и отвалидейтить (VALIDATE) остальные нужные поля, так будет правильней, потому что выполнится код на триггерах OnValidate во вставляемой таблице. Если поля таблиц у вас полностью совпадают и нужно просто продублировать запись в другую таблицу, используйте TRANSFERFIELDS. Если хочется решить задачу именно с помощью SQL, то вам прямая дорога сюда или сюда, хотя может новая версия Нав имеет какие-то свои механизмы взаимодействия с SQL.
Старый 14.04.2014, 13:33   #3  
Tanya_Lo is offline
Tanya_Lo
Участник
 
23 / 10 (1) +
Регистрация: 23.03.2014
Цитата:
Сообщение от Constantine Посмотреть сообщение
Татьяна, вам уже неоднократно советовали почитать документацию, попробуйте, реально помогает. Давайте я вам помогу ссылками. Проштудируйте этот раздел, конкретно по программированию рекомендую эту книгу. Там все про старые версии, но общий смысл все равно поймете. Единственное что можете вообще не читать, это про отчеты, т.к. классических отчетов в NAV 2013 нет.
Теперь непосредственно по вашему вопросу, данные в другую таблицу можно записать примерно так:

Код:
Table2.INIT;
Table2.Field10 := Table1.Field1;
Table2.Field11 := Table1.Field2;
...
Table2.INSERT(TRUE);
Можете присвоением заполнить только ключевые поля, сделать вставку и отвалидейтить (VALIDATE) остальные нужные поля, так будет правильней, потому что выполнится код на триггерах OnValidate во вставляемой таблице. Если поля таблиц у вас полностью совпадают и нужно просто продублировать запись в другую таблицу, используйте TRANSFERFIELDS. Если хочется решить задачу именно с помощью SQL, то вам прямая дорога сюда или сюда, хотя может новая версия Нав имеет какие-то свои механизмы взаимодействия с SQL.
Спасибо!
Старый 14.04.2014, 22:52   #4  
Sancho is offline
Sancho
Administrator
Аватар для Sancho
Лучший по профессии 2017
Лучший по профессии 2009
 
1,294 / 221 (10) ++++++
Регистрация: 11.01.2006
Татьяна, "спасибо" на форуме можно оформить в виде плюсика к репутации. Он живет в нижнем правом углу сообщения, что Вам помогло.


 


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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 11:28.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.