Процедура ЗаполнитьНовый()
ТЗ_НомерДок = СоздатьОбъект("ТаблицаЗначений");
ТЗ_НомерДок.НоваяКолонка("НомерДок");
ТЗ_НомерДок.НоваяКолонка("ДатаДок");
ТЗ_Документы.УдалитьСтроки();
ДБФ = СоздатьОбъект("XBASE");
ДБФ.ОткрытьФайл(ИмяФайлаЗагрузки,,1);
НП = 0;
ДБФ.Первая();
Всего_Зап = ДБФ.КоличествоЗаписей();
Н_Зап = 1;
Пока ДБФ.ВКонце() = 0 Цикл
Если Н_Зап > Всего_Зап Тогда
Прервать;
КонецЕсли;
ДБФ.Перейти(Н_Зап);
СтрПоиска = 0;
Если ТЗ_НомерДок.НайтиЗначение(ДБФ.NKL_NUM, СтрПоиска, 1) = 0 Тогда
ТЗ_НомерДок.НоваяСтрока();
ТЗ_НомерДок.НомерДок = ДБФ.NKL_NUM;
ТЗ_НомерДок.ДатаДок = ДБФ.NKL_DATE;
КонецЕсли;
Н_Зап = Н_Зап + 1;
КонецЦикла;
ПеремСтрока = 0;
Если ТЗ_НомерДок.ВыбратьСтроку(ПеремСтрока) = 1 Тогда
ПеремНомерДок = ТЗ_НомерДок.ПолучитьЗначение(ПеремСтрока, 1);
Иначе
ПеремНомерДок = "";
КонецЕсли;
Ном = СоздатьОбъект("Справочник.Номенклатура");
Ном.ВыбратьЭлементы();
ТЗ_Документы.УдалитьСтроки();
ДБФ = СоздатьОбъект("XBASE");
ДБФ.ОткрытьФайл(ИмяФайлаЗагрузки,,1);
НП = 0;
ДБФ.Первая();
//ДБФ.ТекущийИндекс("idxOS_Name2");
Всего_Зап = ДБФ.КоличествоЗаписей();
Н_Зап = 1;
Пока ДБФ.ВКонце() = 0 Цикл
Если Н_Зап > Всего_Зап Тогда
Прервать;
КонецЕсли;
ДБФ.Перейти(Н_Зап);
Если ПеремНомерДок = ДБФ.NKL_NUM Тогда
ТЗ_Документы.НоваяСтрока();
ТЗ_Документы.Флаг = 1;
ТЗ_Документы.ТТ = ДБФ.NAME_KLI;
ТЗ_Документы.НомерДок = ДБФ.NKL_NUM;
ТЗ_Документы.ДатаДок = ДБФ.NKL_DATE;
ФлагНайден = 0;
Ном.ВыбратьЭлементы();
Пока Ном.ПолучитьЭлемент() = 1 Цикл
Если (СокрЛП(Ном.Наименование) = СокрЛП(ДБФ.NAME_TOV)) и (Ном.Емкость = Число(ДБФ.NETTO)/1000) Тогда
ФлагНайден = 1;
ТЗ_Документы.Товар = Ном.ТекущийЭлемент();
ТЗ_Документы.Емк_Наша = Ном.Емкость;
ТЗ_Документы.НовыйТовар = "";
Прервать;
КонецЕсли;
КонецЦикла;
Если ФлагНайден = 0 Тогда
ТЗ_Документы.Товар = "НОВЫЙ";
ТЗ_Документы.НовыйТовар = СокрЛП(ДБФ.NAME_TOV);
ТЗ_Документы.Емк_Наша = "";
КонецЕсли;
ТЗ_Документы.Колво = ДБФ.KOLICH;
ТЗ_Документы.Изготовитель = ДБФ.NAME_IZG;
ТЗ_Документы.Цена = ДБФ.PRICE;
ТЗ_Документы.Емкость = Число(ДБФ.NETTO)/1000;
ТЗ_Документы.ДатаРозлива = ДБФ.DATE_IZG;
ТЗ_Документы.Спирт = ДБФ.SPIRT;
ТЗ_Документы.Регион = ДБФ.REGI;
КонецЕсли;
Н_Зап = Н_Зап + 1;
КонецЦикла;
Предупреждение("Обработка Завершена");
КонецПроцедуры
Пока ДБФ.ВКонце() = 0 Цикл
..............
Ном.ВыбратьЭлементы();
Пока Ном.ПолучитьЭлемент() = 1 Цикл
Если (СокрЛП(Ном.Наименование) = СокрЛП(ДБФ.NAME_TOV)) и (Ном.Емкость = Число(ДБФ.NETTO)/1000) Тогда
ФлагНайден = 1;
ТЗ_Документы.Товар = Ном.ТекущийЭлемент();
ТЗ_Документы.Емк_Наша = Ном.Емкость;
ТЗ_Документы.НовыйТовар = "";
Прервать;
КонецЕсли;
КонецЦикла;
...............
КонецЦикла;