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

Взаимодействие внешних программ и Тах-ы

Добавлено: Ср янв 18, 2006 18:22
mxm
6 месяцев назад уже подымал этот вопрос на форуме, так и не подучил ответа и не дождался испавлений в программе!
Суть в следующем:
в Помощи к заполнителю есть раздел "Взаимодействие внешних программ и Заполнителя" в котором описывается мезанизм сообщения заполнителя программе ТАкса или другой программе о том что надо обработать список сохраненый в спец файле!
так же этот механизм описан и в rконце рездела "Файл обмена"!
Примечание:
Чтобы инициировать обработку файла обмена экспортной программой, надо поместить его в папку \IN\ и запустить программу c параметром -Z (например gtdw.exe -Z). Если программа уже запушена, достаточно послать главному окну сообщение с кодом 5561.

Проблемма в том что я формирую собственный файл обмена и пытаюсь его используя WINAPI передать файл в Таксу, но этого не происходит!
примечателно что в программу ГТД файл сформированный для ГТД передается бев проблем (при запуске программы с ключем -z файл обрабатывается и загружается в ГТД). К сожалению анологичные действия для Таксы никчему не приводят!

При запуске таксы с ключем -z вобще ничего не происходит, а при передаче сообщения 5561 такса выдает ошибку

Exception:
------------------------------------------------------
2.1 Date : Wed, 18 Jan 2006 18:17:59 +0300
2.2 Address: 004BC354
2.3 Module : taxwin.exe
2.4 Type : Exception
2.5 Message: Документ на входе не является инвойсом.
Можно сделать чтобы данная эта футкция работала!
иначе зачем об этом упоминается в помощи, если это не работает и нельзя воспользоваться!!!

также вопрос Можно ли Таксу запускать с ключем Кода ТНВЭД. Чтобы из допустим екселя можно было автоматом запустить таксу и передать ей код.

Добавлено: Пт янв 20, 2006 12:35
blanco
>такса выдает ошибку 2.5 Message: Документ на входе не
>является нвойсом.

У Вас в файлике обмена есть секция
[Common]
IncludedDoc=INVTAX\BLOCK

Без этого Такса не поверит что ей подсовывают список для расчета. Вообще такса может съесть и INV\BLOCK от Инвойса из Альта-ГТД, но корректеней пользоваться документом описанным в zfields.ini как "Инвойс для Таксы".

Правильно изготовленный файлик, можно загрузить командой Список->Файл->Список из заполнителя...

Насчет автоматической загрузки по Meggae = 5561. Есть там одна беда, надо предварительно имя файла imp00xxx.ini по OLE передать. Идея была в том что в \IN\ они могут скапливаться, и надежней будет чтобы Заполнитель сказал какой файл он сечас передает.

Давайте мы подправим след.образом: если передано по ОLE имя файла, то оно грузится. Если ничего не сказано, но пришла 5561, то грузиться самый старый *.ini из каталога \IN\

Будет в ближайшей версии 4.35

>также вопрос Можно ли Таксу запускать с ключем Кода ТНВЭД.
>Чтобы из допустим екселя можно было автоматом запустить
>таксу и передать ей код.

Ключа такого нет. Можно кинуть в нее код тнвэд опять же по OLE, а она справку о товаре сгенерирует в HTML файле. ГТДшка так справку от таксы запрашивает.
Но вообще можно ключ -t XXXXXXXXXX сделать - хуже, наверно, не будет. Но с начала с маркетолагами придется посоветоваться.

Добавлено: Пт янв 20, 2006 13:42
mxm
Файл обмена у меня тот что генерирует сам заполнитель , в момент когда саполнитель ссообщает таксе что надо обработать файл, я его пересохранил. и потом попытался обработать сообщениями и если после заполнителя файл нормально передавался в таксу, то после сообщения 5561 он сообщает ошибку. так что дело не в правильности написания файла, а в обработке прораммой.

интересно что в ГТД обрабатывает файл, но и там есть проблеммка. при сообщении гтд что нало обработать файл по ключу -z или 5561, то ГТД пытается искать файл с расширением .tmp, хотя через заполнитель передается файл с расширением .ini

с нетерпением жду исправлений, заранее благодарен

Добавлено: Пт янв 20, 2006 20:27
blanco
>интересно что в ГТД обрабатывает файл, но и там есть проблеммка.
>при сообщении гтд что нало обработать файл по ключу -z или 5561, то
>ГТД пытается искать файл с расширением .tmp, хотя через
>заполнитель передается файл с расширением .ini

Ну это так задумано, ГТДшка при ключе -z съедает все *.tmp из каталога IN\, т.е. при желании можно пакет документов сделать.

Вообщем в Таксе сделали в том же духе. Если есть message 5561 или -z при запуске, а имя файла по OLE не указано, то она ищет самый старый *.tmp в \IN\ (обрабатывать все как в гтд бессмысленно), грузит в список и стирает файл.

Т.о. ini останется форматом для заполнителя, который можно обработать командами из меню программ или через 5561 с точным указанием имени, а *.tmp будет считаться файлом от прочих самопальных программ автоматизации.

Помощь читать так:
" Поименование файлов идет по инкрементному принципу imp000.tmp, imp001.tmp, imp002.tmp, .... При автоматическом вызове программы используют последний по дате файл"

Версия будет в понедельник-вторник, если офис оттаит.