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

Фильтр по ЦО при настройке ТХО

Добавлено: 03 июл 2008, 16:38
Protchenko_M
Доброго времени суток, Уважаемые.

По платежному документу нужно сформировать проводки по ТХО, причем корреспонденция счетов зависит от центра ответственности в документе.

Как можно настроить ТХО для платежных документов, чтобы при формировании проводки можно было учитывать фильтр по центру отвественности?

____
Галактика 8.1

Добавлено: 03 июл 2008, 16:40
edward_K
фильтр по аналитике сделайте(2 закладка в фильтре).

Добавлено: 03 июл 2008, 17:25
Protchenko_M
Насколько я поняла фильтр можно установить либо на системный идентификатор, либо на циклическую обработку, пробовала
(&VipfK22"058"[Obj:"FROPLATDOC"]) и так и так, но фильтр по аналитике не отрабатывает (fK22).

Может есть требования к заполнению элементов справочника центров ответственности, или нужен другой системынй идентификатор?

Если есть пример работающей настройки укажите, пожалуйста.

Добавлено: 03 июл 2008, 18:08
edward_K
что то вы не там фильтр ставите - в проводке есть отдельное поле для фильтра. Vip он сам по себе, а фильтр сам по себе. С точки зрения быстродействия конечно не фонтан, но если не ваша апиха не ваша, то без вариантов. Да и vip надо писать так
&Vip_[Obj:"FROPLATDOC"], + не забудьте цикл.обработку по центру ответсвености , даже если ее нет на счетах проводки.

Добавлено: 03 июл 2008, 18:26
Protchenko_M
в проводке есть отдельное поле для фильтра
Вы имеете ввиду поле "Фильтр для циклической обработки"?
Если да, то какой системный идентификатор нужно указать в поле "Алгоритм в НДЕ"?

Добавлено: 03 июл 2008, 18:37
Seybukan
Фильтры в ТХО АПИ системные не работают.
Работаю только по режиму.
Режим задается в конкретной АПИхе!
Данная апиха вообще ни каких режимов не возвращает
Соответственно ни черта не получиться.
Разве что умножить на ноль по условию другого алгоритма при ЦО не верном, а при верном умножить на 1.
Например:
&Vip[Obj:"FROPLATDOC"] * if( &KAU[Кау:22][Режим:180][Рез:Шифр]= '058',1,0)

Добавлено: 03 июл 2008, 18:44
Protchenko_M
&Vip[Obj:"FROPLATDOC"] * if( &KAU[Кау:22][Режим:180][Рез:Шифр]= '058',1,0)
Спасибо за разъяснения.
Задача может быть решена с помощью &KAU и if-ов, но так как справочник ЦО довольно емкий (>30 -ти значений) фильтр надо настраивать по группам ЦО, то есть очень много условных операторов, и ТХО громоздкое и медленное :(
Надеялась что системные фильтры можно использовать и оптимизировать ТХО :eek:

Добавлено: 03 июл 2008, 18:45
Seybukan
А лучше счет субсчет привязать к ЦО внешним атрибутом.
Настроить универсальный шаблон который будет пробивать счет субсчет по режиму.
Необходимо использование функций:
TXOGetExtAttr
TxoSetSchetNrec или TxoSetSchet

и фсё.
Вот настройки ТХО:
Счет субсчет: <режим 0>
Алгоритм ТХО:&Sum
&1 = TxoSetSchetNrec(160,coTXOGetExtAttr('FPCO','Счет', &KAU[Кау:22][Режим:180] ))

К каталогу ЦО привязан атрибут:
Наименование - 'Счет'
Тип - Ссылка прочие таблицы (ссылка->Счета бухгалтерского учета)

Добавлено: 03 июл 2008, 19:22
Protchenko_M
Seybukan
Спасибо за идею :)
Все получилось.

Добавлено: 04 июл 2008, 11:13
Seybukan
А то.
8)