По теме из базы знаний
- Доработка проведения в ERP 2.5. (Регистры накопления, Регистры сведений)
- УНФ - установка даты запрета редактирования для регистра сведений
- Исправление регистра сведений "Распределение запасов" по данным регистра накопления "Товары на складах" после перехода с ред. 2.4 на ред. 2.5 для конфигураций УТ, КА, ЕРП
- Удаление лишних записей регистра сведений "Учетные записи ЭДО"
- Редактор констант и записей независимых регистров сведений (управляемые формы)
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4)
Для Счетчик = 1 По 3 Цикл
Если Счетчик = 1 Тогда
НаименованиеФайла = "Контрагент1.xml";
Контрагент = Справочники.Контрагенты.НайтиПоКоду("Контрагент1");
ПолучениеФайловПоFTP(НаименованиеФайла);
ТЗ = ПрочитатьФайл(НаименованиеФайла);
ЗаписатьКоличествоВРегистр(ТЗ, Контрагент);
ИначеЕсли Счетчик = 2 Тогда
НаименованиеФайла = "Контрагент2.xml";
Контрагент = Справочники.Контрагенты.НайтиПоНаименованию("Контрагент2");
ПолучениеФайловПоFTP(НаименованиеФайла);
ТЗ = ПрочитатьФайл(НаименованиеФайла);
ЗаписатьКоличествоВРегистр(ТЗ, Контрагент);
ИначеЕсли Счетчик = 3 Тогда
НаименованиеФайла = "Контрагент3.xml";
Контрагент = Справочники.Контрагенты.НайтиПоНаименованию("Контрагент3");
ПолучениеФайловПоFTP(НаименованиеФайла);
ТЗ = ПрочитатьФайл(НаименованиеФайла);
ЗаписатьКоличествоВРегистр(ТЗ, Контрагент);
КонецЕсли;
КонецЦикла;
Показать
(5) Ответ в 8.
И код можно лаконичнее написать же:
У вас же меняется только цифра в наименовании файла и контрагента
И код можно лаконичнее написать же:
Для Счетчик = 1 По 3 Цикл
НаименованиеФайла = "Контрагент" + Строка(Счетчик) + ".xml";
Контрагент = Справочники.Контрагенты.НайтиПоКоду("Контрагент" + Строка(Счетчик));
ПолучениеФайловПоFTP(НаименованиеФайла);
ТЗ = ПрочитатьФайл(НаименованиеФайла);
ЗаписатьКоличествоВРегистр(ТЗ, Контрагент);
КонецЦикла;
ПоказатьУ вас же меняется только цифра в наименовании файла и контрагента
(4)
Функция ЗаписатьКоличествоВРегистр(ТЗ, Контрагент)
НаборЗаписей = РегистрыСведений.НаличиеНаСкладеКонтрагента.СоздатьНаборЗаписей();
Для Каждого Строка Из ТЗ Цикл
Если НЕ Строка.Номенклатура.Пустая() Тогда
НоваяЗапись = НаборЗаписей.Добавить();
НоваяЗапись.Контрагент = Контрагент;
НоваяЗапись.Номенклатура = Строка.Номенклатура;
НоваяЗапись.Количество = Строка.Остаток;
Если НоваяЗапись.Количество > 0 Тогда
НоваяЗапись.ЕстьНаСкладе = Истина;
Иначе
НоваяЗапись.ЕстьНаСкладе = Ложь;
КонецЕсли;
КонецЕсли;
КонецЦикла;
НаборЗаписей.Записать();
КонецФункции
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот