ПРОДАЖИ
+7 (991) 312-04-37
trade@bestnet.ru
Авторизация

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

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


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

Форум

Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Помогите кто чем может по электронным накладным
 
Думаю, что Вопрос неоднократно подымался, но я ни чего толком не нашел.
Сам плагины не писал, вносил только поправки в стандартные БЭСТ-овские.
Языка Clipper тем более Harbor не знаю, разбираться обычно времени не хватает.
Вопрос в том, что надо выгрузить накладную в TXT имеется шапка накладной и строки, поля которых разделены ";". Если есть, что-то похожее - готовое, буду очень благодарен.
 
С полным текстом не помогу, аврал.
А вот заготовку смотри:
Код
altd()
usr_exp()
// Вывод в файл данных
function usr_exp()
local cTime,cDate
private RepFile,RepName
dbpush()
//Меняем формат даты по требованиям формата
set date format "ddmm"
//Формируем имя выходного файла
RepName:=B6_DBF_PATH +'user\'+alltrim(dtoc(date()))+alltrim(str(nnumber))+'out.txt'
//if nnumber=1
//Создаем файл
RepFile:=FCreate(RepName)
If RepFile<=0
  SayError('Не возможно создать файл отчета!')
  Error()
EndIf
//if nnumber>1
//RepFile:=fopen(repname)
//nl:=fseek(RepFile,0,)
//endif
set date format "yyyy.mm.dd"
cTime:=time() //получаем системное время
cDate:=dtoc(date())
//Примеры формирования строк
torep(left(cdate,4)+SubStr(cDate,6,2)+right(cdate,2)+' '+SubStr( cTime, 1, 2)+SubStr( cTime, 4, 2))
torep(alltrim(partner->orgname))
torep(alltrim(partner->code_inn)+"/"+alltrim(partner->code_kpp))
torep(alltrim(str(mdoc->sum_nds)))
torep(alltrim(str(mdoc->sumoutr)))
//таблица 
//выделяем mdocm накладываем скоб по условию (надо смотреть по индексу)
//делаем перебор строк с выгрузкой в файл, учитывая формат.

sayandwait("Выгрузка успешно произведена!")

dbpop()
// Закрытие файла и просмотр
if nnumber=nkolstrok
FClose(RepFile)
endif
return

static procedure ToRep(S)
 Private I
  If S=Nil
    S:=''
  EndIf
  If ValType(S)='N'
    I:=1
    Do While I<=S
      FWrite(RepFile,Chr(13)+Chr(10))
      I:=I+1
    EndDo
  Else
    FWrite(RepFile,ansitooem(alltrim(S))+Chr(13)+Chr(10))
  EndIf
Return


Только как пример, внимательнее с датами, если используется изменение формата. Лучше не использовать set date format
а взять дату в переменную и из нее уже выдергивать то что надо.
Часть кода используется при обработке нескольких накладных.
//if nnumber>1
//RepFile:=fopen(repname)
//nl:=fseek(RepFile,0,)
//endif
Пишешь свой текст и привязываешь в реестре накладных.
Посмотреть поля, условия индексов и т.д. можно в отладчике.
Главное начни сам.
С уважением,
Ильин Евгений
 
премного благодарен, вечером сяду разбираться, о результатах отпишу
Страницы: 1
Читают тему (гостей: 1)