Експорт інформації з Каталогу матеріалів у файл
Перейти до навігації
Перейти до пошуку
Використовує Класи, SysUtils; функція BoolToStr(b1 : Boolean) : Рядок; починатися якщо b1, то результат := '1' ще результат := '0'; кінець; const razdel = '|'; nl = #$0D#$0A; var i, k : Ціле число; mi : TMatItem; mci : TMatColorItem; cli : TColorItem; f : TStringStream; ст, ст2 : Струна; vni : TValutaNameItem; rp : TRPParam; MatRazdelItem : TMaterialRazdelItem; ProizvodItem : TProizvodItem; ЕдІзм : ТЕдІзм; починатися f := TStringStream.Create; st := ''; st := st + 'ID_Mat' + razdel; st := st + 'ID_Color' + razdel; st := st + 'Номінал' + раздель; st := st + 'SKU' + раздель; st := st + 'Колір' + раздель; st := st + 'Ціна' + раздель; st := st + 'Валюта' + раздель; st := st + 'Виробник' + razdel; st := st + 'Ідентифікатор виробника' + razdel; st := st + 'Partition' + razdel; st := st + 'ID section' + razdel; st := st + 'Одиниця' + раздель; st := st + 'Одиниця виміру ID' + раздель; st := st + 'Довжина відрізу' + раздель; st := st + 'Індивідуальні параметри різання' + раздель; st := st + 'Довжина' + раздель; st := st + 'Неліквід' + раздель; st := st + 'Сміття' + раздель; st := st + 'Паралельне різання' + раздель; st := st + 'Магазинні обрізки' + раздель; st := st + nl; f.WriteString(st); для i := 0 до gd. MatersDB.Items.Count-1 do починатися мі := гр. MatersDB.Items.GetByNum(i); для k := 0 до mi.Colorsm.Count-1 зробити починатися mci := mi.Colorsm.GetByNum(k); st := ''; st := st + inttostr(mi.Id) + razdel + inttostr(mci.Id) + razdel + mi.Name + раздель + mci.Art + раздель + mci.ColorName + razdel + floattostrf(mci.Price, ffFixed, 18, 2) + раздель; Валюта vni := ValutaName.Items.GetById(mci.IdValuta); st2 := ''; Якщо призначено (VNI), то СТ2 := ВНІ. Ім'я; st := st + st2 + razdel; Виробник + Ідентифікатор виробника ProizvodItem := гр. Proizvods.Items.GetById(mi.System); st2 := ''; якщо призначено (ProizvodItem), то st2 := ProizvodItem.Name; st := st + st2 + razdel; st := st + inttostr(mi.System) + razdel; Розділ + Ідентифікатор розділу MatRazdelItem := гр. MaterialRazdel.Items.GetById(mi.IdRazdel); st2 := ''; якщо призначено (MatRazdelItem), то st2 := MatRazdelItem.Name; st := st + st2 + razdel; st := st + inttostr(mi.IdRazdel) + razdel; Одиниця + ідентифікатор одиниці ЕдІзм := гд. EdIzm.GetById(mi.Izm); st2 := ''; якщо призначено (EdIzm), то st2 := EdIzm.Name; st := st + st2 + razdel; st := st + inttostr(mi.Izm) + раздель; Довжина відрізу st := st + BoolToStr(mi.RPMade) + razdel; якщо mi.RPMade, то починатися Індивідуальні параметри різання st := st + BoolToStr(mci.RPIndividual) + razdel; rp := mi.RPParam; якщо mci.RPIndividual, то rp := mci.RPParam; st := st + floattostr(rp. Довгий) + раздель + поплавок(рп. Nelikv) + раздель + флоаттостр(рп. Musor) + раздель; st := st + BoolToStr(rp. Paral) + раздель + BoolToStr(rp. DoSkladObrez) + раздель; кінець; st := st + nl; f.WriteString(st); кінець; кінець; f.SaveToFile('maters.txt'); f. Безкоштовний; кінець.