BEST logo логотип компании БЭСТ - программы для бизнеса ПРОДАЖИ
+7 (991) 312-04-37
trade@bestnet.ru
ПОДДЕРЖКА
+7 (495) 775-66-76
consult@bestnet.ru
СКАЧАТЬ
Обновления
Дистрибутивы
Авторизация

Логин:
Пароль:
Забыли свой пароль?
Регистрация
ВАШ ВОПРОС

Доступ к Личному кабинету закрыт!
Как получить доступ?


Форум

Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
ImportZ
 
В Бэсте 4 есть функция импорта заказов(ImportZ). Очень полезная функция! А вот есть ли она или ее аналог в БЭСТ 5
Интересует БЭСТ 5 3.3 SP 33

Заранее спасибо за ответы.
 
1. коллега, день добрый
2. вот позиция разработчика:
Цитата
Данные функции не предназначены для БЭСТ-5 и в БЭСТ-5 мы их не опсиывали. В версии 3.4 их нет
В версии 3.4 (в одном из SP) планируется штатаный механизм импорта документов.
Живому всё хорошо.
 
Здравствуйте!
Я так понимаю, что этих функций, так же нет и в 3.3 =(
Очень жаль! Значит будем ПО ВАРВАРСКИ писать данные напрямую в базу!
Надеюсь что она, в смысле база выдержит это!

P.S. А может есть у кого-нибудь Идея как, наиболее безболезненно поместить заказ в базу БЭСТа?

P.S.S. Тут еще возник маленький вопросик! :help: А как получить следующий номер заказа в БЭСТ 5 3.3
Код
Function WDoc1()
    Private nOrd, aScope, lRet 
    nOrd:=MDoc->(ORDSETFOCUS('RBOOK0'))
    aScope:=MDoc->(SetScope())
    lRet:=WDoc('DopCode','')
    MDoc->(ORDSETFOCUS(nOrd))
    MDoc->(SetScope(aScope))
Return lRet

вот такая функция прекрасно работающая в Б-4 отказалась работать в БЭСТ 5
Где я неправ?

P.S.S. Всех с наступающим НОВЫМ ГОДОМ!!!!! :pozdravlayu:
 
Цитата
maestro_ пишет:
Здравствуйте!
Я так понимаю, что этих функций, так же нет и в 3.3 =(
Очень жаль! Значит будем ПО ВАРВАРСКИ писать данные напрямую в базу!
Надеюсь что она, в смысле база выдержит это!
P.S. А может есть у кого-нибудь Идея как, наиболее безболезненно поместить заказ в базу БЭСТа?
P.S.S. Тут еще возник маленький вопросик! А как получить следующий номер заказа в БЭСТ 5 3.3

КодFunction WDoc1()

Private nOrd, aScope, lRet

nOrd:=MDoc->(ORDSETFOCUS('RBOOK0'))

aScope:=MDoc->(SetScope())

lRet:=WDoc('DopCode','')

MDoc->(ORDSETFOCUS(nOrd))

MDoc->(SetScope(aScope))

Return lRet



вот такая функция прекрасно работающая в Б-4 отказалась работать в БЭСТ 5
Где я неправ?
P.S.S. Всех с наступающим НОВЫМ ГОДОМ!!!!!

Доброе утро!
ImportZ есть в Б5 3.3 в модуле sclad.bdll, она такая же как и в Б4.
Поскольку в версии 3.4 дисциплина работы с филиалами изменяется (в качестве филиала рассматривается весь БЭСТ в целом), в ближайших SP для цели импорта заказов будет опубликован специальный объект. Функцию ImportZ поддерживать не планируется, будет применен общий механизм.

Текст функции WDOC1
Код
STATIC FUNCTION WDoc1()
LOCAL nOrd:=MDoc->(ORDSETFOCUS(1)),aScope:=MDoc->(SetScope())
LOCAL lRet:=WDoc('DopCode','')
MDoc->(ORDSETFOCUS(nOrd));MDoc->(SetScope(aScope))
RETURN lRet


Для справки текст функций приема заказов:

Код
FUNCTION ImportZ()
IF !_REC_YES
   SayError('Импорт запрещен')
   RETURN NIL
ENDIF
Import({||bImportZ()},,,2,,'EXPORTZ.LST')
RETURN NIL


STATIC FUNCTION Import(block,lWithoutOpen0,nWithCompDat,nProvGuid,aIsklFile,cType)
//nWithCompDat = 1,2 - вызывать закр.периода если на центр.складе закрыт
LOCAL cHelp_Code:=HELP_CODE,lRes
PRIVATE pDate:=Date()
HELP_CODE:=N_HELP_3
lRes = All_Restore(block,,lWithoutOpen0,nWithCompDat,,nProvGuid,aIsklFile, cType)
HELP_CODE:=cHelp_Code
RETURN lRes


STATIC FUNCTION bImportZ()
LOCAL nAdd,i,cGrup,cNNum,cName, cStatus1,prUScl
LOCAL aNumNoProt := {}
PRIVATE cPATH_TMP:=B6_DBF_PATH+'TMP\'
PRIVATE lUdSclad:=.T.
IF !FILE(cPATH_TMP+'_RBookM.DBF')
   SayError("Нет данных!")
   RETURN(NIL)
ENDIF

//Busy(.T.,'Прием заказов')
Open0()
OpenBase(;
{'RBook','RBookM','MGrup','MLabel','MKart','MDocM',;
cPATH_TMP+'_RBook',cPATH_TMP+'_RBookM',cPATH_TMP+'_Grup',cPATH_TMP+'_Label',cPATH_TMP+'_Kart',cPATH_TMP+'_Spr_par'},;
{'RBook','RBookM','MGrup','MLabel','MKart','MDocM',;
'_RBook','_RBookM','_Grup','_Label','_Kart','_Spr_par'})
SELECT _RBookM
INDEX ON UPPER(DopCode)+NNOPER_ TO (cPATH_TMP+'_RBookM')  //titov-NoUniDopCode
CLOSE
NetUse('_RBookM',B6_DBF_PATH+'TMP\_RBookM',B6_DBF_PATH+'TMP\_RBookM')

IF SELECT('_RBook')>0
   SELECT _RBook
   WHILE !EOF()
      PrintMes(' Заказ '+DopCode+' от '+DTOC(Date)+', '+AgentName)
      _RBookM->(DBSEEK(UPPER(_RBook->DopCode)+_RBook->NNOPER)) //titov-NoUniDopCode
      IF !RBook->(DBSEEK(UPPER(_RBook->DopCode)+_RBook->NNOPER)) //titov-NoUniDopCode
         prUScl=0
      ELSE
         prUScl=1
      ENDIF
      DO WHILE prUScl=0.AND.UPPER(_RBookM->DopCode)+_RBOOKM->NNOPER_==UPPER(_RBook->DopCode)+_RBook->NNOPER.AND.!_RBookM->(EOF())//titov-NoUniDopCode
         If ASCAN(aSclad,{|x|UPPER(SUBSTR(x,2,6)) = UPPER(_RBookM->Sclad)}) > 0
            prUScl =1
         EndIF
         _RBookM->(DBSKIP())
      ENDDO
      If prUScl = 0
          AADD(aNumNoProt,_RBook->(RecNo()))
         _RBook->(dbSkip())
         LOOP
      EndIF
      IF !RBook->(DBSEEK(UPPER(_RBook->DopCode)+_RBook->NNOPER))//titov-NoUniDopCode
         RBook->(AddRec())
      ELSE
         RBook->(RecLock())
         SELECT RBookM
         DBSEEK(UPPER(RBook->DopCode))
         xDBEVAL({||DelZakToKart(), dbDelete() },{|| RBookM->NNOper_ = RBook->NNOPer },{|| UPPER(RBookM->DopCode) = UPPER(RBook->DopCode) },.T.)  //titov-NoUniDopCode
      ENDIF
      RBook->(GatherS(_RBook->(ScatterS())))
      _RBookM->(DBSEEK(UPPER(RBook->DopCode)+RBook->NNOper)) //titov-NoUniDopCode
      WHILE UPPER(_RBookM->DopCode)==UPPER(RBook->DopCode).AND.!_RBookM->(EOF()) //titov-NoUniDopCode
         IF _RBookM->NNOper_== RBook->NNOper //titov-NoUniDopCode
            RBookM->(AddRec())
            RBookM->(GatherS(_RBookM->(ScatterS())))
            RBookM->(dbUnLock())
            NewZakToKart()
         ENDIF
         _RBookM->(DBSKIP())
      ENDDO
      SELECT _RBook
      RaschStat1()
      SKIP
   ENDDO
ENDIF

IF SELECT('_Grup')>0
   SELECT _Grup
   GO TOP
   WHILE !EOF()
      IF !MGrup->(DBSEEK(UPPER(_Grup->Code)))
         MGrup->(AddRec())
         MGrup->(GatherS(_Grup->(ScatterS())))
         MGrup->(dbUnLock())
      ENDIF
      SKIP
   ENDDO
ENDIF
IF SELECT('_Label')>0
   SELECT _Label
   GO TOP
   WHILE !EOF()
      IF !MLabel->(DBSEEK(UPPER(_Label->(Grup+NNum))))
         MLabel->(AddRec())
         MLabel->(GatherS(_Label->(ScatterS())))
         MLabel->(dbUnLock())
      ENDIF
      SKIP
   ENDDO
ENDIF
IF SELECT('_Kart')>0
   SELECT _Kart
   GO TOP
   WHILE !EOF()
      IF !MKart->(DBSEEK(UPPER(_Kart->(Grup+NNum+Partia+Sclad))))
         MKart->(AddRec())
         MKart->(GatherS(_Kart->(ScatterS())))
         MKart->(dbUNLock())
      ENDIF
      SKIP
   ENDDO
ENDIF
IF GlobalTask $ "SRZR" .AND. SELECT('_Spr_Par')>0
   SELECT _Spr_Par
   GO TOP
   WHILE !EOF()
      IF !(SPR_PART->(DBSEEK(UPPER(_Spr_Par->(Grup+NNum+Code))))).AND. SPR_PART->(AddRec())  //VIKTOR ПартУч-Прием 04.06.97
        SPR_PART->(GatherS(_SPR_PAR->(ScatterS())))
        SPR_PART->(dbUnLock())
      elseif empty(Spr_Part->Ag_Code) .AND. Spr_Part->(RecLock())
         Spr_part->Ag_code  = _spr_par->Ag_code
         Spr_part->Ag_schet  = _spr_par->Ag_schet
         Spr_part->Ag_name  = _spr_par->Ag_name
         Spr_part->Agent_code  = _spr_par->Agent_code
         Spr_part->(dbUnLock())
      ENDIF
      SKIP
   ENDDO
ENDIF
UNLOCK ALL
SELECT _RBook
ProtokolZ('Import',aNumNoProt)
CLOSE ALL
Erases(cPATH_TMP)
//Open0()
 if .f.
   nAdd := nAdd
   i := i
   cGrup := cGrup
   cNnum := cNnum
   cName := cName
   cStatus1 := cStatus1
 endif
// Busy(.F.)
RETURN(NIL)

 
Может быть кому-нибудь пригодиться!
Вызов evalfun('wdoc1',"")


Код
FUNCTION WDoc1()
private nord1, ascope1, lret1
nOrd1:=MDoc->(ORDSETFOCUS("RBOOK0"))
aScope1:=MDoc->(SetScope())
lRet1:=WDoc('DopCode','')
MDoc->(ORDSETFOCUS(nOrd1))
MDoc->(SetScope(aScope1))
Lret1
RETURN


Всех с наступающим новым годом!
Страницы: 1
Читают тему (гостей: 1)