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

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

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


Главная  / Поддержка  / Форум  / Публичные форумы  / Программирование приложений  / Копирование списка сотрудников в другой табличный документ

Форум

Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Копирование списка сотрудников в другой табличный документ
 
Коллеги, никто не занимался подобной задачей? У клиента большая часть удержаний, да и начислений считается табличными документами. Бухгалтеров крепко напрягает постоянно заниматься подбором 100-200 сотрудников в совершенно одинаковые списки для расчета следующего начисления или удержания. Теток жалко, а с моим скромным опытом написания плагинов для БЭСТ-5 буду очень долго ковыряться. Заказать на платной основе вряд ли получится - тетки практически нищие (бюджетники). Может кто поможет хотя бы парой советов? Пожалуйста!
 
Вы уточните, что куда и как нужно копировать. Постоянные ТД или не постоянные. Один вид ТД в другой или из периода в период.
С уважением, Новиков Алексей.
 
Нужно копировать список отобранных сотрудников из ТД одного вида в другой. ТОЛЬКО список сотрудников. Период один. Постоянные ТД или нет, не имеет значения, как правило, не постоянные. Просто у клиента все удержания считаются через ТД. Для каждом ТД приходится заново отбирать тот же список сотрудников. Очень муторно и не производительно.
 
Код
  memvar getlist

  local cResScreen, aSetMin, bKey13, cNumDoc, cLine

  private cTDCode:=tdocsh->dtype

  if !eof()
    cResScreen:=savescreen()
    aSetMin := SaveSet()
    bKey13:=setkey(13, nil)

    dbpush()
    netuse('utdtype', 'salary\tdtypes')

    utdtype->(ordsetfocus('_01'), ;
      MakeRefer('utdref', 'Справочник типов табличных документов', 1, {'Код', 'Наименование', 'Код н/у'}, {3, 3, 7}, 'n/w,w+/n', {'DTYPE'}, {'cTDCode'}, 'Upper(cTDCode)', ;
         {{|| field->dtype}, {|| field->name}, {|| field->inout}}))

    ShadowBox(' Выбор типа ТД для копирования ',10,02,12,47,"N/BG")
    getlist:={}
    @ 11,04 SAY "Копировать в ТД.:" COLOR "N/BG" GET cTDCode COLOR "N/W,GR+/N" valid !empty(cTDCode)
    GetList[1]:reader:={|oGet| refergetreader(oGet, 'utdref') }
    
    READ
     
    RestScreen(,,,,cResScreen)
    setkey(13, bKey13)

    if lastkey()<>27 .and. utdtype->(dbseek(upper(cTDCode))) .and. yesorno('Копировать список работников из этого ТД'+chr(10)+chr(13)+'в ТД '+cTDCode+' '+alltrim(utdtype->name))
      netuse('utdh', 'salary\tdocsh')
      netuse('utdc', 'salary\tdocsc')
      netuse('utdcols', 'salary\tdcols')
      cLine:=utdcols->(ordsetfocus('_01'), setscope('upper(dtype)', upper(cTDCode)), dbgobottom(), if(eof(), '', replicate('0              0', scopecount())))

      cNumDoc:=utdh->(ordsetfocus('_01'), setscope('upper(dtype)', upper(cTDCode)), dbgobottom(), if(eof(), '000001', next(field->code)))
      utdh->(addrec(), gather(tdocsh->(scatter())), field->dtype:=cTDCode, field->code:=cNumDoc, field->status:='1', field->atotals:=cLine, field->rowid:=xguid(), f_dbunlock())

      tdocsc->(ordsetfocus('_01'), setscope('upper(dtype+code)', upper(tdocsh->dtype+tdocsh->code)), ;
        dbeval({|| utdc->(addrec(), field->dtype:=cTDCode, field->code:=cNumDoc, field->tnum:=tdocsc->tnum, field->asums:=cLine, field->rowid:=xguid(), f_dbunlock()) }), setscope())

      sayandwait('Список работников скопирован.'+chr(10)+chr(13)+'Создан новый ТД с кодом '+cTDCode+' и номером '+cNumDoc)

      utdh->(dbclosearea())
      utdc->(dbclosearea())
      utdcols->(dbclosearea())
    endif

    utdtype->(dbclosearea())

    dbpop()
    RestSet(aSetMin)
  endif

return 
 

Аттракцион невиданной щедрости...
С уважением, Новиков Алексей.
 
Цитата
Алексей Новиков пишет:
Аттракцион невиданной щедрости...


:lol: Хорошо :super:
 
Цитата
Алексей Новиков пишет:
Код
 Аттракцион невиданной щедрости...
Спасибо огромное. Разбираюсь с Вашим подарком
Страницы: 1
Читают тему (гостей: 1)