AXForum  
Go Back   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Forgotten Your Password?
Register Forum Rules FAQ Members List Today's Posts Search

 
 
Thread Tools Search this Thread Display Modes
Old 12.06.2010, 14:11   #1  
serbgush is offline
serbgush
Участник
 
9 / 10 (1) +
Join Date: 05.06.2010
Blog Entries: 1
Как преобразовать банковский счёт в код IBAN
Нужен код преобразующий банковский счёт в код IBAN, для 1380 клиентов. Начальство задало задание написать программу состоящую из нескольких строк кода. Программу можно было написать нагенерировав множество строк кода в Excel с последующей их вставкой в Джоб.
Им не понравилось, что надо много записей вставлять в Джоб, мол можно несколькими записями строк кода решить данную задачу.
Фамилия № банковского счёта IBAN
Агапов 1102030082856120 KZ110204F0345GF56745
Аглямов 1102030082856120 KZ110204F0345GF56746
Агапитов 1102030082856120 KZ110204F0345GF56747
Берковски 1102030082856120 KZ110204F0345GF56748
Богдаев 1102030082856120 KZ110204F0345GF56749
Предыдущий пример для одной записи выглядел так -
static void Job 23(Args _args)
{
EmplBank Account_RU emplBankAccount_RU;
;
update recordset emplBankAccount_RU setting AccountNum='KZ110204F0345GF56745' where emplBankAccount_RU.AccountNum=='1102030082856120';
}
Уму не приложу как можно поменять значение несколькими строками кода. Помогите! Если не выполню то меня выгонят с работы.
Old 12.06.2010, 15:18   #2  
George Nordic is offline
George Nordic
Модератор
George Nordic's Avatar
Злыдни
 
4,480 / 1255 (50) ++++++++
Join Date: 17.12.2003
Location: Moscow
Blog Entries: 9
1. Переименовал тему. Было "IBAN". Не очень информативно.

2. Скажите поточнее условия задачи - а где лежат данные с соответствием?

3. Можно посмотреть на лист Ёхеля, и по нему преобразовать.
3.1. Быстрый Excel
3.2. Как-то так:

X++:
static void GetDataFromExcel(Args _args) 
{ 
   OdbcConnection   connection; 
   Statement            statement; 
   ResultSet             resultset; 
   LoginProperty       LP = new LoginProperty();
   EmplBank Account_RU emplBankAccount_RU
   ; 

   try 
   { 
       ttsbegin; 
       LP.setDSN("Excel4"); //Имя соединения

       connection  = new OdbcConnection(LP); 
       statement   = connection.createStatement(); 
       resultset   = statement.executeQuery ("SELECT * FROM [Worksheet1$]");  //имя листа

       while (resultset.next()) 
       { 
           //получаем необходимые данные из столбцов
           select forupdate emplBankAccount_RU 
               where emplBankAccount_RU.AccountNum == resultset.getString(2)
               if(emplBankAccount_RU)
               {
                   emplBankAccount_RU.AccountNum = resultset.getString(3);
                   emplBankAccount_RU.update();
               }
       } 
       connection = NULL; 
       ttscommit; 
   } 
   catch (Exception::Error) 
   { 
       connection = NULL; 
       ttsAbort; 
   } 
}
This post has been rated by: serbgush (1).
Old 12.06.2010, 15:27   #3  
Gustav is offline
Gustav
Moderator
Gustav's Avatar
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Join Date: 24.01.2006
Location: Санкт-Петербург
Blog Entries: 19
Ох, да вы не уйметесь А начальство тоже "хорошо" - им надо побыстрей коды заменить или протестировать вас как программера? Что-то не пойму..

Читайте повнимательнее свои предыдущие темы. Вам уже давался совет иного характера, чем генерирование 1380 строк для джоба:
Quote:
Originally Posted by Gustav View Post
Можно еще освоить чтение из Excel, если вам более по душе цикл. Воспользуйтесь Вспомогательный класс для импорта из Excel через ADO или Импорт из 'офисной БД' (Excel, Access). Только времени займет больше, чем создание формулы в Excel, а результат будет тем же
И вопрос ваш должен звучать не как замена каких-то конкретных кодов чего-либо, а пошире, что-нибудь вроде "Чтение значения из Excel и запись его в таблицу Аксапты".

А если ссылки в цитате вас не устроят, то еще на Форуме существует поиск. Поищите по строке "Excel импорт".
This post has been rated by: serbgush (1).
Old 12.06.2010, 15:31   #4  
Gustav is offline
Gustav
Moderator
Gustav's Avatar
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Join Date: 24.01.2006
Location: Санкт-Петербург
Blog Entries: 19
Quote:
Originally Posted by George Nordic View Post
2. Скажите поточнее условия задачи - а где лежат данные с соответствием?
Джордж, пройди по моей ссылке - это тема уже в четвертый раз поднимается
Old 12.06.2010, 15:49   #5  
serbgush is offline
serbgush
Участник
 
9 / 10 (1) +
Join Date: 05.06.2010
Blog Entries: 1
Коды IBAN на которые надо заменить банковский счёт клиента прислали в формате Excel из банка. В соответствии с этой таблицей надо выбрать поля из столбца IBAN и заменить этими полями запись AccountNum - банковский счёт сотрудника в общей таблице счетов emplBankAccount_RU
Old 14.06.2010, 20:47   #6  
serbgush is offline
serbgush
Участник
 
9 / 10 (1) +
Join Date: 05.06.2010
Blog Entries: 1
IBAN
Уважаемый George Nordic я написал код как вы и посоветовали он откомпилировался без ошибок. Единственнственная проблема возникает в момент запуска . По моменту запуска выдается ошибка следующего содержания -
1.Невозможно выбрать запись
2.[Microsoft] [Драйвер ОDBCExcel].Недопустимое имя Worksheet1$. Проверьте, что оно не содержит недопустимые символы или знаки препинания, а также не является слишком длинным.
Помогите пожалуйста исправить ошибку.
Может как-то надо подготовить таблицу Excel.
Old 15.06.2010, 13:36   #7  
Gustav is offline
Gustav
Moderator
Gustav's Avatar
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Join Date: 24.01.2006
Location: Санкт-Петербург
Blog Entries: 19
Quote:
Originally Posted by serbgush View Post
Недопустимое имя Worksheet1$
Вместо Worksheet1 должно быть имя вашего листа Excel, содержащего данные. Если имя листа по умолчанию не изменялось, то у вас должно быть либо Sheet1, либо Лист1. Соответственно, в выражение SELECT подставляете либо [Sheet1$], либо [Лист1$].
Old 15.06.2010, 13:39   #8  
George Nordic is offline
George Nordic
Модератор
George Nordic's Avatar
Злыдни
 
4,480 / 1255 (50) ++++++++
Join Date: 17.12.2003
Location: Moscow
Blog Entries: 9
Э... возможно, сначала надо правильно настроить ODBC. В нем создать соединение с источником типа xls и путь к файлу.

С Уважением,
Георгий

Upd: Часть темы вынесена в ветку Может не стоит мучиться, если вы не умеете программировать
 

Similar Threads
Thread Thread Starter Forum Replies Last Post
Счет фактура по строке общего журнала Starling DAX: Функционал 2 28.09.2011 18:31
Channel9: Peter Villadsen and Gustavo Plancarte: X++ to MSIL Blog bot DAX Blogs 30 24.08.2010 17:11
Счет и корр. счет не могут быть одинаковыми? Flomik DAX: Функционал 32 10.03.2010 10:19
Перечисление денег со счета банка на счет деньги в пути.Как правильно? Aquarius DAX: Функционал 1 13.04.2007 22:44
sp5. Возможность получить Корр.счет ГК попроводкам клиента/поставщика без извращений studentLPC DAX: Функционал 20 27.05.2003 13:55

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Рейтинг@Mail.ru
All times are GMT +3. The time now is 01:48.
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Contacts E-mail, Advertising.