Имя: Пароль:
1C
 
помогите с циклом
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.ОткрытьФайл(ПолноеИмяФайла);
    

        //МассивОстатков = Новый Массив
    //МассивОстатков.
1 Nemirov
 
15.05.20
14:35
Делаю это непосредственно в документе Заказ
2 Nemirov
 
15.05.20
14:37
Может как то " Для каждого строка из состав Цикл "
3 Ёпрст
 
15.05.20
14:48
(0) И в чем проблема то ? Обходи записи в дбф файле.. твори
4 D_E_S_131
 
15.05.20
14:53
А я чет не понял, мы DBF с ftp берем или создаем?
5 Ray Zexter
 
15.05.20
14:55
(4) Я вообще не понял, что ТС хочет сотворить...
6 Nemirov
 
15.05.20
14:57
(4) берем
7 Ray Zexter
 
15.05.20
15:01
Сформулируйте, что хотите в принципе.
8 D_E_S_131
 
15.05.20
15:02
На основе примера из СП...

xB.Первая();
МаксСтоимость = 0 ;
Пока Не xB.ВКонце() Цикл
    
    НомСсылка = Справочники.Номенклатура.НайтиПоНаименованию(хВ.NOMENKL, Истина);

    Если НомСсылка = Неопределено ИЛИ НомСсылка.Пустая() Тогда
       xB.Следующая();
       Продолжить;
    КонецЕсли;

    стрТЧ = ЗаказОбъект.Состав.Найти(НомСсылка, "Номенклатура");

    Если СтрТЧ <> Неопределено Тогда
       стрТЧ.Остатки = хВ.Remains;
    КонецЕсли;

    xB.Следующая();
КонецЦикла;