Процедура Сформировать() СпрНом = СОздатьОбъект("Справочник.НоменклатураАртикул"); СпрОКЕИ = СОздатьОбъект("Справочник.ОКЕИ"); СпрПартии = СоздатьОбъект("Справочник.Партии"); [b]СПрНом.НайтиПоКоду("796");[/b] СпрЕд = СОздатьОбъект("Справочник.Единицы"); ДокПост = СОздатьОбъект("Документ.ПоступлениеТМЦРозница"); ДокПост.НайтиДокумент(Док); ExcelApp = СоздатьОбъект("Excel.Application"); РабочиеКниги=ExcelApp.WorkBooks; ДокКнига=РабочиеКниги.Open(СокрЛП(ФайлЕксел)); ДокЛист=ДокКнига.Worksheets(1); Флаг = 0; Ном = НомПер; Пока Флаг = 0 Цикл Н = СокрЛП(ДокЛист.Range(СокрЛП(Код) + СокрЛП(Строка(Ном))).Value); Н = "" + Н; Н = Прав(Н, 8); Сообщить(Н); Если СпрНом.НайтиПоКоду(Н) = 0 Тогда //СПрНом.Новый(); //СпрНом.Наименование = Н; //СпрНом.ПолнНаименование = Н; //СпрНом.ВидНоменклатуры = Перечисление.ВидыНоменклатуры.Прочее; //СпрНом.СтавкаНДС = Перечисление.СтавкиНДС.НДС18; //СпрНом.ПолнНаименование = Н; //СПрНом.Записать(); //СПрЕд.Новый(); //СпрЕд.Владелец = СпрНом.ТекущийЭлемент(); //СПрЕд.Наименование = "шт"; //СпрЕд.ОКЕИ = СпрОкеи.ТекущийЭлемент(); //СПрЕд.Коэффициент = 1; //СпрЕд.Записать(); //СпрНом.БазоваяЕдиница = СпрЕд.ТекущийЭлемент(); //СпрНом.ОсновнаяЕдиница = СпрЕд.ТекущийЭлемент(); //СпрНом.Записать(); Сообщить("Номенклатура на найдена!"); Иначе ДокПост.НоваяСтрока(); ДокПост.Номенклатура = СпрНом.ТекущийЭлемент(); ДокПост.Количество = СокрЛП(ДокЛист.Range(СокрЛП(Кол) + СокрЛП(Строка(Ном))).Value); ДокПост.Единица = СпрНом.ТекущийЭлемент().ОсновнаяЕдиница; ДокПост.Коэффициент = 1; ДокПост.ВидТМЦ = Перечисление.ВидыТМЦ.Товар; ДокПост.Цена = СокрЛП(ДокЛист.Range(СокрЛП(Цена) + СокрЛП(Строка(Ном))).Value); ДокПост.СтавкаНДС = СпрНом.ТекущийЭлемент().СтавкаНДС; ДокПост.Сумма = ДокПост.ЦЕна*ДокПост.Количество; СпрПартии.ИспользоватьВладельца(ДокПост.Номенклатура); СпрПартии.Новый(); Попытка СпрПартии.Записать(); ДокПост.Партия = СпрПартии.ТекущийЭлемент(); СОобщить(СпрПартии.ТекущийЭлемент()); Исключение Сообщить(ОписаниеОшибки(),"I"); Сообщить(321); Возврат; КонецПопытки; Если ДокПост.СуммаВклНДС = 1 Тогда ДокПост.СУммаНДС = Окр(ДокПост.Сумма*глВыделяемыйНДС(ДокПост.СтавкаНДС), 2); Иначе ДокПост.СУммаНДС = Окр(ДокПост.Сумма*глНачисляемыйНДС(ДокПост.СтавкаНДС), 2); КонецЕсли; //Сообщить(Н); //СОобщить(СокрЛП(ДокЛист.Range(СокрЛП(Кол) + СокрЛП(Строка(Ном))).Value)); КонецЕсли; Ном = Ном + 1; Если ПустаяСтрока(СокрЛП(ДокЛист.Range(СокрЛП(Код) + СокрЛП(Строка(Ном))).Value)) = 1 Тогда Флаг = 1; КонецЕсли; КонецЦикла; ДокПост.Записать(); //ДокПост.Провести(); Сообщить("Данные успешно загружены!"); ДокКнига.Close(); КонецПроцедуры //****************************************************************************** // КаталогИмяФайла(ПолноеИмяФайла, Каталог, Файл) // // Параметры: // ПолноеИмяФайла - строка: каталог и имя файла. // Каталог - если передан, в него будет возвращено имя каталога. // Файл - если передан, в него будет возвращено имя файла. // // Возвращаемое значение: // 0 - если указанного каталога не существует // 1 - если указанный каталог существует // // Описание: // Если каталог не существует, то пользователю предлагается его создать. // Функция КаталогИмяФайла(ПолноеИмяФайла, Каталог, Файл) Каталог=""; Файл=ПолноеИмяФайла; Разд=Найти(Файл, "\"); Пока 0<Разд Цикл Каталог=Каталог+Лев(Файл, Разд); Файл=Сред(Файл, Разд+1); Разд=Найти(Файл, "\"); КонецЦикла; Каталог=Каталог+"."; Если СтрДлина(Каталог)<4 Тогда ИначеЕсли ФС.СуществуетФайл(Каталог)=1 Тогда ИначеЕсли "Да"=Вопрос(Каталог+" |Указанный каталог не существует! Создать?","Да+Нет") Тогда ФС.СоздатьКаталог(Каталог); Иначе Каталог=""; Возврат(0); КонецЕсли; Возврат(1); КонецФункции // КаталогИмяФайла() //****************************************************************************** // Предопределенная процедура // Процедура ПриНачалеВыбораЗначения(ЭлементДиалога, ФлагОбработки) Перем Каталог, Файл; Если ЭлементДиалога="ФайлЕксел" Тогда КаталогИмяФайла(ФайлЕксел, Каталог, Файл); Если ФС.ВыбратьФайл(0, Файл, Каталог, "Файл выгрузки", "Текстовые (*.xls)|*.xls", "xls")=1 Тогда ФайлЕксел=Каталог+Файл; КонецЕсли; КонецЕсли; КонецПроцедуры Код = "A"; Кол = "B"; Цена = "C"; НомПер = 1;