|
![]() |
#1 |
Участник
|
Цитата:
Сообщение от penguin2000
![]() В поле Адрес таблицы Address или одноименное поле таблицы CustTable?
Если заливать одной строкой в Address, при создании заказа на продажу, ничего не заполняется в полях раздела "Адрес доставки", например. Если заполнить каждое поле в карточке клиента, например, Город, Индекс, Улица, то все ок. Вы точно не били всю строку адреса на Город, Индекс, Улица и т.д.? 1. Адрес как просто адрес - не интересен. Интересен адрес клиента или адрес поставщика. 2. Не надо заниматься сортировкой апельсинов и раскладывать по ячейкам улицы, города, области, дома и квартиры. Достаточно запхнуть эту информацию в поле Address. Для печатных форм - самое оно. Но если какой-то пользователь случайно что-то поменяет в таком адресе, то ему (этому пользователю) придётся вводить адрес уже по правилам Аксапты. P.S. Хотя, у меня на одном проекте было всего около 1500 контрагентов и помошники со стороны клеинта вручную разложили адрес по нужным ячейкам в Экселе. Так и импортировал. Делюсь опытом как я выполнял миграцию адресов в Аксапту. (На основе статьи) Кратко: 1. Создаём группу импорта через Мастер импорта из Эксель 2. Поле telex используем как CustTable.AccountNum (или Vendtable.AccountNum) 3. Настраиваем в группе импорта Настройка таблиц - Конвератция. Я использовал свой код: X++: // Add code - Start str account; str party; ; // If address is for a customer , and recid for customer is not specificed if (address.AddrTableId == tablenum(CustTable) && !address.AddrRecId) { account = address.Telex; party = CustTable::find(account).PartyId; // Fetch PartyId of customer address.AddrRecId = DirPartyTable::find(party).RecId; // fetch RecId of party address.AddrTableId = tablenum(DirPartyTable); //fetch number of party table address.Telex = ''; //clear } else if (address.AddrTableId == tablenum(VendTable) && !address.AddrRecId) { account = address.Telex; party = VendTable::find(account).PartyId; // Fetch PartyId of customer address.AddrRecId = DirPartyTable::find(party).RecId; // fetch RecId of party address.AddrTableId = tablenum(DirPartyTable); //fetch number of party table address.Telex = ''; //clear } X++: ; Address.insert(); // Insert method called to import the data return false; // Bypass the standard AX data import code. |
|
Теги |
кладр |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|