AT-2000 » Чт окт 18, 2012 3:50 pm
Вообщем я подкоректировал файл экспорта в МЕДОК
Теперь можно экспортировать в АРТ ЗВИТ, БЕСТ звит, ОПЗ, или просто подписывать и отсылать при помощи ПО Захист звітності ДПІ
- Код: Выделить всё
include("Objects/DpXMLDomDocument.js");
include("Objects/DpExtentionBuilder.js");
function ExportDocsToMedoc(oDoc, docLabel, nID, numFromJrn)
{
if (!nID)
nID = "EXPORT_TO_MEDOC";
var forg = oDoc.getVar(oDoc.getVar("ATTR.FLDORG"));
ExecuteSQL("UPDATE ^" + oDoc.getTableName() + " SET FERPN=1 WHERE fwid=" + oDoc.getID(), false)
var xml = new DpXMLDOMDocument();
with(xml)
{
if (docLabel.toUpperCase() == "VR" || docLabel.toUpperCase() == "PP"
|| (docLabel.toUpperCase() == "NV" && nID == "EXPORT_TO_MEDOC3"))
{
with( createChild("DECLAR"))
{
setAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
if (differ(oDoc.getVar("HDAT"), new Date(2011, 11, 16)) >= 0)
setAttribute("xsi:noNamespaceSchemaLocation", "J1201204.xsd");
else
setAttribute("xsi:noNamespaceSchemaLocation", "J1201203.xsd");
with (createChild("DECLARHEAD"))
{
createChild("TIN", getPar("OOKPO"));
createChild("C_DOC", "J12");
createChild("C_DOC_SUB", "012");
if (differ(oDoc.getVar("HDAT"), new Date(2011, 11, 16)) >= 0)
createChild("C_DOC_VER", "4");
else
createChild("C_DOC_VER", "3");
createChild("C_DOC_TYPE", "0");
createChild("C_DOC_CNT", "1");
createChild("C_REG", getOrgVar("C_REG")+getOrgVar("FIRM_SPODU"));
createChild("C_RAJ", "1"); //Район
createChild("PERIOD_MONTH", format("m", oDoc.getVar("HDAT")))
createChild("PERIOD_TYPE", "1");
createChild("PERIOD_YEAR", format("yyyy", oDoc.getVar("HDAT")))
createChild("D_FILL", format("ddmmyyyy", new Date()));
createChild("SOFTWARE", "DPA");
}
with (createChild("DECLARBODY"))
{
createChild("HORIG", 1);
createChild("HERPN", 1);
if (docLabel.toUpperCase() == "PP" )
createChild("HFILL", format("ddmmyyyy", oDoc.getVar("HTAXDAT")));
else
createChild("HFILL", format("ddmmyyyy", oDoc.getVar("HDAT")));
if (docLabel.toUpperCase() == "NV" )
createChild("HNUM", oDoc.getVar("HNOM"));
else
createChild("HNUM", oDoc.getVar("HTAXNOM"));
if (docLabel.toUpperCase() == "VR" )
{
if (oDoc.getExt("HNOM"))
{
createChild("HPODFILL", format("ddmmyyyy", oDoc.getExt("HNOM1")));
createChild("HPODNUM", oDoc.getExt("HNOM"));
}
else
{
createChild("HPODFILL", format("ddmmyyyy", oDoc.getVar("HDVDAT")));
createChild("HPODNUM", oDoc.getVar("HDVNOM"));
}
}
else if (docLabel.toUpperCase() == "NV" )
{
createChild("HPODFILL", format("ddmmyyyy", oDoc.getVar("HCORDAT")));
createChild("HPODNUM", oDoc.getVar("HCORNOM"));
}
if (docLabel.toUpperCase() == "NV" )
{
if(oDoc.getVar("HNCONTR"))
{
createChild("H01G1D", format("ddmmyyyy", oDoc.getVar("HDCONTR")));
createChild("H01G2S", oDoc.getVar("HNCONTR"));
}
else if(oDoc.getVar("EXT.DOC_OUT") && oDoc.getVar("EXT.ID_OUT"))//на ЧТГ в NV договор не указывается, но есть расширения ссылки на базовый документ
{
var dogID = getDogID(oDoc.getVar("EXT.DOC_OUT"), oDoc.getVar("EXT.ID_OUT"));
if(dogID)
{
createChild("H01G2S", getDogNumByID(dogID));
createChild("H01G1D", format("ddmmyyyy", getDogDatByID(dogID)));
}
else
{
if(typeof(getUgodaNum)=="function")
createChild("H01G2S", getUgodaNum(null, forg, oDoc.getVar("HDAT")));
if(typeof(getUgodaDat)=="function")
createChild("H01G1D", format("ddmmyyyy", getUgodaDat(null, forg, oDoc.getVar("HDAT"))));
}
}
}
else
{
if (oDoc.getVar("HID_DOG"))
{
createChild("H01G1D", format("ddmmyyyy", tdog(oDoc.getVar("HID_DOG"),'FDOC_DAT')));
createChild("H01G2S", tdog(oDoc.getVar("HID_DOG"),'FDOG_NUM'));
}
else
{
createChild("H01G1D", format("ddmmyyyy", oDoc.getVar("HDAT")));
createChild("H01G2S", oDoc.getVar("HNOM"));
}
}
if (docLabel.toUpperCase() == "NV")
createChild("H02G1S", tcl('CL','',oDoc.getPar("_tcontract"),oDoc.getVar("HTCONTR")));
else
createChild("H02G1S", oDoc.getVar("HPRCOND"));
var id_dog = oDoc.getVar("HID_DOG");
var dog_num = getDogNumByID(id_dog);
var dog_dat = getDogDatByID(id_dog);
createChild("H02G2D", format("ddmmyyyy", dog_dat?dog_dat:(docLabel.toUpperCase() == "NV"?oDoc.getVar("HDCONTR"):oDoc.getVar("HDVDAT"))));
createChild("H02G3S", dog_num?dog_num:(docLabel.toUpperCase() == "NV"?oDoc.getVar("HNCONTR"):oDoc.getVar("HDVNOM")));
createChild("H03G1S", oDoc.getVar("HOP_FORM"));
//createChild("H04G1D", "02032010"); // дата оплаты ?
createChild("HNAMESEL", getPar("MEDOC_ORG0_NAME")?getPar("MEDOC_ORG0_NAME"):getPar("OFIRM"));
createChild("HKSEL", getPar("OKODNDS"));
createChild("HNSPDVSEL", tforg('REGIS', oDoc.getVar("HORG0"), oDoc.getVar("HDAT")));
createChild("HLOCSEL", getPar("MEDOC_ORG0_ADR")?getPar("MEDOC_ORG0_ADR"):tcl('ORG', 'FADR', oDoc.getVar("HORG0")));
createChild("HTELSEL", replace(replace(replace(replace(tforg('CALLCOD')+getPar("OPHONE"),"-","") ,'\\(', ""),"\\)","")," ",""));
createChild("HNAMEBUY", tcl('ORG', 'TXT', forg));
createChild("HKBUY", tforg('CODNDS',forg));
createChild("HNSPDVBUY", tforg( 'REGIS', forg, oDoc.getVar("HDAT")));
createChild("HLOCBUY", typeof(getAdresCTG)=="function"?getAdresCTG(forg):tcl('ORG', 'FADR', forg));
createChild("HTELBUY", replace(replace(replace(replace(tforg('CALLCOD',forg)+tforg('PHONE',forg),"-","") ,'\\(', ""),"\\)","")," ",""));
if (docLabel.toUpperCase() == "VR" || docLabel.toUpperCase() == "NV")
{
nsumm9All = 0;
nsumm92All = 0;
nsumm10All = 0;
nsumm11All = 0;
if (oDoc.gotoFirstRow())
{
var nRow = 0;
while(oDoc.gotoNextRow())
{
var currRow = oDoc.getCurrRow();
nRow++;
var aAttrRow = {"ROWNUM": nRow};
var sPr = oDoc.getVar("XHPR");
if(!sPr || String(sPr).trim()=="")
sPr = 'Повернення товару';
if (docLabel.toUpperCase() == "NV")
sPr = tcl('CL','',oDoc.getPar("_reason"), currRow.getVar("RCODREM"));
rtnmk = currRow.getVar("RTNMK");
createChild("RXXXXG1D", format("ddmmyyyy", oDoc.getVar("HDAT")), aAttrRow);
createChild("RXXXXG2S", sPr, aAttrRow);
createChild("RXXXXG3S", tfnmk('TXT',rtnmk), aAttrRow);
if (getPar("CODTNVED"))
createChild("RXXXXG4", tcl("CL", "FTCOD", getPar("CODTNVED"), tfnmk("TNVED", rtnmk)), aAttrRow);
createChild("RXXXXG4S", tcl('NMK','VID',rtnmk)=='S'?'грн.':tfnmk('EDI',rtnmk), aAttrRow);
if (docLabel.toUpperCase() == "NV")
{
if (currRow.getVar("RKOLCOR")!=0)
{
if (abs(currRow.getVar("RKOLCOR"))==abs(currRow.getVar("RKOL")))
createChild("RXXXXG5", currRow.getVar("RKOLCOR"), aAttrRow);
else
createChild("RXXXXG5", currRow.getVar("RKOLCOR")-currRow.getVar("Rkol"), aAttrRow);
createChild("RXXXXG6", currRow.getVar("ROCENA"), aAttrRow);
}
if (currRow.getVar("RCENACOR")!=0)
{
if (abs(currRow.getVar("RCENACOR"))==abs(currRow.getVar("ROCENA")))
createChild("RXXXXG7", currRow.getVar("RCENACOR"), aAttrRow);
else
createChild("RXXXXG7", currRow.getVar("RCENACOR")-currRow.getVar("Rocena"), aAttrRow);
createChild("RXXXXG8", currRow.getVar("RKOL"), aAttrRow);
}
nsumm9 = currRow.getVar("RSUM20")!=0?(currRow.getVar("RCENACOR")!=0?(abs(currRow.getVar("RCENACOR"))==abs(currRow.getVar("ROCENA"))?
currRow.getVar("RCENACOR")*currRow.getVar("RKOL"):
(currRow.getVar("RCENACOR")-currRow.getVar("ROCENA"))*currRow.getVar("RKOL")):
(abs(currRow.getVar("RKOLCOR"))==abs(currRow.getVar("RKOL"))?
currRow.getVar("RKOLCOR")*currRow.getVar("ROCENA"):
(currRow.getVar("RKOLCOR")-currRow.getVar("RKOL"))*currRow.getVar("ROCENA"))):0;
//nsumm9All = nsumm9All - abs(nsumm9);
nsumm9All += nsumm9;
if (currRow.getVar("RCENACOR")!=0&&currRow.getVar("RSUM20")!=0&&(abs(currRow.getVar("RCENACOR"))!=abs(currRow.getVar("ROCENA"))))
nsumm92All = nsumm92All + ((currRow.getVar("RCENACOR")-currRow.getVar("Rocena"))*currRow.getVar("Rkol"))*0.2;
if (currRow.getVar("RKOLCOR")!=0&&currRow.getVar("RSUM20")!=0&&(abs(currRow.getVar("RKOLCOR"))!=abs(currRow.getVar("RKOL"))))
nsumm92All = nsumm92All + (currRow.getVar("ROCENA")*(currRow.getVar("RKOLCOR")-currRow.getVar("RKOL")))*0.2;
if (currRow.getVar("RCENACOR")!=0&&currRow.getVar("RSUM20")!=0&&(abs(currRow.getVar("RCENACOR"))==abs(currRow.getVar("ROCENA"))))
nsumm92All = nsumm92All + (currRow.getVar("RCENACOR")*currRow.getVar("RKOL"))*0.2;
if (currRow.getVar("RKOLCOR")!=0&&currRow.getVar("RSUM20")!=0&&(abs(currRow.getVar("RKOLCOR"))==abs(currRow.getVar("RKOL"))))
nsumm92All = nsumm92All + (currRow.getVar("ROCENA")*currRow.getVar("RKOLCOR"))*0.2;
nsumm10 = currRow.getVar("RSUM00")!=0||currRow.getVar("RSUME0")!=0?(currRow.getVar("RCENACOR")!=0?(abs(currRow.getVar("RCENACOR"))==abs(currRow.getVar("ROCENA"))?
currRow.getVar("RCENACOR")*currRow.getVar("RKOL"):
(currRow.getVar("RCENACOR")-currRow.getVar("ROCENA"))*currRow.getVar("RKOL")):
(abs(currRow.getVar("RKOLCOR"))==abs(currRow.getVar("RKOL"))?
currRow.getVar("RKOLCOR")*currRow.getVar("ROCENA"):
(currRow.getVar("RKOLCOR")-currRow.getVar("RKOL"))*currRow.getVar("ROCENA"))):0;
nsumm10All = nsumm10All + nsumm10;
nsumm11 = currRow.getVar("RSUMA0")!=0?(currRow.getVar("RCENACOR")!=0?(abs(currRow.getVar("RCENACOR"))==abs(currRow.getVar("ROCENA"))?
currRow.getVar("RCENACOR")*currRow.getVar("RKOL"):
(currRow.getVar("RCENACOR")-currRow.getVar("ROCENA"))*currRow.getVar("RKOL")):
(abs(currRow.getVar("RKOLCOR"))==abs(currRow.getVar("RKOL"))?
currRow.getVar("RKOLCOR")*currRow.getVar("ROCENA"):
(currRow.getVar("RKOLCOR")-currRow.getVar("RKOL"))*currRow.getVar("ROCENA"))):0;
nsumm11All = nsumm11All + nsumm11;
createChild("RXXXXG9", nsumm9, aAttrRow);
createChild("RXXXXG10", nsumm10, aAttrRow);
createChild("RXXXXG11", nsumm11, aAttrRow);
}
else
{
createChild("RXXXXG5", -1 * currRow.getVar("RKOL"), aAttrRow);
createChild("RXXXXG6", currRow.getVar("ROCENA"), aAttrRow);
createChild("RXXXXG9", -1 * currRow.getVar("ROCENA")*currRow.getVar("RKOL"), aAttrRow);
}
}
}
if (docLabel.toUpperCase() == "VR")
{
createChild("R01G9", -1 * oDoc.getVar("HOSUM"));
createChild("R02G9", -1 * oDoc.getVar("HSNDS"));
}
else
{
createChild("R01G9", nsumm9All);
createChild("R02G9", nsumm92All);
createChild("R01G10", nsumm10All);
createChild("R01G11", nsumm11All);
}
var nMen = oDoc.getRegAttr(getJrName(oDoc), "MNG");
if(Number(nMen) && getPar("PR_CODMNG"))
{
var sMen = tcl('CL', 'TXT', getPar("PR_CODMNG"), nMen);
createChild("H10G2S", sMen);
}
else
{
var mng = getManagerFromExt(oDoc);
if(mng)
createChild("H10G2S", mng);
else
createChild("H10G2S", getPar("OBUCH"));
}
}
else if (docLabel.toUpperCase() == "PP")
{
nRow = 1;
var aAttrRow = {"ROWNUM": nRow};
createChild("RXXXXG1D", format("ddmmyyyy", oDoc.getVar("HTAXDAT")), aAttrRow);
createChild("RXXXXG2S", 'Повернення коштів', aAttrRow);
createChild("RXXXXG3S", oDoc.getVar("HTOVAR"), aAttrRow);
createChild("RXXXXG4S", 'шт', aAttrRow);
createChild("RXXXXG7", -1 * (oDoc.getVar("HSUM") - oDoc.getVar("HNDS")), aAttrRow);
createChild("RXXXXG8", 1, aAttrRow);
createChild("RXXXXG9", -1 * (oDoc.getVar("HSUM") - oDoc.getVar("HNDS")), aAttrRow);
createChild("R01G9", -1 * (oDoc.getVar("HSUM")-oDoc.getVar("HNDS")));
createChild("R02G9", -1 * (oDoc.getVar("HNDS")));
createChild("R01G7", oDoc.getVar("HSUM"));
//createChild("R01G11", oDoc.getVar("HSUM"));
createChild("R03G7", oDoc.getVar("HNDS"));
createChild("R03G11", oDoc.getVar("HNDS"));
createChild("R04G7", oDoc.getVar("HSUM")+oDoc.getVar("HNDS"));
createChild("R04G11", oDoc.getVar("HSUM")+oDoc.getVar("HNDS"));
var nMen = oDoc.getRegAttr(getJrName(oDoc), "MNG");
if(Number(nMen) && getPar("PR_CODMNG"))
{
var sMen = tcl('CL', 'TXT', getPar("PR_CODMNG"), nMen);
createChild("H10G2S", sMen);
}
else
{
var mng = getManagerFromExt(oDoc);
if(mng)
createChild("H10G2S", mng);
else
createChild("H10G2S", getPar("OBUCH"));
}
}
createChild("H10G1D", format("ddmmyyyy", oDoc.getVar("HDAT")));
//createChild("H10G2S", oDoc.getVar("HTAXNOM"));
}
}
}
else
{
with( createChild("DECLAR"))
{
setAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
setAttribute("xsi:noNamespaceSchemaLocation", "J1201004.xsd");
with (createChild("DECLARHEAD"))
{
createChild("TIN", getPar("OOKPO"));
createChild("C_DOC", "J12");
createChild("C_DOC_SUB", "010");
createChild("C_DOC_VER", "4");
createChild("C_DOC_TYPE", "0");
createChild("C_DOC_CNT", "1");
createChild("C_REG", getOrgVar("C_REG")+""+getOrgVar("FIRM_SPODU"));
createChild("C_RAJ", "1"); //Район
createChild("PERIOD_MONTH", format("m", oDoc.getVar("HDAT")))
createChild("PERIOD_TYPE", "1");
createChild("PERIOD_YEAR", format("yyyy", oDoc.getVar("HDAT")))
createChild("D_FILL", format("ddmmyyyy", new Date()));
createChild("SOFTWARE", "DPA");
}
if (docLabel.toUpperCase() == "BS")
{
with (createChild("DECLARBODY"))
{
var nom = oDoc.getVar("HTAXNOM");
if (!nom)
nom = oDoc.getVar("HNOM");
var dat = oDoc.getVar("HTAXDAT");
if (!differ(oDoc.getVar("HTAXDAT"), d00))
dat = oDoc.getVar("HDAT")
createChild("HORIG", 1);
createChild("HERPN", 1);
createChild("HFILL", format("ddmmyyyy", dat));
createChild("HNUM", nom);
if(oDoc.getVar("HID_DOG"))
createChild("H01G2D", format("ddmmyyyy", tdog(oDoc.getVar("HID_DOG"),'FDOC_DAT')));
createChild("H01G3S", oDoc.getVar("HGROUP"));
createChild("H02G1S", "Оплата з поточного рахунку");
var nMen = oDoc.getRegAttr(getJrName(oDoc), "MNG");
if(Number(nMen) && getPar("PR_CODMNG"))
{
var sMen = tcl('CL', 'TXT', getPar("PR_CODMNG"), nMen);
createChild("H10G1S", sMen);
}
else
{
var mng = getManagerFromExt(oDoc);
if(mng)
createChild("H10G1S", mng);
else
createChild("H10G1S", getPar("OBUCH"));
}
if (nID == "EXPORT_TO_MEDOC2")
{
// полученные
createChild("H01G1S", "Договір купівлі-продажу");
createChild("HNAMEBUY", getPar("MEDOC_ORG0_NAME")?getPar("MEDOC_ORG0_NAME"):getPar("OFIRM"));
createChild("HKBUY", getPar("OKODNDS"));
createChild("HNSPDVBUY", tforg('REGIS', oDoc.getVar("HORG0"), oDoc.getVar("HDAT")));
createChild("HLOCBUY", getPar("MEDOC_ORG0_ADR")?getPar("MEDOC_ORG0_ADR"):tcl('ORG', 'FADR', oDoc.getVar("HORG0")));
createChild("HTELBUY", replace(replace(replace(replace(tforg('CALLCOD')+getPar("OPHONE"),"-","") ,'\\(', ""),"\\)","")," ",""));
createChild("HNAMESEL", tcl('ORG', 'TXT', forg));
createChild("HKSEL", tforg('CODNDS',forg));
createChild("HNSPDVSEL", tforg( 'REGIS', forg, oDoc.getVar("HDAT")));
createChild("HLOCSEL", typeof(getAdresCTG)=="function"?getAdresCTG(forg):tcl('ORG', 'FADR', forg));
createChild("HTELSEL", replace(replace(replace(replace(tforg('CALLCOD',forg)+tforg('PHONE',forg),"-","") ,'\\(', ""),"\\)","")," ",""));
}
else
{
// выданные
createChild("H01G1S", "Договір про надання послуг");
createChild("HNAMESEL", getPar("MEDOC_ORG0_NAME")?getPar("MEDOC_ORG0_NAME"):getPar("OFIRM"));
createChild("HKSEL", getPar("OKODNDS"));
createChild("HNSPDVSEL", tforg('REGIS', oDoc.getVar("HORG0"), oDoc.getVar("HDAT")));
createChild("HLOCSEL", getPar("MEDOC_ORG0_ADR")?getPar("MEDOC_ORG0_ADR"):tcl('ORG', 'FADR', oDoc.getVar("HORG0")));
createChild("HTELSEL", replace(replace(replace(replace(tforg('CALLCOD')+getPar("OPHONE"),"-","") ,'\\(', ""),"\\)","")," ",""));
createChild("HNAMEBUY", tcl('ORG', 'TXT', forg));
createChild("HKBUY", tforg('CODNDS',forg));
createChild("HNSPDVBUY", tforg( 'REGIS', forg, oDoc.getVar("HDAT")));
createChild("HLOCBUY", typeof(getAdresCTG)=="function"?getAdresCTG(forg):tcl('ORG', 'FADR', forg));
createChild("HTELBUY", replace(replace(replace(replace(tforg('CALLCOD',forg)+tforg('PHONE',forg),"-","") ,'\\(', ""),"\\)","")," ",""));
}
var aAttrRow = {"ROWNUM": 1};
createChild("RXXXXG2D", format("ddmmyyyy", dat), aAttrRow);
createChild("RXXXXG3S", oDoc.getVar("HREM"), aAttrRow);
//createChild("RXXXXG4", 1, aAttrRow);
createChild("RXXXXG4S", "Грн.", aAttrRow);
//createChild("RXXXXG5", 1, aAttrRow);
createChild("RXXXXG5S", "Послуга", aAttrRow);
createChild("RXXXXG6", oDoc.getVar("HSUM"), aAttrRow);
createChild("RXXXXG7", oDoc.getVar("HSUM"), aAttrRow);
createChild("R01G7", oDoc.getVar("HSUM"));
createChild("R01G11", oDoc.getVar("HSUM"));
createChild("R03G7", oDoc.getVar("HSUMI"));
createChild("R03G11", oDoc.getVar("HSUMI"));
createChild("R04G7", oDoc.getVar("HSUM")+oDoc.getVar("HSUMI"));
createChild("R04G11", oDoc.getVar("HSUM")+oDoc.getVar("HSUMI"));
}
}
else if (docLabel.toUpperCase() == "NK" || docLabel.toUpperCase() == "PN")
{
with (createChild("DECLARBODY"))
{
createChild("HORIG", 1);
createChild("HERPN", 1);
createChild("HFILL", format("ddmmyyyy", oDoc.getVar("HTAXDAT")));
createChild("HNUM", oDoc.getVar("HTAXNOM"));
createChild("H01G1S", oDoc.getVar("HPRCOND"));
var nMen = oDoc.getRegAttr(getJrName(oDoc), "MNG");
if(Number(nMen) && getPar("PR_CODMNG"))
{
var sMen = tcl('CL', 'TXT', getPar("PR_CODMNG"), nMen);
createChild("H10G1S", sMen);
}
else
{
var mng = getManagerFromExt(oDoc);
if(mng)
createChild("H10G1S", mng);
else
createChild("H10G1S", getPar("OBUCH"));
}
if (oDoc.getVar("HID_DOG"))
{
createChild("H01G2D", format("ddmmyyyy", tdog(oDoc.getVar("HID_DOG"),'FDOC_DAT')));
createChild("H01G3S", tdog(oDoc.getVar("HID_DOG"),'FDOG_NUM'));
}
else
{
createChild("H01G2D", format("ddmmyyyy", oDoc.getVar("HDAT")));
createChild("H01G3S", oDoc.getVar("HNOM"));
}
createChild("H02G1S", oDoc.getVar("HOPFORM"));
var namesel = docLabel.toUpperCase() == "PN"?tcl('ORG', 'TXT', forg):(getPar("MEDOC_ORG0_NAME")?getPar("MEDOC_ORG0_NAME"):getPar("OFIRM"));
var ksel = docLabel.toUpperCase() == "PN"?tforg('CODNDS',forg):getPar("OKODNDS");
var nspdvsel = docLabel.toUpperCase() == "PN"?tforg( 'REGIS', forg, oDoc.getVar("HDAT")):tforg('REGIS', oDoc.getVar("HORG0"), oDoc.getVar("HDAT"));
var locsel = docLabel.toUpperCase() == "PN"?(typeof(getAdresCTG)=="function"?getAdresCTG(forg):tcl('ORG', 'FADR', forg)):(getPar("MEDOC_ORG0_ADR")?getPar("MEDOC_ORG0_ADR"):tcl('ORG', 'FADR', oDoc.getVar("HORG0")));
var telsel = docLabel.toUpperCase() == "PN"?replace(replace(replace(replace(tforg('CALLCOD',forg)+tforg('PHONE',forg),"-","") ,'\\(', ""),"\\)","")," ",""):replace(replace(replace(replace(tforg('CALLCOD')+getPar("OPHONE"),"-","") ,'\\(', ""),"\\)","")," ","");
createChild("HNAMESEL", namesel);
createChild("HKSEL", ksel);
createChild("HNSPDVSEL", nspdvsel);
createChild("HLOCSEL", locsel);
createChild("HTELSEL", telsel);
var namebuy = docLabel.toUpperCase() == "PN"?(getPar("MEDOC_ORG0_NAME")?getPar("MEDOC_ORG0_NAME"):getPar("OFIRM")):tcl('ORG', 'TXT', forg);
var kbuy = docLabel.toUpperCase() == "PN"?getPar("OKODNDS"):tforg('CODNDS',forg);
var nspdvbuy = docLabel.toUpperCase() == "PN"?tforg('REGIS', oDoc.getVar("HORG0"), oDoc.getVar("HDAT")):tforg( 'REGIS', forg, oDoc.getVar("HDAT"));
var locbuy = docLabel.toUpperCase() == "PN"?(getPar("MEDOC_ORG0_ADR")?getPar("MEDOC_ORG0_ADR"):tcl('ORG', 'FADR', oDoc.getVar("HORG0"))):(typeof(getAdresCTG)=="function"?getAdresCTG(forg):tcl('ORG', 'FADR', forg));
var telbuy = docLabel.toUpperCase() == "PN"?replace(replace(replace(replace(tforg('CALLCOD')+getPar("OPHONE"),"-","") ,'\\(', ""),"\\)","")," ",""):replace(replace(replace(replace(tforg('CALLCOD',forg)+tforg('PHONE',forg),"-","") ,'\\(', ""),"\\)","")," ","");
createChild("HNAMEBUY", namebuy);
createChild("HKBUY", kbuy);
createChild("HNSPDVBUY", nspdvbuy);
createChild("HLOCBUY", locbuy);
createChild("HTELBUY", telbuy);
if (oDoc.gotoFirstRow())
{
var nRow = 0;
while(oDoc.gotoNextRow())
{
var currRow = oDoc.getCurrRow();
nRow++;
var aAttrRow = {"ROWNUM": nRow};
rtnmk = currRow.getVar("RTNMK");
//alert(rtnmk + " | " + tfnmk('TXT',rtnmk) + " | " + tfnmk('OUTID',rtnmk) );
//showObject(currRow);
createChild("RXXXXG2D", format("ddmmyyyy", oDoc.getVar("HTAXDAT")), aAttrRow);
createChild("RXXXXG3S", tfnmk('TXT',rtnmk), aAttrRow);
if(getPar("CODTNVED"))
createChild("RXXXXG4", tcl("CL", "FTCOD", getPar("CODTNVED"), tfnmk("TNVED", rtnmk)), aAttrRow);
else
{
var kved = "";
var oSnap = getSnap("select FOUTID from ^CL_NMK where fwid="+rtnmk);
if (oSnap != null && oSnap[0])
{
var oSnap2 = getSnap("select VED from " + getPath("CL_MDB") + "..[vCodeVedForDebet] where goodid= "+oSnap[0],false);
if (oSnap2 != null)
createChild("RXXXXG4", oSnap2[0], aAttrRow);
}
}
createChild("RXXXXG4S", tcl('NMK','VID',rtnmk)=='S'?'грн.':tfnmk('EDI',rtnmk), aAttrRow);
if (tcl('NMK','VID',rtnmk)=='S')
createChild("RXXXXG5S", 'послуга', aAttrRow);
else
createChild("RXXXXG5", currRow.getVar("RKOL"), aAttrRow);
var cena = docLabel.toUpperCase() == "PN"?currRow.getVar("RUCENA"):currRow.getVar("ROCENA");
createChild("RXXXXG6", cena, aAttrRow);
createChild("RXXXXG7", round(cena*currRow.getVar("RKOL"), 2), aAttrRow);
}
}
createChild("R01G7", oDoc.getVar("HSUM"));
createChild("R01G11", oDoc.getVar("HSUM"));
createChild("R03G7", oDoc.getVar("HSNDS"));
createChild("R03G11", oDoc.getVar("HSNDS"));
createChild("R04G7", oDoc.getVar("HSUM")+oDoc.getVar("HSNDS"));
createChild("R04G11", oDoc.getVar("HSUM")+oDoc.getVar("HSNDS"));
}
}
else if (docLabel.toUpperCase() == "NN")
{
with (createChild("DECLARBODY"))
{
createChild("HORIG", 1);
createChild("HERPN", 1);
createChild("HFILL", format("ddmmyyyy", oDoc.getVar("HDAT")));
createChild("HNUM", oDoc.getVar("HNOM"));
// полученные
createChild("H01G1S", "Договір купівлі-продажу");
// createChild("H01G2D", format("ddmmyyyy", oDoc.getVar("HDCONTR")));
// createChild("H01G3S", oDoc.getVar("HNCONTR"));
createChild("H02G1S", oDoc.getVar("HOP_FORM")?oDoc.getVar("HOP_FORM"):getPar("MEDOC_FORM_OPL"));
createChild("HNAMEBUY", getPar("MEDOC_ORG0_NAME")?getPar("MEDOC_ORG0_NAME"):getPar("OFIRM"));
createChild("HKBUY", getPar("OKODNDS"));
createChild("HNSPDVBUY", tforg('REGIS', oDoc.getVar("HORG0"), oDoc.getVar("HDAT")));
createChild("HLOCBUY", getPar("MEDOC_ORG0_ADR")?getPar("MEDOC_ORG0_ADR"):tcl('ORG', 'FADR', oDoc.getVar("HORG0")));
createChild("HTELBUY", replace(replace(replace(replace(tforg('CALLCOD')+getPar("OPHONE"),"-","") ,'\\(', ""),"\\)","")," ",""));
createChild("HNAMESEL", tcl('ORG', 'TXT', forg));
createChild("HKSEL", tforg('CODNDS',forg));
createChild("HNSPDVSEL", tforg( 'REGIS', forg, oDoc.getVar("HDAT")));
createChild("HLOCSEL", typeof(getAdresCTG)=="function"?getAdresCTG(forg):tcl('ORG', 'FADR', forg));
createChild("HTELSEL", replace(replace(replace(replace(tforg('CALLCOD',forg)+tforg('PHONE',forg),"-","") ,'\\(', ""),"\\)","")," ",""));
var aAttrRow = {"ROWNUM": 1};
createChild("RXXXXG2D", format("ddmmyyyy", oDoc.getVar("HDAT")), aAttrRow);
createChild("RXXXXG3S", oDoc.getVar("HREM"), aAttrRow);
//createChild("RXXXXG4", 1, aAttrRow);
createChild("RXXXXG4S", "Грн.", aAttrRow);
createChild("RXXXXG5", 1, aAttrRow);
//createChild("RXXXXG5S", "Послуга", aAttrRow);
createChild("RXXXXG6", oDoc.getVar("HSUM_20"), aAttrRow);
createChild("RXXXXG7", oDoc.getVar("HSUM_20"), aAttrRow);
createChild("R01G7", oDoc.getVar("HSUM_20"));
//createChild("R01G11", oDoc.getVar("HSUM_20"));
createChild("R03G7", oDoc.getVar("HNDS"));
createChild("R03G11", oDoc.getVar("HNDS"));
createChild("R04G7", oDoc.getVar("HSUM_20")+oDoc.getVar("HNDS"));
createChild("R04G11", oDoc.getVar("HSUM_20")+oDoc.getVar("HNDS"));
}
}
else if (docLabel.toUpperCase() == "NV")
{
with (createChild("DECLARBODY"))
{
createChild("HORIG", 1);
if (oDoc.getVar("HERPN"))
createChild("HERPN", 1);
createChild("HFILL", format("ddmmyyyy", oDoc.getVar("HDAT")));
if(numFromJrn && numFromJrn.indexOf("/")>0)
{
var ind = numFromJrn.indexOf("/");
createChild("HNUM", numFromJrn.substr(0,ind));
createChild("HNUM1", numFromJrn.substr(ind+1,1));
createChild("HNUM2", numFromJrn.substr(ind+1));//дополнительный пробел
}
else
{
createChild("HNUM", oDoc.getVar("HNOM"));
createChild("HNUM1", oDoc.getVar("HACTIV"));
createChild("HNUM2", oDoc.getVar("HFIL"));
}
if(oDoc.getVar("HNCONTR"))
{
if(oDoc.getPar("_tcontract") && oDoc.getVar("HTCONTR"))
createChild("H01G1S", tcl('CL','',oDoc.getPar("_tcontract"),oDoc.getVar("HTCONTR")));
createChild("H01G2D", format("ddmmyyyy", oDoc.getVar("HDCONTR")));
createChild("H01G3S", oDoc.getVar("HNCONTR"));
}
else if(oDoc.getVar("EXT.DOC_OUT") && oDoc.getVar("EXT.ID_OUT"))//на ЧТГ в NV договор не указывается, но есть расширения ссылки на базовый документ
{
var dogID = getDogID(oDoc.getVar("EXT.DOC_OUT"), oDoc.getVar("EXT.ID_OUT"));
if(oDoc.getPar("_tcontract") && oDoc.getVar("HTCONTR"))
createChild("H01G1S", tcl('CL','',oDoc.getPar("_tcontract"),oDoc.getVar("HTCONTR")));
else
createChild("H01G1S", "Договір про надання послуг");
if(dogID)
{
createChild("H01G2D", format("ddmmyyyy", getDogDatByID(dogID)));
createChild("H01G3S", getDogNumByID(dogID));
}
else
{
if(typeof(getUgodaDat)=="function")
createChild("H01G2D", format("ddmmyyyy", getUgodaDat(null, forg, oDoc.getVar("HDAT"))));
if(typeof(getUgodaNum)=="function")
createChild("H01G3S", getUgodaNum(null, forg, oDoc.getVar("HDAT")));
}
}
createChild("H02G1S", oDoc.getVar("HOP_FORM")?oDoc.getVar("HOP_FORM"):getPar("MEDOC_FORM_OPL"));
var mng = getManagerFromExt(oDoc);
if(mng)
createChild("H10G1S", mng);
createChild("HNAMESEL", getPar("MEDOC_ORG0_NAME")?getPar("MEDOC_ORG0_NAME"):getPar("OFIRM"));
createChild("HKSEL", getPar("OKODNDS"));
createChild("HNSPDVSEL", tforg('REGIS', oDoc.getVar("HORG0"), oDoc.getVar("HDAT")));
createChild("HLOCSEL", getPar("MEDOC_ORG0_ADR")?getPar("MEDOC_ORG0_ADR"):tcl('ORG', 'FADR', oDoc.getVar("HORG0")));
createChild("HTELSEL", replace(replace(replace(replace(tforg('CALLCOD')+getPar("OPHONE"),"-","") ,'\\(', ""),"\\)","")," ",""));
createChild("HNAMEBUY", tcl('ORG', 'TXT', forg));
createChild("HKBUY", tforg('CODNDS',forg));
createChild("HNSPDVBUY", tforg( 'REGIS', forg, oDoc.getVar("HDAT")));
createChild("HLOCBUY", typeof(getAdresCTG)=="function"?getAdresCTG(forg):tcl('ORG', 'FADR', forg));
createChild("HTELBUY", replace(replace(replace(replace(tforg('CALLCOD',forg)+tforg('PHONE',forg),"-","") ,'\\(', ""),"\\)","")," ",""));
if (oDoc.gotoFirstRow())
{
var nRow = 0;
while(oDoc.gotoNextRow())
{
var currRow = oDoc.getCurrRow();
nRow++;
var aAttrRow = {"ROWNUM": nRow};
rtnmk = currRow.getVar("RTNMK");
createChild("RXXXXG2D", format("ddmmyyyy", oDoc.getVar("HDAT")), aAttrRow);
createChild("RXXXXG3S", tfnmk('TXT',rtnmk), aAttrRow);
if (getPar("CODTNVED"))
createChild("RXXXXG4", tcl("CL", "FTCOD", getPar("CODTNVED"), tfnmk("TNVED", rtnmk)), aAttrRow);
var tedi = tfnmk('EDI',rtnmk);
createChild("RXXXXG4S", tcl('NMK','VID',rtnmk)=='S' && (tedi.toLowerCase()=="послуга" || tedi.toLowerCase()=="услуга")?'грн.':tfnmk('EDI',rtnmk), aAttrRow);
if (tcl('NMK','VID',rtnmk)=='S')
{
if(typeof(getUgodaDoc)=="function" && typeof(getPriceCtg)=="function")
{
if(oDoc.getVar("HNCONTR"))
if(allt(oDoc.getVar("HOP"))==13)//для 13-го журнала цену будем брать из тарифов на газ
var priceCtg = Number(getPriceCtg(forg, oDoc.getVar("HDAT")));
else
var priceCtg = 0;
if(isNaN(priceCtg) || priceCtg==0)
createChild("RXXXXG5S", 'послуга', aAttrRow);
else
{
var kolCtg = currRow.getVar("ROCENA")*currRow.getVar("RKOL")/priceCtg;
createChild("RXXXXG5S", format("#.000",kolCtg), aAttrRow);
}
}
else
createChild("RXXXXG5S", 'послуга', aAttrRow);
}
else
createChild("RXXXXG5", currRow.getVar("RKOL"), aAttrRow);
createChild("RXXXXG6", priceCtg?priceCtg:currRow.getVar("ROCENA"), aAttrRow);
createChild("RXXXXG7", round(currRow.getVar("ROCENA")*currRow.getVar("RKOL"), 2), aAttrRow);
}
}
createChild("R01G7", oDoc.getVar("HSUM"));
createChild("R01G11", oDoc.getVar("HSUM"));
createChild("R03G7", oDoc.getVar("HSNDS"));
createChild("R03G11", oDoc.getVar("HSNDS"));
createChild("R04G7", oDoc.getVar("HSUM")+oDoc.getVar("HSNDS"));
createChild("R04G11", oDoc.getVar("HSUM")+oDoc.getVar("HSNDS"));
}
}
else if (docLabel.toUpperCase() == "PV" || docLabel.toUpperCase() == "PP")
{
with (createChild("DECLARBODY"))
{
createChild("HORIG", 1);
createChild("HERPN", 1);
createChild("HFILL", format("ddmmyyyy", differ(oDoc.getVar("HTAXDAT"), d00)?oDoc.getVar("HTAXDAT") :oDoc.getVar("HDAT")));
createChild("HNUM", oDoc.getVar("HTAXNOM"));
createChild("H01G1S", "Договір купівлі-продажу");
if(oDoc.getVar("HID_DOG"))
createChild("H01G2D", format("ddmmyyyy", tdog(oDoc.getVar("HID_DOG"),'FDOC_DAT')));
createChild("H02G1S", oDoc.getVar("HOPFORM"));
var nMen = oDoc.getRegAttr(getJrName(oDoc), "MNG");
if(Number(nMen) && getPar("PR_CODMNG"))
{
var sMen = tcl('CL', 'TXT', getPar("PR_CODMNG"), nMen);
createChild("H10G1S", sMen);
}
else
{
var mng = getManagerFromExt(oDoc);
if(mng)
createChild("H10G1S", mng);
}
createChild("HNAMEBUY", getPar("MEDOC_ORG0_NAME")?getPar("MEDOC_ORG0_NAME"):getPar("OFIRM"));
createChild("HKBUY", getPar("OKODNDS"));
createChild("HNSPDVBUY", tforg('REGIS', oDoc.getVar("HORG0"), oDoc.getVar("HDAT")));
createChild("HLOCBUY", getPar("MEDOC_ORG0_ADR")?getPar("MEDOC_ORG0_ADR"):tcl('ORG', 'FADR', oDoc.getVar("HORG0")));
createChild("HTELBUY", replace(replace(replace(replace(tforg('CALLCOD')+getPar("OPHONE"),"-","") ,'\\(', ""),"\\)","")," ",""));
createChild("HNAMESEL", tcl('ORG', 'TXT', forg));
createChild("HKSEL", tforg('CODNDS',forg));
createChild("HNSPDVSEL", tforg( 'REGIS', forg, oDoc.getVar("HDAT")));
createChild("HLOCSEL", typeof(getAdresCTG)=="function"?getAdresCTG(forg):tcl('ORG', 'FADR', forg));
createChild("HTELSEL", replace(replace(replace(replace(tforg('CALLCOD',forg)+tforg('PHONE',forg),"-","") ,'\\(', ""),"\\)","")," ",""));
var aAttrRow = {"ROWNUM": 1};
createChild("RXXXXG2D", format("ddmmyyyy", differ(oDoc.getVar("HTAXDAT"), d00)?oDoc.getVar("HTAXDAT") :oDoc.getVar("HDAT")), aAttrRow);
createChild("RXXXXG3S", oDoc.getVar("HTOVAR"), aAttrRow);
createChild("RXXXXG4S", "Грн.", aAttrRow);
createChild("RXXXXG5", 1, aAttrRow);
createChild("RXXXXG6", oDoc.getVar("HSUM")-oDoc.getVar("HNDS"), aAttrRow);
createChild("RXXXXG7", oDoc.getVar("HSUM")-oDoc.getVar("HNDS"), aAttrRow);
createChild("R01G7", oDoc.getVar("HSUM")-oDoc.getVar("HNDS"));
createChild("R01G11", oDoc.getVar("HSUM")-oDoc.getVar("HNDS"));
createChild("R03G7", oDoc.getVar("HNDS"));
createChild("R03G11", oDoc.getVar("HNDS"));
createChild("R04G7", oDoc.getVar("HSUM"));
createChild("R04G11", oDoc.getVar("HSUM"));
}
}
}
}
}
var xmlName = getPar("EXPDIR");
xmlName += (getPar("EXPDIR").right(1) == "\\" || getPar("EXPDIR").right(1) == "/" ? "" : "\\");
xmlName += "to_MEDOC/to_MEDOC" + oDoc.getID() + ".xml";
if(getPar("MEDOC_DIR_NAKL"))//если указана конкретная директория для экспорта накладных, то используем ее
xmlName = getPar("MEDOC_DIR_NAKL")+"/"+getOrgVar("C_REG")+""+getOrgVar("FIRM_SPODU")+format("0000000000", parseInt(getPar("OOKPO")))+"J1201004100"+format("0000000", parseInt(oDoc.getVar("HNOM")))+"1"+format("mm", oDoc.getVar("HDAT"))+format("yyyy", oDoc.getVar("HDAT"))+getOrgVar("C_REG")+""+getOrgVar("FIRM_SPODU") + ".xml";
xml.save(xmlName, "windows-1251");
// alert("Выгрузка окончена - " + xmlName);
}
//определяет имя журнала налоговой регистрации
function getJrName(oDoc)
{
var jType = "S";
var jReg = new DpJRegistrator(oDoc.getVar("HDOC"),oDoc.getVar("HOP"), jType)
var jRegList = jReg.listRegJournals();
var allJournals = jReg.listJournals();
var jrName;
for(var i in jRegList)
{
if (!allJournals[i])
continue;
jrName = i;
}
return jrName;
}
//возвращает менеджера, если он указан в расширении MNG
function getManagerFromExt(oDoc)
{
if(oDoc.getVar("EXT.MNG"))
{
if(typeOf(oDoc.getVar("EXT.MNG")).toLowerCase()=="string")
return getSmallFIO(String(oDoc.getVar("EXT.MNG")));
var ftype;
var snap = getSnap("select MIN(Ftype) from ^cl_ext where Fclass="+sqlTo("H."+oDoc.getVar("HDOC"))+" and Flabel="+sqlTo("MNG")+" group by Fclass, Flabel having MIN(Ftype)=MAX(Ftype)");
if(snap && snap[0])
{
ftype = snap[0];
}
else
{
snap = getSnap("select Ftype from ^cl_ext where Fclass="+sqlTo("H."+oDoc.getVar("HDOC"))+" and Flabel="+sqlTo("MNG")+" and Fsubclass="+sqlTo(String(oDoc.getVar("HOP"))));
if(snap && snap[0])
ftype = snap[0];
else
return null;
}
if(ftype[0]=="A")
{
var clCod = Number(ftype.substr(1));
if(isNaN(clCod))
return null;
else
return getSmallFIO(tcl('CL', 'TXT', clCod, oDoc.getVar("EXT.MNG")));
}
else
return null;
}
else
return null;
}
Здравствуйте!!!
ДЕБЕТ Плюс 12.0.84 [28.12.2012]