VictorSG
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Бодрого времени суток и всех с наступившим НГ Вопрост в сследующем.... есть код: [c1code] Перем мXLSReader; Процедура ПередОткрытием(Отказ, СтандартнаяОбработка) Попытка ПодключитьВнешнююКомпоненту("Addin.XLSReader"); Исключение Сообщить("Не удается подключить внешнюю компоненту xls21c.dll"); Отказ = Истина; Возврат; КонецПопытки; Попытка мXLSReader = Новый("Addin.XLSReader"); Исключение Сообщить("Не удается создать объект Addin.XLSReader"); Отказ = Истина; Возврат; КонецПопытки; ЭлементыФормы.Панель1.Страницы.Очистить(); КонецПроцедуры Процедура ПолеВводаИмяФайлаНачалоВыбора(Элемент, СтандартнаяОбработка) Режим = РежимДиалогаВыбораФайла.Открытие; ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим); ДиалогОткрытияФайла.Фильтр = "Файл Excel (*.xls)|*.xls"; ДиалогОткрытияФайла.МножественныйВыбор = Ложь; ДиалогОткрытияФайла.Заголовок = "Выберите файл для загрузки"; Если ДиалогОткрытияФайла.Выбрать() тогда ПолеВводаИмяФайла = ДиалогОткрытияФайла.ПолноеИмяФайла; КонецЕсли; КонецПроцедуры Процедура КнопкаПрочитатьНажатие(Элемент) Состояние("Чтение файла "+ПолеВводаИмяФайла+"..."); Если мXLSReader.ПрочитатьФайл(ПолеВводаИмяФайла) = 1 Тогда Состояние("Заполнение выходной таблицы..."); ЭлементыФормы.Панель1.Страницы.Очистить(); Для НомЛиста = 0 По мXLSReader.Листы.Количество()-1 Цикл ТекущийЛист = мXLSReader.Листы.Получить(НомЛиста); тз = Новый ТаблицаЗначений; тз.Колонки.Добавить(,,,5); Для НомКолонки = 0 По ТекущийЛист.КоличествоКолонок-1 Цикл тз.Колонки.Добавить(,,Строка(НомКолонки+1),15); КонецЦикла; Для НомСтроки = 0 По ТекущийЛист.КоличествоСтрок-1 Цикл НовСтрока = тз.Добавить(); НовСтрока[0] = НомСтроки+1; Для НомКолонки = 0 По ТекущийЛист.КоличествоКолонок-1 Цикл НовСтрока[НомКолонки+1] = ТекущийЛист.ЗначениеЯчейки(НомКолонки,НомСтроки); КонецЦикла; КонецЦикла; Если НомЛиста = 0 Тогда НовСтраница = ЭлементыФормы.Панель1.Страницы[0]; Иначе НовСтраница = ЭлементыФормы.Панель1.Страницы.Добавить(); КонецЕсли; НовСтраница.Заголовок = ТекущийЛист.Имя; НовСтраница.Значение = тз; КонецЦикла; мXLSReader.ЗакрытьФайл(); Панель1ПриСменеСтраницы(ЭлементыФормы.Панель1, 0); Иначе Предупреждение("Не удалось прочитать файл!",10); КонецЕсли; КонецПроцедуры Процедура Панель1ПриСменеСтраницы(Элемент, ТекущаяСтраница) ЭлементыФормы.ТабличноеПолеXLS.Значение = Элемент.Страницы[ТекущаяСтраница].Значение; ЭлементыФормы.ТабличноеПолеXLS.СоздатьКолонки(); ЭлементыФормы.ТабличноеПолеXLS.ФиксацияСлева = 1; ЭлементыФормы.ТабличноеПолеXLS.Колонки[0].ЦветФонаПоля = ЦветаСтиля.ЦветФонаКнопки; КонецПроцедуры [/c1code] Как в этом коде будет выглядеть строка для экспорта значений из екселя в номенклатуру, для таблицы вида: |артикул|подгруппа|наименоваие товара|количество|группа товара| при том, что из таблицы импортируются только 1,3,4,5 графы, а содержимое 5 графы - принадлежность к номенклатурной группе и для таблицы |Артикул|название|Статус|Уп|СПб|Мск импорт значений из граф 1,2,5 в справочник номенклатуры, при чём номенклатурная группа в данном лучае отределяется по графе 1 (Артикул), при уловии, что значение в колонке "Статус"=0 А так же можно ли с помощью этого же механизма экспорта добавить в каждый товар несколько граф с автоматически экспортируемом коментариев из определённой графы, с учётом того, что коментарий добавляется к товару и ключевым значением является артикултовара, а вводимые значения идут в графах в дополнение к уже имеющимся графам и обновлять эти заметки нужно периодически с заменой значений в соответствующих строках Если кто может - ответьте пожалуйста или строкой или линком на справочник с командами и синтаксисом, т.к. никогда не юзал 1с и сейчас в краткий промежуток времени нужно выдать решение проблемы. Спасибо. |