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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.01.2007, 13:04   #1  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,715 / 1204 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от DTD Посмотреть сообщение
1. Сделать отдельную таблицу с полями: требуемый ID и какой нибудь уникальный идентификатор сессии. Просто писать только одно значнеие на сессию.
Вы запустили процедуру импорта первый раз - все замечательно.

Затем, не выходя из AXAPTA, находясь в той же сессии, запустили процедуру импорта еще раз.

И вот тут-то и проблема. Все идентификаторы те же самые, но импорт ДРУГОЙ. Нужен НОВЫЙ код. А Вы возьмете старое значение из того, что было сохранено.

Цитата:
Сообщение от DTD Посмотреть сообщение
2. Этот код хранится в таблице в виде текста, возможно можно модифицировать его, меняя константу там перед вызовом цикла обработчика записай. . Таблица выглядит так как будто запись создается для каждого запуска импорта, т.е. конфликтов не должно быть.
Т.е. каждая запись будет иметь свой идентификатор? Генерация кода происходит для каждой записи в отдельности или для всей процедуры импорта (всех записей) одного файла Excel?
Старый 26.01.2007, 13:48   #2  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2494 (89) +++++++++
Регистрация: 20.08.2005
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
Вы запустили процедуру импорта первый раз - все замечательно.

Затем, не выходя из AXAPTA, находясь в той же сессии, запустили процедуру импорта еще раз.

И вот тут-то и проблема. Все идентификаторы те же самые, но импорт ДРУГОЙ. Нужен НОВЫЙ код. А Вы возьмете старое значение из того, что было сохранено.
По моему, здесь остается единственный вопрос - сброс сохраненного значения перед началом импорта (или после окончания).

В общем-то, для этого можно воспользоваться тем же классом Info - добавить в обработчик таймера (addTimeOut) свой класс, в котором сбрасывать сохраненный параметр. Параметр idle = true. Время срабатывания - минимальное.

Схема работы будет такая.
Сохраняем требуемый нам параметр и идентификатор таймера.
При запуске проверяем, что парамерт не установлен устанавливаем его. Запускаем таймер. Значение таймера сохраняем так же как параметр. Если при запуске таймер установлен, сбрасываем его.

В результате, как только импорт отработает, запустится метод по таймеру и сбросит сохраненный параметр.
__________________
Axapta v.3.0 sp5 kr2
Старый 26.01.2007, 15:27   #3  
DTD is offline
DTD
Участник
 
183 / 18 (1) ++
Регистрация: 09.08.2005
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
Вы запустили процедуру импорта первый раз - все замечательно.

Затем, не выходя из AXAPTA, находясь в той же сессии, запустили процедуру импорта еще раз.

И вот тут-то и проблема. Все идентификаторы те же самые, но импорт ДРУГОЙ. Нужен НОВЫЙ код. А Вы возьмете старое значение из того, что было сохранено.
Это было понятно с самого начала и решено путем сбрасывания значения после каждого импорта, посмотрите пост #4 -" ...и инициализации / сбрасыванием его перед/после импортом таблицы в SysDataImportExcel/importTable"
__________________
_databaseTransDelete ... bl@$ !
Старый 26.01.2007, 15:31   #4  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,715 / 1204 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от DTD Посмотреть сообщение
Это было понятно с самого начала и решено путем сбрасывания значения после каждого импорта, посмотрите пост #4 -" ...и инициализации / сбрасыванием его перед/после импортом таблицы в SysDataImportExcel/importTable"
У Вас произошла ошибка в процессе импорта. Флаг установился, но не сбросился. Ваши действия?

==============
Минуточку!

SysDataImportExcel/importTable относится к импорту ВСЕЙ таблицы? Не одной строки, а именно ВСЕХ строк? Если вот в этом методе и формировать твое значение NEW_PriceDiscId и записывать в спец.поле таблицы или переменную класса Global, а в методе разбора одной строки просто считывать это значение?

Последний раз редактировалось Владимир Максимов; 26.01.2007 в 15:40. Причина: Сразу не понял
Старый 26.01.2007, 18:50   #5  
DTD is offline
DTD
Участник
 
183 / 18 (1) ++
Регистрация: 09.08.2005
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
SysDataImportExcel/importTable относится к импорту ВСЕЙ таблицы? Не одной строки, а именно ВСЕХ строк? Если вот в этом методе и формировать твое значение NEW_PriceDiscId и записывать в спец.поле таблицы или переменную класса Global, а в методе разбора одной строки просто считывать это значение?


Гениально !
__________________
_databaseTransDelete ... bl@$ !
Теги
импорт, импорт из excel, критерии

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Экспорт стандартных отчетов в Excel ? ena_ax DAX: Программирование 14 12.04.2010 14:16
Экспорт в Excel exodus DAX: Программирование 1 23.01.2008 09:35
Экспорт из Excel... soin DAX: Администрирование 10 24.01.2007 21:32
Экспорт в Excel. Проблема с '\n' axaLearner DAX: Программирование 12 17.04.2006 18:43
Экспорт в Excel через WorkBooks.OpenText() Владимир Максимов DAX: Программирование 2 09.04.2004 17:16

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

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

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