24.07.2015, 06:17 | #1 |
Участник
|
Добрый день, уважаемые и опытные форумчане!
Есть отдельная програмка, в которой юзеры создают товары, спецификации и квоты. Нужно эти товары, спецификации и квоты импортировать в Навижн. Импорт должен идти по расписанию, без участия юзеров. Проблема в том, что Navision4 SP2, и 10 лет назад никто не подумал купить парочку датапортов. Слава Богу, есть 1 кодеюнит. У меня вопросы такие: 1)есть еще какие-то варианты, кроме создания функции в кодеюните, которая будет считывать файл, и делать insert, update, validate и прочее? 2)Если других вариантов нет, то насколько критично такое прямое "запихивание" в базу данных (таблицы Item, Item Unit of Measure, Sales Header, Sales Line)? 3)На что обратить внимание? Буду благодарна за ваши мысли и идеи. |
|
24.07.2015, 10:42 | #2 |
Участник
|
Цитата:
И чем вам не нравится "запихивать" данные кодеюнитом используя валидейты и прочее? |
|
24.07.2015, 12:42 | #3 |
Участник
|
Добрый день,
- "стандартных" датапортов нет? Если есть, то можно их переписать - почему же только кодеюнит, еще репорты есть |
|
24.07.2015, 15:03 | #4 |
Участник
|
Цитата:
2) меня волнует, что я буду писать в базу, минуя датапорты. Кто-то такое реализовывал? Если я правильно помню, случалось, что какой-то триггер не срабатывал или срабатывал не так, когда его писали напрямую в коде. Или написание через репорт и кодеюнит не считается записью напрямую в базу? И там все нормально проходит. |
|
24.07.2015, 15:08 | #5 |
Участник
|
Цитата:
мне не хочется использовать для импорта кодеюнит, потому что там начинаются проблемы с файлами, кодировками, разделителями, а потом обработками каждого поля, которое надо правильно валидейтить. Вот я интересуюсь, может, есть какой-то другой метод? И есть ли кто-нибудь, кто писал из файла напрямую в Навижн, и что у вас после этого получилось? |
|
24.07.2015, 15:26 | #6 |
NavAx
|
Используйте хоть кодъюнит, хоть репорт, хоть форму.
Можно читать стримы, можно общаться с офисными документами (эксель, например), да хоть бинарники разбирайте Заполняя данные в Наве, используйте VALIDATE, INSERT(TRUE), MODIFY(TRUE) Все будет хорошо (рано или поздно)
__________________
"Моей лошадке ядрышком полмордочки снесло..." А.В.Суворов, письма к дочери |
|
24.07.2015, 16:14 | #7 |
Участник
|
Вы серьёзно? Тогда посмотрите ну хотя бы стандартный Codeunit 80, там много "INSERT"-ов и MODIFY. Считается это записью напрямую в базу или не считается, хотя производится из codeunit'a? Вы NAV-программист или что другое?
|
|
24.07.2015, 17:46 | #8 |
Участник
|
Цитата:
Датапорт-то не просто так изобретали. Если бы все было просто с Insert и Modify, все бы это делали направо-налево, но что-то не пишут тут люди, которые это сделали и у них потом все было ок. Хочется избежать ошибок, или по крайней мере минимизировать риск. Дуд, спасибо за подсказку. Фраза "рано или поздно" внушает сдержанный оптимизм AlexB, вам тоже спасибо за идею покопаться в 80 кодеюните. |
|
24.07.2015, 20:09 | #9 |
Administrator
|
имхо, вашей квалификации недостаточно чтобы написать импорт, и при этом "все бы было хорошо".
давайте задачу решать. у нас 2 пути: либо вы начинаете программировать в Nav самостоятельно, читаете мануалы, разбираете куски кода, либо вы ставите задачу так: "вот формат текстового файла с тестовым примером, мне надо чтобы это загружалось в Нав на регулярной основе." и, возможно, кто-то из форумчан за приемлемую денежку для вас это сделает (на вскидку трудозатраты 2-3 часа на само задание + настройка регламентного автозапуска). потому что полноценно проконсультировать вас как программачить в Наве раз в 30 продолжительнее. так что проще озвучить бюджет задачи и наверняка найдутся желающие. |
|