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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.07.2017, 12:35   #21  
AfterEarth is offline
AfterEarth
Участник
 
12 / 10 (1) +
Регистрация: 13.07.2017
Адрес: Санкт-Петербург
Цитата:
Сообщение от ta_and Посмотреть сообщение
Абсолютно согласен.
Извращаться для себя чисто в образовательном плане можно сколько угодно.
Но если это делать в рабочем приложении... то это жесть.

Попробуйте сделать нормальную постановку задачи и тогда будет видно грамотное архитектурное решение без всяких чесаний инсертов через ранбуф.
  1. Есть N выгрузок файлов в разных форматах - DBF,TXT,XLS для клиентов
  2. Сейчас на каждую выгрузку своя процедура создания файла и вставки строки.
  3. Я переделываю на универсальную выгрузку по 3 типам - TXT, DBF, XLS
  4. Названия полей и их типы теперь в таблице БД и по именам полей создаются файлы с нужными именами и типами полей
Кроме самих полей есть ещё данные, которые выбираются в переменные класса
Нужно сопоставить в какое поле какой выгрузки выгружать данную переменную.
Пример:
Имена полей CODE, KOD, PR_CODE, Код товара должны заполняться из переменной productCode
Имена полей 'CODEKONT, K_CODE, Код контрагента должны заполняться из переменной clientCode
в зависимости от типа и формата выгрузки.
Нужна процедура, генерирующая запрос на вставку в файл с подстановкой полей и переменных класса, без описания через map, например, всех полей и переменных, как мне писали выше.
Пока придумал занести в таблицу кроме имён полей, типов и формата выгрузки ещё их физ смысл - код контрагента, код товара, производитель, etc. , а эти сущности описать в классе через map и подставлять из него.
Старый 17.07.2017, 12:41   #22  
AfterEarth is offline
AfterEarth
Участник
 
12 / 10 (1) +
Регистрация: 13.07.2017
Адрес: Санкт-Петербург
Цитата:
Спасибо большое-посмотрю! Похоже тоже может быть полезно!
Старый 17.07.2017, 12:45   #23  
AfterEarth is offline
AfterEarth
Участник
 
12 / 10 (1) +
Регистрация: 13.07.2017
Адрес: Санкт-Петербург
Цитата:
Сообщение от dech Посмотреть сообщение
Поскольку не очень понятно, что вы пытаетесь сделать, опубликуйте здесь часть вашего кода. А мы подправим, или направим на путь истинный.
P.S. Посмотрите также в сторону AIF. Об этом можно почитать в книге "MS Dynamics AX 4.0 Справочник профессионала".
Спасибо большое! Сейчас посмотрю книгу. По коду-сейчас попробую сделать через связь типов полей (физ. смысл) и полями. Если не будет получиться, то напишу.
Старый 18.07.2017, 14:40   #24  
online
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от AfterEarth Посмотреть сообщение
Нужна процедура, генерирующая запрос на вставку в файл с подстановкой полей и переменных класса, без описания через map, например, всех полей и переменных, как мне писали выше.
Присоединяюсь к предыдущим сообщениям о том, что Вы занимаетесь программированием ради программирования. У Вас сам подход к программированию не корректен. Даже в клиппере ТАК делать не стоит

На примере таблицы DBF имеем следующую задачу:

1. Есть таблица, структура которой в каждой конкретной выгрузке своя
2. Значения для заполнения полей в каждой конкретной выгрузке вычисляются по своему

Т.е. в каждой конкретной выгрузке Вы формируете уникальную (отличную от других выгрузок) команду INSERT-SQL.

Вы же хотите (точнее, к этому придете. Пока Вы это явно не сформулировали) вместо явного написания этой самой команды Insert-SQL сделать следующее

1. Организовать некие правила сопоставления полей и выражений для их вычисления (комплекс настроечных таблиц)
2. На основании этих правил "автоматически" конструировать команду Insert-SQL

Теоретически, это возможно. В Ax3.0 посмотрите функционал "Российской Финансовой Отчетности". Там выгрузка в Excel по именованным ячейкам, но, по сути, это мало чем отличается от того, что Вы хотите. Ну, и попробуйте настроить парочку отчетов в этом функционале. Причем вручную

Просто не стоит "овчинка выделки". Трудозатраты на создание и поддержание данного комплекса будут очень большие, а смысла особого нет
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
За это сообщение автора поблагодарили: S.Kuskov (2).
Старый 19.07.2017, 07:45   #25  
mdanko2000 is offline
mdanko2000
Участник
 
44 / 40 (2) +++
Регистрация: 21.04.2014
;)
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
Просто не стоит "овчинка выделки". Трудозатраты на создание и поддержание данного комплекса будут очень большие, а смысла особого нет
Не соглашусь.
Для себя разрабатывали нечто подобное, выгружает в txt и xls. Другие форматы никого не интересовали. Базовый функционал был написан за 1 неделю, потом уже шло допиливание хотелок.
Здесь же не нужны сложные формы, структура всегда в виде таблицы. В экселе настраивать ничего не надо. Данные берутся из запроса, который настраивается визуально (пришлось допилить стандартный построитель, чтобы можно было указывать тип связи между таблицами).
Выбрали таблицы, указали связи, условия выборки, указали какие поля выводить и в какой последовательности. ВСЁ! Простейшая выгрузка настраивается за 5 минут.
Если запрос не устраивает можно выгрузить данные из класса возвращающего контейнер.
Старый 19.07.2017, 20:33   #26  
online
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от mdanko2000 Посмотреть сообщение
Не соглашусь.
Для себя разрабатывали нечто подобное, выгружает в txt и xls. Другие форматы никого не интересовали. Базовый функционал был написан за 1 неделю, потом уже шло допиливание хотелок.
(...)
Простейшая выгрузка настраивается за 5 минут.
Подозреваю, что создание класса этой самой "простейшей выгрузки" через copy+paste + мелкие доработки займет те же 5 минут. Но! Без дополнительной "обвязки", которую Вы неделю разрабатывали, а потом еще и "допиливали".

Но проблема даже не в этом, а в том, кто, собственно, занимается настройкой-то этих выгрузок? Сильно сомнительно, что это работа пользователей. Скорее всего, это опять же работа программиста. Т.е. просто поменяли шило на мыло. То же самое программирование, просто другим способом. С дополнительными "приседаниями"
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
Старый 20.07.2017, 07:47   #27  
mdanko2000 is offline
mdanko2000
Участник
 
44 / 40 (2) +++
Регистрация: 21.04.2014
Возможно. Но зато все эти выгрузки лежат теперь в одном месте и нет необходимости шарится по AOT и плодить новые однообразные классы/джобы.
К тому же эта функциональность очень облегчила работу (массового экспорта и сверки данных) во время миграции на другую систему учета.

Мне думается если программист не хочет облегчить работу даже себе, то он явно занимается не своим делом.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
где хранятся значения полей удаленных строк? chanchala DAX: Программирование 16 04.09.2008 10:45
Присвоение значения полю активной записи по его имени HorrR DAX: Программирование 9 06.06.2008 12:13
Теряются данные при переносе с 3-ки на 4-ку Stella DAX: Администрирование 8 20.02.2008 19:26
Как получить значения полей (modifiedDate, modifiedTime, modifiedBy и др.) при работе с объектами AOT типа Map? LRA DAX: База знаний и проекты 15 02.04.2007 13:37
Вставка значения container в план запроса SQL mit DAX: Программирование 4 24.11.2005 18:42

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

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

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