nordk wrote: |
позволяют при записи документа его удалять и корректировать автоматически.
|
Quote: |
В 12-й версии есть функция через HFILEEVAL позволяющая выполнять процедуру загрузки с удаленного склада применительно к конкретной БД, я ее еще на практике не пробовал применять но думать бы начал по Вашему вопросу в этом направлении. |
mrs_2005 wrote: |
А можно ли при записи документа его автоматически удалять по условию и как? |
mrs_2005 wrote: |
В принципе я тут надумал еще один вариант. |
Quote: |
И реализовывать его вовсе даже не обязательно через HFileEval или вообще какие-нить плагины, а можно просто написать на FoxPro, или даже (страшно подумать... ![]() А у моих клиентов с 1998 года работает отдельная программулька на FoxPro для прямого переноса товарных документов из одной базы в другую (почти такую же... ![]() |
Quote: |
А можно ли при записи документа его автоматически удалять по условию и как? |
Quote: |
Сроки достаточно короткие, таких навыков пока не очень много. Но есть необходимость и желание.
В принципе я тут надумал еще один вариант. 1. Выгружаем из Общей базы ВСЕ документы. - получаем файл. 2. Разархивируем этот файл. 3. В таблицах вида _doc.dbf, _docm.dbf удаляем лишние документы по необходимому условию 4. Архивируем назад в файл. 5. Принимаем его в Правильную базу. И похоже, что он самый быстрый для реализации. Поэтому вопрос: можно ли это реализовать через HFileEval? |
nordk wrote: |
Дело в том что если при приемке документов через базы удаленного склада вы положите в БД deleted.dbf Ваш документ - он будет удален в процессе выполнения обработки документов с удаленного склада |
Code: |
Private cscr //altd() DBPUSH() cscr:=' Выполняется подготовка к перемещению документов... ' SayAndWait (cscr) //************************************************************* dbpush("MDOC","MDOC_R","",{}) MDOC->(dbgotop()) do while (mdoc->(!eof())) IF (MDOC->VID="2".and.MDOC->TYPE="1".and.MDOC->Sclad="000010".and.MDOC->CODEOPER="0001").or.(MDOC->VID="2".and.MDOC->TYPE="1".and.MDOC->Sclad="000010".and.MDOC->CODEOPER="0002") else // добавляем, запись по ненужному документу в deleted.dbf deleted->(Addrec()) deleted->Vid:=mdoc->Vid deleted->Type:=mdoc->Type deleted->Sclad:=mdoc->Sclad deleted->CodeDoc:=mdoc->CodeDoc deleted->NumDoc:=mdoc->NumDoc deleted->Date:=mdoc->Date deleted->AgentName:=mdoc->AgentName deleted->Summa:=mdoc->Summa deleted->AgentCode:=mdoc->AgentCode deleted->CodeDoc1:=mdoc->CodeDoc1 deleted->NumDoc1:=mdoc->NumDoc1 deleted->Input:=mdoc->Input deleted->(F_dbunlock()) endif mdoc->(dbskip()) enddo cscr:=' Подготовка к перемещению документов завершена! ' SayAndWait (cscr) dbpop() |
output generated using printer-friendly topic mod. All times are GMT + 4 Hours