09.12.2011, 12:20 | #1 |
Участник
|
Как сопоставить неразнесенные проводки программно
Здравствуйте.
Как сопоставить неразнесенные проводки программно? А, лучше подскажите что почитать, про механизмы сопоставление из кода более детально. Заранее огромное спасибо за потраченное время на ответы. |
|
09.12.2011, 12:31 | #2 |
Ищущий знания...
|
Цитата:
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
|
За это сообщение автора поблагодарили: gl00mie (2), egater (1). |
09.12.2011, 12:35 | #3 |
Участник
|
Посмотрите, что делается в форме при сопоставлении - что вызывается и какие данные нужны на вход. После чего возьмите свои данные и скормите их функционалу который делает собственно сопоставление. Фактически Вам нужно смоделировать действия пользователя в форме "Сопоставление открытых проводок", без формы, разумеется.
|
|
|
За это сообщение автора поблагодарили: egater (1). |
09.12.2011, 12:38 | #4 |
Участник
|
А что тут называется неразнесенными проводками? По-моему, если что-то не разнесено в системе, то связанных проводок еще попросту нет. И если речь про программное сопоставление, то тема скорее для раздела "программирование", а не "функционал". В качестве примера можно посмотреть, как работает класс CustVendAutoSettlement_RU.
|
|
|
За это сообщение автора поблагодарили: egater (1). |
10.12.2011, 18:12 | #5 |
Участник
|
На деле в коде все довольно просто, если эмулировать именно ручное сопоставление, а не делать его самому из кода
1. нужно напихать галок в SpecTrans (для этого есть класс SpecTransManager, это в АХ2009, до этого класс был другой, SpecOffsetVoucher вроде) 2. нужно дернуть метод CustTrans::settleTransact (Важно, на вход он берет курсор клиента и обрабатывает сразу все галки оптом, потому в коде делаем по парам, если хотим этим управлять осознано, а не по некому внутреннему алгоритму) По поставщику все симметрично Это все касается разнесенных проводок. Для неразнесенных делаем аналогично (галки в СпекТранс), но только для пар (или 1 к Н) по неразнесенной и нескольким разнесенным При разноске журнала или документа сопоставление должно пройти само. Тут лучше посмотреть как это через интерфейс отрабатывает. Но по сути нам нужно сэмулировать именно простановку галки сопоставления, при разноске само вызовется. Как связать две нерезнесенные проводки (попросту не проводки, а записи в документах) не ясно. Штатно такого нет Нужно делать свой функционал, который при разноске будет отмечать проводку (что-то же раньше разнесут, что-то позже) и связывать ее уже с помощью штатных функций. То есть тоже можно, но уже не простым вызовом готовых методов. Последний раз редактировалось BOAL; 10.12.2011 в 18:24. |
|