Страница 1 из 2

ТХО по авансовому платежу [НЕLP!!!!!!]

Добавлено: 10 авг 2007, 09:39
PViP
Надо срочно сделать такое ТХО:
ТХО для обработки авансовых счетов-фактур по оплате при привязке к актам на отгрузку.


Есть ДО, К ДО привязано несколько сторонних платежных поручений,
В каждом стороннем платежном поручении сформирована Хозоперция. По каждой Хозоперации сформирована счет-фактура. Если платеж авансовый, то счет-фактура имеет тип: Счет-фактура, оплата, предоплата или Счет-фактура, аванс. По этому же ДО сформирован акт на оказание услуг, К акту привязывается ТХО, которая должна сформировать следующие проводки:
Д68.0101 К62.0511
КАУ1: явно – Аренда помещения
КАУ2: авто – Организации
КАУ3: авто – Счета-фактуры
КАУ4: авто – Договора

Алгоритм в НДЕ: сумма НДС из счет-фактуры по предоплате

Д62.0502 К62.0501
КАУ1: явно – Аренда помещения КАУ1: явно – Аренда помещения
КАУ2: авто – Организации КАУ2: авто – Организации
КАУ3: авто – Счета-фактуры КАУ3: авто – Счета-фактуры
КАУ4: авто – Договора КАУ4: авто – Договора

Алгоритм в НДЕ: сумма с НДС из счет-фактуры по предоплате

НЕОБХОДИМО:
Создать ТХО API, которая циклически обрабатывает все счета-фактуры с типом «Счет-фактура, оплата, предоплата» и «Счет-фактура, аванс» по всем сторонним платежным поручениям, сформированным по ДО. При этом в аналитику необходимо поставить счетфактуру которяю соотвествует авансовым платежам.

Необходимо организовать взаимосвязь:
Акт/накладная -> ДО -> Платежное поручение -> (Хозоперация) -> Счет-фактура

!!!Распределение платежа по актам/накладным не выполняется!

Я так понимаю должна быть циклическая обработка! Как настроить, ума не приложу, писать свой алгоритм совсем не хочется!

Помогите кто знает!!!!!!!!!!!

Добавлено: 10 авг 2007, 10:02
Алексей
К акту привязывается ТХО.

Если нет распределения платежа по позициям сопроводительного документа, у вас фиг получится сделать корректные проводки.

У вас не будет информации, какая сумма из каждого платежа упала именно на этот акт а какая на другой.

Если будет распределение платежа по позициям - сделать ТХО АПИ будет не проблема.

Добавлено: 10 авг 2007, 13:01
maikl
Если к платежу привязано ДО, то это уже не авансовый платеж.
Счет-фактура, как мне кажется формируется в документе, а не в хозоперации.
Надо, как я понимаю пр привязке хозопераций к платежным поручениям выбрать только, те, у которых нет ДО, т.е. авансовые., и привязывать нужные хозоперации и т.д.

Добавлено: 10 авг 2007, 13:04
Алексей
maikl
1. платеж может быть авансовым, даже с привязаным ДО, просто ДО привязали к платежу месяцем позже, например
2. С/Ф по оплате формируются именно в хоз.операциях платежа.
3. ТХО привязывается к акту, так автор хочет.

Добавлено: 10 авг 2007, 13:35
maikl
Если ты формируешь СФ из платежа, значит ты уже знаешь, что платеж авансовый.
Если платеж не полностью закрыт ДО, то надо формировать СФ на остаток. Такие платежи вы выбираем самодельным отчетом, а затем все руками.

Добавлено: 10 авг 2007, 13:57
PViP
Тхо привязывается к АКТУ, на каждое платежное поручение есть СФ.

КОроче решил написать свой идентификатор VIP. Так ни чего дельного не выходит.

Алексей, распределение платежа это наверное круто, но у меня пока нет понимая что это, человек который занимался этим и шарит в этих бухгалтерских вещах говорит что, да через распределение можно сделать, но это не удобно и надо сравнительно много ручной работу делать, к примеру если 3 платежа то надо 6 проводок сформировать! Может оно и легко через распределение, но пользователям не удобно!

Добавлено: 13 авг 2007, 07:50
Алексей
PViP
Повторюсь ещё раз.
без разпределения платежа по сопроводительным документам вы не сможете узнать, сколько рублей от каждогой платежа село именно на этот сопроводительный документ.

"не удобно..." а что неудобного? В настройках настраиваете автоматическое распределение платежа и все, при привязке ДО к платежу распределение будет происходит автоматом.

"3 платежа 6 проводок... " проводки будут формироваться с помощью ТХО, не вижу никаких проблем с их кол-вом, 6 так 6... хоть все 12. Всё равно ТХО будут привязыватся к сопроводительным документам, сколько их будет, столько раз и ТХО привяжете.

Добавлено: 13 авг 2007, 09:45
PViP
сколько их будет, столько раз и ТХО привяжете.
ТОетсь получается интерфейс ТХО не может создавать более однойпроводки для одного этапа настройки?

Мне надо чтоб для одной настройки [дебит/кредит/кау] , формировались несколько проводок [по числу СФ с типом аванс] на соотвеств. суммы и с разными значениями аналитик. Может ли такое ТХО, и если может, то какая фукнция ТХО API добавляет проводку и дает продолжить формирование следующей?

Добавлено: 13 авг 2007, 09:53
Алексей
1. Может - так называемые циклические ТХО.
2. Вот по разным значениям аналитик и делайте цикл в интерфейсе ТХО АПИ и в настройке где "Циклическая обработка" выбирайте свою аналитику, в которых должны быть разные значения.

Добавлено: 13 авг 2007, 10:20
PViP
Алексей, делаю я по разным (по СФ цикл), после заполнения буфера вызываю

Код: Выделить всё

TXOBodyInsert(hTXO)
,
но вот вместо добавления проводки происходит суммирование сумм и затирание данных данными буфера (имею ввиду КАУ). Тоесть происходит агригирование данных, а нода разделить их!

Добавлено: 13 авг 2007, 10:27
Алексей
TxoBodyAddKau надо использовать перед вставкой суммы и добавлять КАУ по С/Ф, при чем С/Ф должны быть разные и когда поставите циклическую аналитику в настройке, суммирования проводок происходить не будет.

Добавлено: 13 авг 2007, 10:27
edward_K
вам сказали же - циклическая обработка. Внизу настройки ТХО нужно выбрать те аналитики по которым следует разделять(можно по всем что есть на счетах - по F3 будут все доступные). Если это не поможет значит у вас ошибка в коде.

Добавлено: 13 авг 2007, 10:39
PViP
Алексей, edward_K, а теперь уважаемые подумайте, какие СФ будет мне пихать ТХО, если ТХО у меня привязана к акту, а к акту привязана одна СФ (да и то не та, но это не имеет для меня значения). Я так понимаю система даст мне только одну СФ которая привязана к Акту!

В пору хоть инсертом закатать в таблицу и не парится! :(

Добавлено: 13 авг 2007, 11:18
Алексей
PViP
1. С/Ф будете пихать сами в ТХО АПИ, т.к. вы сказали, что пишите алгорит с использованием ТХО АПИ интерфейса

2. Я уже объяснял, без распределения платежа по сопроводительным документам, вы ни как, повторяю, ни как не доберётесь до С/Ф по платежам.

Точнее, способ добраться через ДО есть, но вот определить конкретную сумму, которая была потрачена на закрытие конкретного акта/накладной у вас не получится и подставить её в проводку тоже не получится.

Потому не вижу смысла во всей вашей затеи, если вы отказались от распределения платежа по ДО.

Единственный вариант, который сработает без распределения, когда у ДО будет только один сопроводительный документ, в этом случае можно обойтись без распределения (по скольку каждая сумма из платежа будет падать только на этот единтвенный документ).

Добавлено: 13 авг 2007, 12:33
Seybukan
Ребята не надо печалиться.

Во первых авто распределение по Сопрам ни чего не дает ровным счетом. Так как бывают платежи привязанные к ДО, но еще не отгруженные. То есть после создания акта придется топать в платеж и перераспределять.

Но и этому есть лечение. Можно написать АПИ которая не будет ни чего проводить в Акте, а будет просто его распределять по связанным с ДО платежам. Правда перераспределять она будет все акты ДО даже те которые были созданы и распределены ранее. Это связано с тем что отменить распределение можно по хозоперации а не по одному акту.
Отмену распределения можно зашить в отмену хозопераций.
Вот дерзайте:

objinterface ASoprHozSumDistr;
function Init(cSHoz : comp; cxRasp : word) : boolean;
function _UndoDistrPos(cSoprHoz : comp) : boolean; // отменить распределение суммы по накладым из ДО
function _DoDistrSoprHoz(cSHoz : comp; cxRasp : word) : boolean; // оплата всех накладных по ДО
function _DoPayForKatSopr(cSHoz : comp; cKatSopr : comp) : boolean; // оплата только одной накладной.
function _GetPosRest(cPos: comp; var dRest : double ) : boolean; // задолженность по позиции
procedure DoRegSchFact(mode : word ); //регистрация СФ которая привязана к soprhoz, по которому делаем init
function GetOplatSum:double; // считает уже оплаченную сумму
end;