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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.02.2006, 17:12   #1  
mit is offline
mit
Участник
Аватар для mit
 
386 / 36 (2) +++
Регистрация: 15.01.2003
Адрес: Moscow
такой галки нет. связь прописывается в датасорсе формы. снимаете в свойстве подчиненного датасорса ссылку на родительский и все
Старый 08.02.2006, 22:39   #2  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Ну, что, коллеги, всем – спасибо, респект и уважуха!

Подытоживаю сформировавшийся в ходе обсуждения алгоритм, который я выбрал (процесс уже трудится физически на рабочей базе).

Выбран вариант с автоотчетами (с выводом в файл) и с временным разрывом связи между таблицами на форме.

Изменения нужно будет внести в две таблицы и в одну форму. Табличные модификации возвращать в исходное состояние потом необязательно, а вот форму по окончании всего нашего процесса необходимо будет восстановить.

Итак, по шагам (для благодарных потомков):

Вначале разбираемся с полями автоотчетов: мы хотим, чтобы в файл вывелись значения всех полей каждой таблицы, поэтому необходимо поместить в группу полей AutoReport каждой таблицы все ее поля (точнее, вначале проверить и если это не так, то подкорректировать).

1. Выбираем в репозитарии первую (главную) таблицу TmpPurchBookVATProcessLogTrans_RU, т.е. AOT -> Data Dictionary -> Tables -> TmpPurchBookVATProcessLogTrans_RU.
2. В узле этой таблицы раскрываем узел //Field Groups/AutoReport.
3. Удаляем все поля из списка полей AutoReport: выделяем все поля в списке (кликаем на первом поле, потом - с Shift на последнем), далее правокликаем на этом выделении и выбираем "Удалить из проекта".
4. Помещаем заново все поля таблицы из узла //Fields в узел //Field Groups/AutoReport: выделяем все поля и копируем перетаскиванием.

Реорганизуем вновь созданный список полей так, чтобы связующие поля были самыми первыми (или самыми последними). Это исключительно для удобства последующей обработки данных, чтобы не искать эти ключевые поля среди множества других в будущем файле. Из узла //Relations второй (ПОДЧИНЕННОЙ) таблицы TmpPurchBookVATProcessLogTransOper_RU нам становится ясно, что наши таблицы связаны следующим образом по двум полям:
подчиненная.LogTableRefRecId == главная.LogTableRefRecId
подчиненная.RefRecId == главная.BatchRecId

5. Поскольку мы сейчас оформляем главную таблицу, то находим в ее списке полей узла //Field Groups/AutoReport поля LogTableRefRecId и BatchRecId и при помощи клавиш Alt+СтрелкаВверх и Alt+СтрелкаВниз выводим эти поля соответственно на первое и второе место сверху.
6. Сохраняем первую (главную) таблицу TmpPurchBookVATProcessLogTrans_RU
7. Проводим аналогичные манипуляции со второй (подчиненной) таблицей TmpPurchBookVATProcessLogTransOper_RU (уф! какие же длинные названия... где ты, dBase III, c твоими 10-тисимвольными именами? )

С таблицами двумя разобрались. Переходим к форме "Книга покупок (Обработка входящего НДС)": делаем ее резервную копию (на всякий пожарный), после чего временно курочим основной экземпляр.

8. Нашли форму: AOT -> Forms -> PurchBookProcessVAT_RU (репозитарное имя формы нам известно ранее из правоклика на ней в пользовательском интерфейсе и последующей "Настройки").
9. Создали копию: правоклик -> Дублировать. Создалась форма c именем "CopyOf<имя нашей формы>".
10. Вернулись к узлу основного экземпляра (который без префикса "CopyOf") и открыли узел //Data Sources/<узел ПОДЧИНЕННОЙ таблицы>.
11. Стоя на датасорсе подчиненной таблицы открыли "Свойства" (по Alt+Enter или по правоклик -> Свойства).
12. Стерли значение в свойстве JoinSource, тем самым разорвав связь между таблицами на форме. Перед стрианием в этом свойстве было прописано имя ГЛАВНОГО датасорса, которое, кстати, может отличаться от имени главной таблицы, которая этому датасорсу соответствует! - но не переживайте, у нас есть копия формы, в которую мы всегда сможем при необходимости заглянуть, чтобы в будущем правильно восстановить измененное свойство).
13. Сохраняем измененную форму (т.е. основной экземляр).

Подготовительные мероприятия закончены. Покидаем репозитарий, идём запускать расчетный процесс: "Расчеты с поставщиками -> Периодические операции -> Книга покупок -> Обработка входящего НДС -> кнопка "Выбрать" -> задаем параметры -> OK. Дожидаемся окончания процесса расчета и переходим к выводу данных в текстовый файл.

Форму "Книга покупок (Обработка входящего НДС)" пока ни в коем случае не закрываем, иначе расчет придется запускать заново!

14. Встаем на верхнюю (главную) таблицу формы и далее: Файл -> Печать -> Выберите отчет: Автоотчет -> кнопка "Опции" -> Канал вывода: Файл -> Формат вывода: ASCII -> Имя файла: задаем -> OK. Данные главной таблицы выводятся в текстовый файл.
15. Встаем на нижнюю (подчиненную) таблицу формы и повторяем операции по аналогии, задав другое (отличное от первого) имя файла. Данные подчиненной таблицы выводятся во второй текстовый файл.

Цель достигнута - данные для последующего анализа вне Аксапты получены. Переходим к заключительным мероприятиям.

16. Возвращаемся в репозитарий и находим нашу форму PurchBookProcessVAT_RU.
17. Восстанавливаем значение свойства JoinSource в подчиненном датасорсе, при необходимости подсмотрев его значение в копии формы "CopyOf...".
18. Сохраняем форму.
19. Удаляем из репозитария копию формы c именем "CopyOf<имя нашей формы>" (убедившись, что она нам больше не нужна, например, для каких-то других экспериментов).
20. Говорим: "Спасибо, Аксапта!" и переключаемся на свои драгоценные текстовые файлы.
За это сообщение автора поблагодарили: Lemming (2).
Теги
алгоритм, временная таблица, как правильно

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
И снова Query и временные таблицы Def DAX: Программирование 19 08.12.2006 15:46
Временные таблицы должны быть вложенными (inner)... Deep Dreamer DAX: Программирование 14 08.09.2005 16:23
Можно ли вообще сделать JOIN временной таблицы и InventDim??? Maxim Gorbunov DAX: Программирование 9 05.03.2005 10:39
Временные таблицы в отчетах konfet DAX: Программирование 5 19.01.2005 11:32
Временные таблицы в запросе Dron AKA andy DAX: Программирование 4 06.09.2002 12:14

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

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

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