С полным текстом не помогу, аврал.
А вот заготовку смотри:
Код |
---|
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
Пишешь свой текст и привязываешь в реестре накладных.
Посмотреть поля, условия индексов и т.д. можно в отладчике.
Главное начни сам.