0
Nemirov
15.05.20
✎
14:33
|
Помогите с циклом. Представлю часть кода - беру из внешнего файла на ftp записываю данные в файл временной папки. Также теперь надо взять табличного поля с типом (Документ.табличнаячасть.заказ.состав) элементы Номенклатура, остаток.
Вот теперь сижу мудрю и никак не въеду. Как сформулировать цикл что бы была проверка там где элемент.Номенклатура = XBase.NOMENKL (это номенклатура из внешнего файла) совпадает тогда записываем в элемент.Остатки значение XBase.Remains.
Может занести значения файла в массив и оттуда сравнить как-то подскажите пожалуйста. И если есть возможность с кодом цикла.
ИмяФайлаОстатков = "OstIs.DBF";
ПолноеИмяФайлаОстатков= КаталогВременныхФайлов();
ПолноеИмяФайла = СокрЛП(ПолноеИмяФайлаОстатков+ИмяФайлаОстатков);
XBase = Новый XBase;
XBase.Кодировка = КодировкаXBase.OEM;
XBase.Поля.Добавить("KONTR","S",150,);
XBase.Поля.Добавить("NOMENKL","S",150,);
XBase.Поля.Добавить("REMAINS","S",60,);
XBase.Поля.Добавить("DATE","D",25);
XBase.СоздатьФайл(ПолноеИмяФайла);
XBase.ЗакрытьФайл();
обФТП = Обработки.ftp.Создать();
обФТП.Конструктор(Константы.FTPКодыПоставщиковАдрес.Получить(),Константы.FTPКодыПоставщиковПорт.Получить(),Константы.FTPКодыПоставщиковЛогин.Получить(),Константы.FTPКодыПоставщиковПароль.Получить());
обФТП.Прочитать("OstNa.DBF",ПолноеИмяФайла );
обФТП.Деструктор();
XBase.ОткрытьФайл(ПолноеИмяФайла);
//МассивОстатков = Новый Массив
//МассивОстатков.
|
|
8
D_E_S_131
15.05.20
✎
15:02
|
На основе примера из СП...
xB.Первая();
МаксСтоимость = 0 ;
Пока Не xB.ВКонце() Цикл
НомСсылка = Справочники.Номенклатура.НайтиПоНаименованию(хВ.NOMENKL, Истина);
Если НомСсылка = Неопределено ИЛИ НомСсылка.Пустая() Тогда
xB.Следующая();
Продолжить;
КонецЕсли;
стрТЧ = ЗаказОбъект.Состав.Найти(НомСсылка, "Номенклатура");
Если СтрТЧ <> Неопределено Тогда
стрТЧ.Остатки = хВ.Remains;
КонецЕсли;
xB.Следующая();
КонецЦикла;
|
|