Как установить счетчик номеров вгружаемых док-ов
0 (0)
Как установить счетчик номеров вгружаемых док-ов ( Ilya 11.07.2003 18:06 )
3(2)До 73-ей сборки не пользовались финансовым мониторингом... Как установить счетчик номеров вгружаемых док-ов (поле NUMB_P в DBF-ке) чтобы не нарушить уникальность нумерации?
>> Ответитьopcontr.dbt ключ 5 ( RozhkovaTatyana 11.07.2003 18:17 )
3(2)В Оболочке RSL для файла opcontr.dbt заполните для последней отправленной (или любой "старой" операции) содержимое полей (ключ 5)
5 YearSend
5 NumberOp
При следующей выгрузке в RAV номер первой выгружаемой операции будет равен номер последней (ключ 5) + 1 и т.д.
Примечание.
Предвариетельно протестируйте словарь bank.def: при неверной структуре opcontr.dbt нумерация выгружаемых документов будет неверной (cм.Знание №2266)
>> ОтветитьСпасибо ( Ilya 11.07.2003 18:32 )
5(1)Not specified
>> Ответить
Как установить счетчик номеров вгружаемых док-ов ( Timur 08.10.2007 07:17 )
5(1)у меня такая же проблемка была, решил так:
1) Заводим отдельную DBT, с единственым полем, где храним знач-е (уникальное)
var numb = TBFile("msgnum.dbt","W",0,NULL,"finmonit.def" );
и обрабатываем вот таким макаром
macro MSGNUM
numb.next;
numb.rec.num = Num;
Num = numb.rec.num + 1;
numb.rec.num = Num;
if(not numb.update)
msgbox("…бвм Їа®Ў«Ґ¬л б б®§¤ ЁҐ¬ ®¬Ґа , ®бв ®ўЄ ўлЈаг§ЄЁ");
return -1;
end;
end;
Если, что пишите timur@bankik.com.kg
>> ОтветитьСпасибо... Замечательно и своевременно... :-)))))) ( Ilya 08.10.2007 07:23 )
5(1)Not specified
>> Ответить
Пример ( Timur 08.10.2007 08:33 )
5(1)Еще раз привет,
вот мой раб макрос...
счетчик лучше хранить отдельно от системных таблиц...
import Globals, CurrInter, BankInter, rsexts, lgs;
var opcontr_mon = TBFile("opcontr.dbt", "R",3,NULL,"bank.def" ); //дЁ. ¬®Ёв®аЁЈ
var opcntrpt_mon = TBFile("opcntrpt.dbt","R",0,NULL,"bank.def" );//ᢥ¤ҐЁп ®Ў гз бвЁЄ е
var notetext_mon = TBFile("notetext.dbt","R",0,NULL,"bank.def" );//ЇаЁ¬Ґз Ёп Є а §л¬ ®ЎкҐЄв ¬
var objatcor_mon = TBFile("objatcor.dbt","R",0,NULL,"bank.def" );//бЇа ў®зЁЄ ЇаЁ ¤«Ґ¦®бвЁ ЇаЁ§ Є®ў
var party_mon = TBFile("party.dbt","R",0,NULL,"bank.def" ); //бЇа ў®зЁЄ бгЎкҐЄв®ў
var numb = TBFile("msgnum.dbt","W",0,NULL,"finmonit.def" ); //еа ҐЁҐ б®®ЎйҐЁп ў Ј®¤г
var partcode = TBFile("partcode.dbt","R",0,NULL,"bank.def" ); //Љ®¤л бгЎкҐЄв®ў
var persn_mon = TBFile("persn.dbt","R",0,NULL,"bank.def"); //”Ё§ЁзҐбЄЁҐ «Ёж
var PtrList_num; // ®¬Ґа гз бвЁЄ
var num = 1; //б®еа 塞 ®¬Ґа б®®ЎйҐЁп ў Ј®¤г
GetInt(num, "‚Ґ¤ЁвҐ ®¬Ґа б®®ЎйҐЁп",8);
var MessageDate = "";
var mons = "", days = "",years ="", hours ="", mins ="", secs = ""; //¤«п ўлў®¤ ¤ вл б®®ЎйҐЁп
var INN ="", OKPO ="", PaperIssuer ="", Account ="", RegNumber ="", Name ="", OutStr ="", Postindex ="", codePlace ="", Street ="",
Region ="", Republic ="", House ="", NumCorps ="", flat ="", BankName ="", BankCode ="", BankCountry ="", BankTerritory = "",
PageCount ="", PostindexF ="", codePlaceF ="", StreetF ="", RegionF ="", RepublicF ="", HouseF ="", NumCorpsF ="", flatF = "";
var DateUnLoad; //¤ в ўлЈаг§ЄЁ
if(not GetDate(DateUnLoad, "‚ўҐ¤ЁвҐ ¤ вг"))
exit(1);
end;
var rowset = "<?xml version=\"1.0\" encoding=\"windows-1251\"?>" + "\n" + "<ROWSET>" + "\n";
var addres_of_out_XML_file = "D:\\rsbank51\\Operation";
var flag_contr = false, flag_cntrpt = false, i = 1;
var B_OKPO ="", B_Name ="", B_Branch ="", B_PostIndex ="", B_Town ="", B_Region ="", B_Republic ="", B_Street ="", B_House = "";
var B_INN ="", B_BIC ="", Currency_Code ="";
file pm (pmpaym); //Ї« ⥦Ё
file atcor (objatcor) key 2; //бЇа ў ЇаЁ ¤«Ґ¦®бвЁ ЇаЁ§ Є®ў
file attr (objattr); //€Ґа аеЁп ЇаЁ§ Є®ў
file pmnote(notetext); //ЇаЁ¬Ґз Ёп Є а §«Ёзл¬ ®ЎкҐЄв ¬
file fininstr (fininstr); //”Ё б®ўл© Ёбва㬥в
file Operation () txt 3000000 write;
macro demo //¤«п дЁ¬®
Name = StrSubSt(opcntrpt_mon.rec.Name,StrFor(34)," ");
RegNumber = opcntrpt_mon.rec.RegNumber;
Account = opcntrpt_mon.rec.Account;
INN = opcntrpt_mon.rec.INN;
OKPO = opcntrpt_mon.rec.OKPO;
PaperIssuer = opcntrpt_mon.rec.PaperIssuer;
BankName = StrSubSt(opcntrpt_mon.rec.BankName,StrFor(34)," ");
BankCode = opcntrpt_mon.rec.BankCode;
BankCountry = opcntrpt_mon.rec.CorrCountry;//BankCountry;
BankTerritory = opcntrpt_mon.rec.BankTerritory;
if(opcntrpt_mon.rec.ClientID >= 0)
/* ‹ЁЎ® и Ў Є, «ЁЎ® и Є«ЁҐв */
if(opcntrpt_mon.rec.ClientID == 0)
/* Џ« вЁ«миЁЄ - и Ў Є */
party_mon.rec.partyID = {SelfID};
else
/* Џ« вЁ«мйЁЄ - и Є«ЁҐв */
party_mon.rec.partyID = opcntrpt_mon.rec.ClientID;
end;
if(not party_mon.GetEQ)
msgbox("ERROR - Ґв Ёд®а¬ жЁЁ Ї® Ї« вЁ«мйЁЄг");
return;
end;
/* Џ®ва®иЁ¬ ўбҐ, зв® Ґбвм ў Ў §Ґ party_mon */
Postindex = party_mon.rec.Postindex;
codePlace = party_mon.rec.codePlace;
Region = party_mon.rec.Region;
Republic = party_mon.rec.Republic;
codePlace = party_mon.rec.codePlace;
Street = party_mon.rec.Street;
House = party_mon.rec.House;
NumCorps = party_mon.rec.NumCorps;
House = party_mon.rec.House;
flat = party_mon.rec.flat;
PostindexF = party_mon.rec.PostindexF;
codePlaceF = party_mon.rec.codePlaceF;
RegionF = party_mon.rec.RegionF;
RepublicF = party_mon.rec.RepublicF;
codePlaceF = party_mon.rec.codePlaceF;
StreetF = party_mon.rec.StreetF;
HouseF = party_mon.rec.HouseF;
NumCorpsF = party_mon.rec.NumCorpsF;
HouseF = party_mon.rec.HouseF;
flatF = party_mon.rec.flatF;
else
/* ‚ҐиЁ© Є«ЁҐв - Їа® ҐЈ® § Ґ¬ в®«мЄ® в®, зв® Ґбвм ў Ў §Ґ opcntrpt_mon */
Postindex = "";
codePlace = "";
Region = "";
Republic = "";
codePlace = "";
Street = "";
House = "";
NumCorps = "";
House = "";
flat = "";
PostindexF = "";
codePlaceF = "";
RegionF = "";
RepublicF = "";
codePlaceF = "";
StreetF = "";
HouseF = "";
NumCorpsF = "";
HouseF = "";
flatF = "";
end;
end;
/* ў§пвм Є ⥣®аЁо вЁЇ Type Ё§ Group ¤«п Ё¤ҐвЁдЁЄ в®а ID */
MACRO GetCategory (Type, Group, id, flag)
var Object = id;
atcor.ObjectType = Type;
atcor.GroupID = Group;
atcor.Object = Object;
if(flag)
atcor.General = "X";
atcor.ValidToDate = date(0,0,0);
if(GetGE(atcor) and (atcor.ObjectType == Type) and
(atcor.GroupID == Group) and (atcor.Object == Object) and
(atcor.General == "X"))
attr.ObjectType = atcor.ObjectType;
attr.GroupID = atcor.GroupID;
attr.AttrID = atcor.AttrID;
if(GetEQ(attr))
return attr.NumInList;
end;
end;
else
atcor.General = "";
atcor.ValidToDate = date(0,0,0);
if(GetGE(atcor) and (atcor.ObjectType == Type) and
(atcor.GroupID == Group) and (atcor.Object == Object) and
(atcor.General == ""))
attr.ObjectType = atcor.ObjectType;
attr.GroupID = atcor.GroupID;
attr.AttrID = atcor.AttrID;
if(GetEQ(attr))
return attr.NumInList;
end;
end;
end;
return "";
END;
/* ўлзЁвлў в Є ⥣®аЁо CatNum Ї« ⥦ paymid */
MACRO GetPayCode (recid, CatNum, pmrec, flag)
var id = "", result = "", seekid = 501;
if (valtype (flag) == V_UNDEF)
flag = true;
end;
if(pmrec)
pm.PaymentID = recid;
if(not GetEQ(pm))
println ("Ї®ЁбЄ Є ⥣®аЁЁ Ї« ⥦ : Ґ ©¤Ґ Ї« ⥦ " + recid);
return "";
end;
id = string(pm.PaymentId);
else
id = string(recid);
seekid = 3;
end;
id = mkstr ("0", 10 - strlen(id)) + id;
result = GetCategory (seekid,CatNum, id, flag);
return result;
END;
////////////////////////////////////////////////////////////////////////////
MACRO GetPayCode3 (recid, CatNum, pmrec, flag)
var id = "", result = "", seekid = 3;
if (valtype (flag) == V_UNDEF)
flag = true;
end;
if(pmrec)
pm.PaymentID = recid;
if(not GetEQ(pm))
println ("Ї®ЁбЄ Є ⥣®аЁЁ Ї« ⥦ : Ґ ©¤Ґ Ї« ⥦ " + recid);
return "";
end;
id = string(pm.PaymentId);
else
id = string(recid);
seekid = 3;
end;
id = mkstr ("0", 10 - strlen(id)) + id;
result = GetCategory (seekid,CatNum, id, flag);
return result;
END;
/* з⥨Ґ ЇаЁ¬Ґз Ёп ўЁ¤ kind Ї« ⥦ paymid */
MACRO GetPayNote (recid, kind, pmrec)
var id = "", objtype = 0;
if(pmrec)
pm.PaymentID = recid;
if(not GetEQ(pm))
println ("Ї®ЁбЄ Є ⥣®аЁЁ Ї« ⥦ : Ґ ©¤Ґ Ї« ⥦ " + recid);
return "";
end;
id = string(pm.DocumentId);
objtype = 501;
else
id = string(recid);
objtype = 3;
end;
id = mkstr ("0", 10 - strlen(id)) + id;
keynum (pmnote, 0);
pmnote.ObjectType = objtype;
pmnote.DocumentId = id;
pmnote.NoteKind = kind;
pmnote.ValidToDate = date (31,12,9999);
if (geteq (pmnote))
return trim(pmnote.Text);
end;
return "";
END;
macro Oper
var PrtCount = PageCount -1;
DateSplit(opcontr_mon.rec.Date_Carry, days, mons, years);
TimeSplit(Time, hours=0, mins=0, secs=0);
var OperationDate = String(mons:o:2) + "/" +String(days:o:2) + "/" + String(years:o:4) + " " +
String(hours:o:2) + ":" + String(mins:o:2) + ":" + String(secs:o:2);
var Lc = ToAnsi(GetPayCode(opcontr_mon.rec.PaymentID, 110, true, true)); //ЇаЁ§ Є Ї®¤®§аЁвҐ«м®бвЁ
fininstr.FIID = opcontr_mon.rec.Code_Currency;
if(GetEQ(fininstr))
Currency_Code = fininstr.FI_Code;
end;
//debugbreak;
OutStr = OutStr + ToAnsi("<OPER>" + "\n" +
"<OPERDATE>" + OperationDate + "</OPERDATE>" + "\n" +
"<OPER_CODE>" + GetPayCode(opcontr_mon.rec.PaymentID, 113 , true, true) + "</OPER_CODE>" + "\n" + /* ‡¤Ґбм бв ўЁ¬ ®¬Ґа Є ⥣®аЁЁ ў Ї«в ⥦Ґ б Є®¤®¬ "‚Ё¤ ®ЇҐа жЁЁ" */
"<OPER_CODES>" + GetPayCode(opcontr_mon.rec.PaymentID, 113 , true, false) + "</OPER_CODES>" + "\n" + /* «®ЈЁз® б ЇаҐ¤л¤г饩 бва®Є®© */
"<SUMCUR>" + opcontr_mon.rec.SumCur + "</SUMCUR>" + "\n" +
"<CUR_CODES>" + Currency_Code + "</CUR_CODES>" + "\n" +
"<SUMTGT>" + opcontr_mon.rec.SumRub + "</SUMTGT>" + "\n" +
"<SUM>" + opcontr_mon.rec.SumRub + "</SUM>" + "\n" +
"<SHARE_QTY>" + "" + "</SHARE_QTY>" + "\n" +
"<SHARE_CAPITAL>" + "" + "</SHARE_CAPITAL>" + "\n" +
"<REASON>" + StrSubSt(opcontr_mon.rec.Ground,StrFor(34)," ")+ "</REASON>" + "\n" +
// "<UNUSUAL_CODE>" + String(GetPayCode(opcontr_mon.rec.PaymentID, 110, true, true)) + "</UNUSUAL_CODE>" + "\n" +
// "<UNUSUAL_CODES>" + GetPayCode(opcontr_mon.rec.PaymentID, 110, true, false) + "</UNUSUAL_CODES>" + "\n" +
"<LIMIT_CODES>" + Lc + "</LIMIT_CODES>" + "\n" +
"<SHADY_CODES>" + Lc + "</SHADY_CODES>" + "\n" +
"<STATUS_CODE>" + opcontr_mon.rec.Status + "</STATUS_CODE>" + "\n" +
"<PRTCOUNT>" + PrtCount + "</PRTCOUNT>" + "\n" +
"<EXTRAINFO>" + GetPayNote(opcontr_mon.rec.paymentID, 221, true) + "</EXTRAINFO>" + "\n" +
"</OPER>" + "\n");
end;
macro Is_Closed
OutStr = OutStr + ToAnsi("</PRTLIST>" + "\n" +
// "<IS_CLOSED>" + "Y" + "</IS_CLOSED>" + "\n" + /*ЏаЁ§ Є § ЄалвЁп ®ЇҐа жЁЁ*/
"</ROW>" + "\n");
end;
macro PrintListU(parametr) //ћаЁ¤ЁзҐбЄЁҐ «Ёж
var Partic_kind, State, citizen; // State б®бв®пЁҐ бзҐв 1-§ зЁб«Ґ 2-бЇЁб
if(party_mon.rec.NotResident == "")
citizen = 1;
else
citizen = 2;
end;
OutStr = OutStr + ToAnsi( + "<PRTLIST_ITEM num='"+ PtrList_num + "'>" + "\n");
if(parametr == 1)
OutStr = OutStr + ToAnsi("<PAGENUM>" + "002ћ" + "</PAGENUM>" + "\n");
Partic_kind = GetPayCode(opcontr_mon.rec.PaymentID, 111 , true, true);//’ЁЇ гз бвЁЄ ®ЇҐа жЁЁ
State = 2;
elif(parametr == 4)
OutStr = OutStr + ToAnsi("<PAGENUM>" + "003ћ" + "</PAGENUM>" + "\n");
Partic_kind = GetPayCode(opcontr_mon.rec.PaymentID, 112 , true, true);
State = 1;
else
OutStr = OutStr + ToAnsi("<PAGENUM>" + "004ћ" + "</PAGENUM>" + "\n");
end;
OutStr = OutStr + ToAnsi("<PARTICIPANT>" + "\n" +
/*GetPayCode(opcntrpt_mon.rec.ClientID,111,false)*/
//GetPayCode(opcntrpt_mon.rec.ClientID,107,false)
"<PARTIC_KIND>" + "\n" + Partic_kind + "</PARTIC_KIND>" + "\n" +
"<JURNAME>" + "\n" +
"<ORGFORM_CODE>" + GetPayCode(opcntrpt_mon.rec.ClientID, 107, false) + "</ORGFORM_CODE>" + "\n" +
"<ORGNAME>" + /*opcntrpt_mon.rec.Name*/Name + "</ORGNAME>" + "\n" +
"<BRANCH>" + "ѓ®«®ў®© ЋдЁб" + "</BRANCH>" + "\n" +
"</JURNAME>" + "\n" +
"<REGNUM>" + INN + "</REGNUM>" + "\n" +
"<OKPO>" + OKPO + "</OKPO>" + "\n" +
"<FOREIGNER>" +
"<RESIDENT>" + citizen + "</RESIDENT>" + "\n" +
"<REGNUM>" + RegNumber + "</REGNUM>" + "\n" +
"<ORGAN>" + PaperIssuer + "</ORGAN>" + "\n" +
"</FOREIGNER>" + "\n" +
"<LEGAL_ADDRESS>" + "\n" +
"<POSTCODE>" + Postindex + "</POSTCODE>" + "\n" +
"<TOWN_CODE>" + /*codePlace*/"" + "</TOWN_CODE>" + "\n" +
"<REGION>" + /*Region*/"" + "</REGION>" + "\n" +
"<AREA>" + Republic + "</AREA>" + "\n" +
"<TOWN>" + /*codePlace*/"" + "</TOWN>" + "\n" +
"<STREET>" + Street + "</STREET>" + "\n" +
"<HOUSE>" + House + "</HOUSE>" + "\n" +
"<CORP>" + NumCorps + "</CORP>" + "\n" +
"<BUILDING>" + House + "</BUILDING>" + "\n" +
"<ROOM>" + flat + "</ROOM>" + "\n" +
"</LEGAL_ADDRESS>" + "\n" +
"<NATURAL_ADDRESS>" + "\n" +
"<POSTCODE>" + PostindexF + "</POSTCODE>" + "\n" +
"<TOWN_CODE>" + codePlaceF + "</TOWN_CODE>" + "\n" +
"<REGION>" + /*RegionF*/"" + "</REGION>" + "\n" +
"<AREA>" + RepublicF + "</AREA>" + "\n" +
"<TOWN>" + /*codePlaceF*/"" + "</TOWN>" + "\n" +
"<STREET>" + StreetF + "</STREET>" + "\n" +
"<HOUSE>" + HouseF + "</HOUSE>" + "\n" +
"<CORP>" + NumCorpsF + "</CORP>" + "\n" +
"<BUILDING>" + HouseF + "</BUILDING>" + "\n" +
"<ROOM>" + flatF + "</ROOM>" + "\n" +
"</NATURAL_ADDRESS>" + "\n" +
"<ADDINFO>" + "\n" +
"<ACTIVITY>" + "" + "</ACTIVITY>" + "\n" +
"<ACTIVITIES>" + "" + "</ACTIVITIES>" + "\n" +
"</ADDINFO>" + "\n" +
"<DISPONENT>" + "\n" +
"<NAME>" + "" + "</NAME>" + "\n" +
"<DOC>" + "\n" +
"<DOC_CODE>" + "" + "</DOC_CODE>" + "\n" +
"<SERIES>" + "" + "</SERIES>" + "\n" +
"<NUM>" + "" + "</NUM>" + "\n" +
"<ISSUEDATE>" + "" + "</ISSUEDATE>" + "\n" +
"<ORGAN>" + "" + "</ORGAN>" + "\n" +
"</DOC>" + "\n" +
"</DISPONENT>" + "\n" +
"<PAGENUM_REF>" + "01" + "</PAGENUM_REF>" + "\n" +
"</PARTICIPANT>" + "\n" +
"<ACCOUNT>" + "\n" +
"<NUM>" + Account + "</NUM>" + "\n" +
"<BANK>" + BankName + "</BANK>" + "\n" +
"<BIC>" + BankCode + "</BIC>" + "\n" +
"<COUNTRY_CODE>" + BankCountry + "</COUNTRY_CODE>" + "\n" +
"<STATE>" + State + "</STATE>" + "\n" +
"<ADDRESS>" + BankTerritory + "</ADDRESS>" + "\n" +
"</ACCOUNT>" + "\n" +
"<SHARES>" + "\n" +
"<QTY>" + "" + "</QTY>" + "\n" +
"</SHARES>" + "\n" +
"</PRTLIST_ITEM>" + "\n");
end;
macro PrintListF(parametr) //”Ё§ЁзҐбЄЁҐ «Ёж
var citizen, State ; //б®бв®пЁҐ бзҐв 1-§ зЁб«Ґ 2-бЇЁб
var Partic_kind;
if(party_mon.rec.NotResident == "")
citizen = "ЉлаЈл§бв ";
else
citizen = party_mon.rec.NRCountry;
end;
persn_mon.keynum = 0;
persn_mon.rec.PersonID = party_mon.rec.PartyID;
if(not persn_mon.GetEQ)
msgbox ("Ќ…’ „ЋЉ“Њ…Ќ’Ђ");
return;
end;
OutStr = OutStr + ToAnsi("<PRTLIST_ITEM num='"+ PtrList_num + "'>" + "\n");
if(parametr == 1)
OutStr = OutStr + ToAnsi("<PAGENUM>" + "002”" + "</PAGENUM>" + "\n");
Partic_kind = GetPayCode(opcontr_mon.rec.PaymentID, 111 , true, true);
State = 2;
elif(parametr == 4)
OutStr = OutStr + ToAnsi("<PAGENUM>" + "003”" + "</PAGENUM>" + "\n");
Partic_kind = GetPayCode(opcontr_mon.rec.PaymentID, 112 , true, true);
State = 1;
else
OutStr = OutStr + ToAnsi("<PAGENUM>" + "004”" + "</PAGENUM>" + "\n");
end;
OutStr = OutStr + ToAnsi("<PARTICIPANT>" + "\n" +
"<PARTIC_KIND>" + /*GetPayCode(opcntrpt_mon.rec.ClientID,112,false)*/Partic_kind + "</PARTIC_KIND>" + "\n" +
"<PHISNAME>" + "\n" +
"<LAST_NAME>" + persn_mon.rec.Name1 + "</LAST_NAME>" + "\n" +
"<FIRST_NAME>" + persn_mon.rec.Name2 + "</FIRST_NAME>" + "\n" +
"<MIDDLENAME>" + persn_mon.rec.Name3 + "</MIDDLENAME>" + "\n" +
"</PHISNAME>" + "\n" +
"<REGNUM>" + opcntrpt_mon.rec.INN + "</REGNUM>" + "\n" +
"<NATION_CODE>" + citizen + "</NATION_CODE>" + "\n" +
"<OWNER>" + "\n" +
"<FLAG>" + persn_mon.rec.LicenceNumber + "</FLAG>" + "\n" +
"<OKPO>" + OKPO + "</OKPO>" + "\n" +
"<ACTIVITIES>" + "" + "</ACTIVITIES>" + "\n" +
"</OWNER>" + "\n" +
"<LEGAL_ADDRESS>" + "\n" +
"<POSTCODE>" + party_mon.rec.Postindex + "</POSTCODE>" + "\n" +
"<TOWN_CODE>" + /*party_mon.rec.codePlace*/"" + "</TOWN_CODE>" + "\n" +
"<REGION>" + party_mon.rec.Region + "</REGION>" + "\n" +
"<AREA>" + party_mon.rec.Republic + "</AREA>" + "\n" +
"<TOWN>" + /*party_mon.rec.codePlace*/"" + "</TOWN>" + "\n" +
"<STREET>" + party_mon.rec.Street + "</STREET>" + "\n" +
"<HOUSE>" + party_mon.rec.House + "</HOUSE>" + "\n" +
"<CORP>" + party_mon.rec.NumCorps + "</CORP>" + "\n" +
"<BUILDING>" + party_mon.rec.House + "</BUILDING>" + "\n" +
"<ROOM>" + party_mon.rec.flat + "</ROOM>" + "\n" +
"</LEGAL_ADDRESS>" + "\n" +
"<NATURAL_ADDRESS>" + "\n" +
"<POSTCODE>" + party_mon.rec.PostindexF + "</POSTCODE>" + "\n" +
"<TOWN_CODE>" + /*party_mon.rec.codePlaceF*/"" + "</TOWN_CODE>" + "\n" +
"<REGION>" + party_mon.rec.RegionF + "</REGION>" + "\n" +
"<AREA>" + party_mon.rec.RepublicF + "</AREA>" + "\n" +
"<TOWN>" + /*party_mon.rec.codePlaceF*/"" + "</TOWN>" + "\n" +
"<STREET>" + party_mon.rec.StreetF + "</STREET>" + "\n" +
"<HOUSE>" + party_mon.rec.HouseF + "</HOUSE>" + "\n" +
"<CORP>" + party_mon.rec.NumCorpsF + "</CORP>" + "\n" +
"<BUILDING>" + party_mon.rec.HouseF + "</BUILDING>" + "\n" +
"<ROOM>" + party_mon.rec.flatF + "</ROOM>" + "\n" +
"</NATURAL_ADDRESS>" + "\n" +
"<DOC>" + "\n" +
"<DOC_CODE>" + opcntrpt_mon.rec.CodeDocum + "</DOC_CODE>" + "\n" +
"<SERIES>" + opcntrpt_mon.rec.PaperSeries + "</SERIES>" + "\n" +
"<NUM>" + opcntrpt_mon.rec.PaperNumber + "</NUM>" + "\n" +
"<ISSUEDATE>" + opcntrpt_mon.rec.PaperIssuedDate + "</ISSUEDATE>" + "\n" +
"<ORGAN>" + opcntrpt_mon.rec.PaperIssuer + "</ORGAN>" + "\n" +
"<BIRTHDATE>" + opcntrpt_mon.rec.Birthday + "</BIRTHDATE>" + "\n" +
"<BIRHPLACE>" + SubStr(persn_mon.rec.BirsPlase,1,254) + "</BIRHPLACE>" + "\n" +
"</DOC>" + "\n" +
"<PAGENUM_REF>" + "01" + "</PAGENUM_REF>" + "\n" +
"</PARTICIPANT>" + "\n" +
"<ACCOUNT>" + "\n" +
"<NUM>" + opcntrpt_mon.rec.Account + "</NUM>" + "\n" +
"<BANK>" + opcntrpt_mon.rec.BankName + "</BANK>" + "\n" +
"<BIC>" + opcntrpt_mon.rec.BankCode + "</BIC>" + "\n" +
"<COUNTRY_CODE>" + opcntrpt_mon.rec.BankCountry + "</COUNTRY_CODE>" + "\n" +
"<STATE>" + State + "</STATE>" + "\n" +
"<ADDRESS>" + opcntrpt_mon.rec.BankTerritory + "</ADDRESS>" + "\n" +
"</ACCOUNT>" + "\n" +
"<SHARES>" + "\n" +
"<QTY>" + "" + "</QTY>" + "\n" +
"</SHARES>" + "\n" +
"</PRTLIST_ITEM>" + "\n");
end;
macro Person
OutStr = OutStr + ToAnsi( "<PERSON>" + "\n" +
"<ORG_KIND>" + "01" + "</ORG_KIND>" + "\n" +
"<REGNUM>" + B_INN + "</REGNUM>" + "\n" +
"<BANK_BIC>" + B_BIC + "</BANK_BIC>" + "\n" +
"<OKPO>" + B_OKPO + "</OKPO>" + "\n" +
"<ORGFORM_CODE>" + "07" + "</ORGFORM_CODE>" + "\n" +
"<PERSON_NAME>" + "ЋвЄал⮥ ЄжЁ®Ґа®Ґ ®ЎйҐбвў® €ўҐбвЁжЁ®л© Ў Є €бблЄ-Љг«м" + "</PERSON_NAME>" + "\n" +
"<BRANCH>" + "ѓ®«®ў®© ЋдЁб" + "</BRANCH>" + "\n" +
"<LEGAL_ADDRESS>" + "\n" +
"<POSTCODE>" + B_PostIndex + "</POSTCODE>" + "\n" +
"<TOWN_CODE>" + "41711204000000" + "</TOWN_CODE>" + "\n" +
"<REGION>" + "—г©" + "</REGION>" + "\n" +
"<AREA>" + B_Republic + "</AREA>" + "\n" +
"<TOWN>" + B_Town + "</TOWN>" + "\n" +
"<STREET>" + B_Street + "</STREET>" + "\n" +
"<HOUSE>" + B_House + "</HOUSE>" + "\n" +
"<CORP>" + "00" + "</CORP>" + "\n" +
"<BUILDING>" + "00" + "</BUILDING>" + "\n" +
"<ROOM>" + "00" + "</ROOM>" + "\n" +
"</LEGAL_ADDRESS>" + "\n" +
"<NATURAL_ADDRESS>" + "\n" +
"<POSTCODE>" + B_PostIndex + "</POSTCODE>" + "\n" +
"<TOWN_CODE>" + "41711204000000" + "</TOWN_CODE>" + "\n" +
"<REGION>" + B_Region + "</REGION>" + "\n" +
"<AREA>" + B_Republic + "</AREA>" + "\n" +
"<TOWN>" + B_Town + "</TOWN>" + "\n" +
"<STREET>" + B_Street + "</STREET>" + "\n" +
"<HOUSE>" + B_House + "</HOUSE>" + "\n" +
"<CORP>" + "00" + "</CORP>" + "\n" +
"<BUILDING>" + "00" + "</BUILDING>" + "\n" +
"<ROOM>" + "00" + "</ROOM>" + "\n" +
"</NATURAL_ADDRESS>" + "\n" +
"<PERFORMER>" + "\n" +
"<NAME>" + "џЄ®ўҐЄ® ‹ аЁб ЌЁЄ®« Ґў " + "</NAME>" + "\n" +
"<POST>" + "ђЁбЄ-¬ҐҐ¤¦Ґа" + "</POST>" + "\n" +
"</PERFORMER>" + "\n" +
"<PHONE>" + "312 622179" + "</PHONE>" + "\n" +
"</PERSON>");
end;
macro ROW
DateSplit({CurDate}, days, mons, years);
TimeSplit(Time, hours=0, mins=0, secs=0);
MessageDate = String(mons:o:2) + "/" +String(days:o:2) + "/" + String(years:o:4) + " " +
String(hours:o:1) + ":" + String(mins:o:1) + ":" + String(secs:o:1);
OutStr = OutStr + ToAnsi("<ROW num='" + string(i) + "'>" + "\n" + "<MSG>" + "\n" +
"<MSGNUM>" + numb.rec.num + "</MSGNUM>" + "\n" +
"<MSGDATE>" + MessageDate + "</MSGDATE>" + "\n" +
"<PAGECOUNT>" + PageCount + "</PAGECOUNT>" + "\n" +
"<MSGTYPE>" + "1" + "</MSGTYPE>" + "\n" +
"</MSG>" + "\n");
end;
macro MSGNUM
numb.next;
numb.rec.num = Num;
Num = numb.rec.num + 1;
numb.rec.num = Num;
if(not numb.update)
msgbox("…бвм Їа®Ў«Ґ¬л б б®§¤ ЁҐ¬ ®¬Ґа , ®бв ®ўЄ ўлЈаг§ЄЁ");
return -1;
end;
end;
//ўлв бЄЁў Ґ¬ €ЌЌ
partcode.keynum = 0;
partcode.rec.partyID = {SelfID};
partcode.rec.codekind = 16;
if(not partcode.GetEQ)
msgbox("ERROR");
return;
end;
B_INN = partcode.rec.code;
//ўлв бЄЁў Ґ¬ Ѓ€Љ
partcode.keynum = 0;
partcode.rec.partyID = {SelfID};
partcode.rec.codekind = 3;
if(not partcode.GetEQ)
msgbox("ERROR");
return;
end;
B_BIC = partcode.rec.code;
//ўлв бЄЁў Ґ¬ ЋЉЏЋ
party_mon.keynum = 0;
party_mon.rec.partyID = {SelfID};
if(not party_mon.GetEQ)
msgbox("ERROR");
return;
end;
B_OKPO = party_mon.rec.OKPO; //ЋЉЏЋ
B_Name = party_mon.rec.Name; //ўлв бЄЁў Ґ¬ €¬п 襣® Ѓ Є
B_Branch = party_mon.rec.Branch; //Branch
B_PostIndex = party_mon.rec.PostIndex;//Џ®зв®ўл© Ё¤ҐЄб
B_Town = party_mon.rec.Place; //ѓ®а®¤
B_Region = party_mon.rec.Region; //ђҐЈЁ®
B_Republic = party_mon.rec.Republic; //ђ ©®
B_Street = party_mon.rec.Street; //“«Ёж
B_House = party_mon.rec.House; //„®¬
opcontr_mon.rewind;
opcontr_mon.rec.date = DateUnLoad;
opcontr_mon.rec.status = 0;
flag_contr = (opcontr_mon.GetGe and (opcontr_mon.rec.date == DateUnLoad));
OutStr = rowset;
if(not open(Operation,addres_of_out_XML_file + ".xml"))
MsgBox("ЌҐ ¬®Јг ®вЄалвм д ©« ", Operation);
Return False;
end;
while (flag_contr)
MSGNUM;
PageCount = 1;
PtrList_num = 1;
opcntrpt_mon.rec.OperationID = opcontr_mon.rec.OperationID;
opcntrpt_mon.rec.kind = 0;
flag_cntrpt = opcntrpt_mon.GetGe and (opcntrpt_mon.rec.OperationID == opcontr_mon.rec.OperationID);
if(not flag_cntrpt)
msgbox ("NO DOCUMENT");
return;
end;
while(flag_cntrpt)
if((opcntrpt_mon.rec.ClientID != 0) and (opcntrpt_mon.rec.ClientID != {SelfID}) or (opcntrpt_mon.rec.ClientID == -1) or (party_mon.rec.LegalForm == 1))
PageCount = PageCount + 1;
end;
flag_cntrpt = opcntrpt_mon.next and (opcntrpt_mon.rec.OperationID == opcontr_mon.rec.OperationID)
end;
ROW;
Person;
Oper;
opcntrpt_mon.rewind;
opcntrpt_mon.rec.OperationID = opcontr_mon.rec.OperationID;
opcntrpt_mon.rec.kind = 0;
flag_cntrpt = opcntrpt_mon.GetGe and (opcntrpt_mon.rec.OperationID == opcontr_mon.rec.OperationID);
if(not flag_cntrpt)
msgbox ("NO DOCUMENT");
return;
end;
OutStr = OutStr + ToAnsi("<PRTLIST>" + "\n");
while(flag_cntrpt)
demo;
if(opcntrpt_mon.rec.ClientID == -1)
PrintListU(opcntrpt_mon.rec.kind);
else //((opcntrpt_mon.rec.ClientID != 0) and (opcntrpt_mon.rec.ClientID != {SelfID}))
if (party_mon.rec.LegalForm == 1)
PrintListU(opcntrpt_mon.rec.kind);
PtrList_num = PtrList_num +1;
else
PrintListF(opcntrpt_mon.rec.kind);
PtrList_num = PtrList_num +1;
end;
end;
flag_cntrpt = opcntrpt_mon.next and (opcntrpt_mon.rec.OperationID == opcontr_mon.rec.OperationID);
end;
Is_Closed;
i = i + 1;
flag_contr = (opcontr_mon.Next and (opcontr_mon.rec.date == DateUnLoad));
end;
Operation.str = OutStr + "</ROWSET>";
insert(Operation);
close(Operation);
//§ Єалў Ґ¬ ўбҐ Ў §л
close(opcontr_mon);
close(opcntrpt_mon);
close(objatcor_mon);
close(party_mon);
close(numb);
close(partcode);
close(persn_mon);
close(pm);
close(atcor);
close(attr);
close(pmnote);
if(not CopyFile("D:\\rsbank51\\Operation.xml","\\Ќ з_®® \\sfr\\$Operation", True))
println("Error Copy file");
end;
/*if(not lgServTerm("d:\\rsbank51\\Operation.xml","..\\Timur\\TEST\\Operation.xml"))
println("Error Copy file");
end;*/
>> ОтветитьТимур... спасибо огромное... но !!! ( Ilya 08.10.2007 09:07 )
5(1)Если вы обратили внимание, когда я писал это сообщение за окном было лето две-тыщи бородатого года... (2003)
А сейчас осень 2007-го...
:-))))
Много воды с тех пор утекло... И многое стало работать в РС-е немного лучше...
>> Ответить