Процедура ЗагрузитьПрайс(Кнопка) Попытка ServiceManager = Новый ComОбъект("com.sun.star.ServiceManager"); МетодЗагрузки = "ОО"; Исключение Сообщить("Отсутствует приложение для загрузки файла"); КонецПопытки; Если МетодЗагрузки = "ОО" Тогда scr = Новый ComОбъект("MSScriptControl.ScriptControl"); scr.language = "javascript"; scr.eval("MassivParametrov = new Array()"); MassivParametrov = scr.eval("MassivParametrov"); scr.AddObject("OpenOffice", ServiceManager); scr.eval("MassivParametrov[0]=OpenOffice.Bridge_GetStruct('com.sun.star.beans.PropertyValue')"); scr.eval("MassivParametrov[0].Name='Hidden'"); scr.eval("MassivParametrov[0].Value=true"); Desktop = ServiceManager.CreateInstance("com.sun.star.frame.Desktop"); URL = ConvertToURL(ПутьКПрайсу); Doc = Desktop.LoadComponentFromURL(URL, "_blank", 0, MassivParametrov); Doc.lockControllers(); Doc.addActionLock(); Sheets = Doc.GetSheets();; Документ = Sheets.GetByIndex(0); //Документ = Sheets.GetByName("Лист1"); ТЗ = Новый ТаблицаЗначений; ТЗ.Колонки.Добавить("Артикул"); ТЗ.Колонки.Добавить( "Цена"); Дальше = 1; ТекСтрокаДок = НачальнаяСтрока; Пока Дальше = 1 Цикл Проверка = СокрЛП(""+Документ.getCellByPosition(0, ТекСтрокаДок).getString()); Если ПустаяСтрока(Проверка) Тогда Прервать; КонецЕсли; Артикул = СокрЛП(""+Документ.getCellByPosition(КолонкаАртикула-1, ТекСтрокаДок).getString()); Попытка Цена = Число(СокрЛП(""+Документ.getCellByPosition(КолонкаЦены-1 , ТекСтрокаДок).getString())); Исключение Цена = 0; КонецПопытки; Если (НЕ ПустаяСтрока(СокрЛП(Артикул))) и (НЕ Цена = 0) Тогда НоваяСтрока = ТЗ.Добавить(); НоваяСтрока.Артикул = Артикул; НоваяСтрока.Цена = Цена; КонецЕсли; Состояние("Обрабатываем - "+ТекСтрокаДок); ТекСтрокаДок = ТекСтрокаДок+1; КонецЦикла; Если ТЗ.Количество() > 0 Тогда Док = Документы.УстановкаЦенНоменклатуры.СоздатьДокумент(); Док.Дата = ДатаУстановкиЦен; ДобавитьТипЦен = Док.ТипыЦен.Добавить(); ДобавитьТипЦен.ТипЦен = ТипЦены; Для Каждого ТекСтрока из ТЗ Цикл Номенклатура = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", ТекСтрока.Артикул); Если НЕ Номенклатура.Пустая() Тогда НоваяСтрока = Док.Товары.Добавить(); НоваяСтрока.Номенклатура = Номенклатура; НоваяСтрока.ТипЦен = ТипЦены; НоваяСтрока.Цена = ТекСтрока.Цена; НоваяСтрока.Валюта = Валюта; НоваяСтрока.ЕдиницаИзмерения = Номенклатура.ЕдиницаХраненияОстатков; КонецЕсли; КонецЦикла; Если Док.Товары.Количество() > 0 Тогда Док.Записать(); КонецЕсли; КонецЕсли; КонецЕсли; КонецПроцедуры функция ConvertToURL(FileName) ИмяФайла = СтрЗаменить(FileName," ","%20" ); ИмяФайла = СтрЗаменить(ИмяФайла,"\","/"); Возврат "file:/" + "/localhost/" + ИмяФайла; Конецфункции