Code: |
Function PrnCennik() Private oApp, nCol, nRow, oTabl, sStr, oInputField, oSection DbPush("aZebra",,"Ins") aZebra->(DbGoTop()) If aZebra->(!Eof()) TRY oApp := CreateObject("V77.Application") CATCH Alert("Программа 1С не доступена!") DbPop() Return END oApp:Initialize(oApp:RmTrade,"/D" + OemToAnsi(aPars[2]) + " /M","") nCol := 3 nRow := 0 sStr := OemToAnsi("CreateObject("+Chr(34)+"Таблица"+Chr(34)+")") oTabl := oApp:EvalExpr(sStr) oTabl:SourceTable(OemToAnsi(aPars[1])) Do While aZebra->(!Eof()) nCol := If(nCol > 1, 0, nCol + 1) nRow := If(nCol = 0, nRow + 1, nRow) If nRow > 7 oTabl:NewPage() nRow := 1 EndIf oSection := oTabl:GetSection(OemToAnsi("Ценник|Верт_Секция")) oInputField := oSection:Area("R2C1:R2C4") oInputField:Text := OemToAnsi(AllTrim(mlabel->Name)) oInputField := oSection:Area("R3C2") oInputField:Text := OemToAnsi(AllTrim(mlabel->Marka)) oInputField := oSection:Area("R3C4") oInputField:Text := Round(mlabel->Koef1,3) oInputField := oSection:Area("R4C1:R4C4") oInputField:Text := OemToAnsi("Цена "+AllTrim(Str(mPrice->SumOutr,19,2))+" руб.") If nCol = 0 oTabl:PutSection(oSection) Else oTabl:AttachSection(oSection) EndIf aZebra->(Reclock()) aZebra->Ins := .F. aZebra->(f_DbUnLock()) aZebra->(DbSkip()) EndDo oTabl:Print(0) EndIf DbPop() Return |
Балуев Максим wrote: |
Писал я как-то печать ценников в 1с (до sStr := OemToAnsi("CreateObject("+Chr(34)+"Таблица"+Chr(34)+")")
oTabl := oApp:EvalExpr(sStr) oTabl:SourceTable(OemToAnsi(aPars[1])) oSection := oTabl:GetSection(OemToAnsi("Ценник|Верт_Секция")) |
GVA wrote: |
Тему действительно закрываем. У меня отработал вариант:
sStr :='CreateObject('+chr(34)+Oemtoansi("Справочник.Номенклатура")+chr(34)+')' |
output generated using printer-friendly topic mod. All times are GMT + 4 Hours