Универсальная функция для чтения данных из Excel в 1С Иногда требуется разобрать данные из Excel в 1С.
Я считаю что легче и быстрей поместить все данные в ТаблицуЗначений и уже там ими манипулировать.
Пример 2-х функций которые я использую:
ИзExcelВТаблицу – Читает Excel в ТаблицуЗначений
ЭлементСправочника – Создает или находит элемент справочника.
Теперь сам код:
Код 1C v 8.х
Функция ИзExcelВТаблицу(ПутьДоExcel, НомерСтраницы = 1, ПерСтрокаЗаголовок = Ложь , ФормаИндикатора = Неопределено)
Попытка
Док = ПолучитьCOMОбъект( ПутьДоExcel) ;
Исключение
Сообщить( "Произошла ошибка при обращение к Excel:" + Символы. ПС + ОписаниеОшибки( ) ) ;
Возврат Неопределено ;
КонецПопытки ;
ЗакрытьФормуИндиктаора = Ложь ;
Если ФормаИндикатора = Неопределено тогда
ЗакрытьФормуИндиктаора = Истина ;
ФормаИндикатора = ПолучитьОбщуюФорму( "ХодВыполненияОбработкиДанных" ) ;
ФормаИндикатора. Открыть( ) ;
КонецЕсли ;
ФормаИндикатора. КомментарийЗначения = "Загрузка данных из Excel..." ;
ТЗ = Новый ТаблицаЗначений( ) ;
Страница = Док. Sheets( НомерСтраницы) ;
МакСтрок = Страница. UsedRange. Rows. Count;
МакСтолб = Страница. UsedRange. Columns. Count;
Для Столбец = 1 по МакСтолб цикл
ИмяСтолбца = "Столбец_" + Столбец;
Если ПерСтрокаЗаголовок тогда
ИмяСтолбца = Страница. Cells( 1 , Столбец) . Value;
ИмяСтолбца = СокрЛП( ИмяСтолбца) ;
ИмяСтолбца = СтрЗаменить( ИмяСтолбца, " " , "_" ) ;
КонецЕсли ;
ТЗ. Колонки. Добавить( ИмяСтолбца, Новый ОписаниеТипов( "Строка" ) ) ;
КонецЦикла ;
НачальнаяСтрока = 1 ;
Если ПерСтрокаЗаголовок тогда
НачальнаяСтрока = 2 ;
КонецЕсли ;
Для НомСтрока = НачальнаяСтрока по МакСтрок цикл
СтрТЗ = ТЗ. Добавить( ) ;
Для НомСтолбец = 1 по МакСтолб цикл
Данные = Страница. Cells( НомСтрока, НомСтолбец) . Value;
СтрТЗ[НомСтолбец- 1 ] = Данные;
КонецЦикла ;
ФормаИндикатора. ЭлементыФормы. Индикатор. Значение = НомСтрока/ МакСтрок * 100 ;
КонецЦикла ;
Если ЗакрытьФормуИндиктаора тогда
ФормаИндикатора. Закрыть( ) ;
КонецЕсли ;
Возврат ТЗ;
КонецФункции
Пример вызова:
Код 1C v 8.х ФормаИндикатора = ПолучитьОбщуюФорму( "ХодВыполненияОбработкиДанных" ) ;
ФормаИндикатора. НаименованиеОбработкиДанных = "Загрузка данных..." ;
ФормаИндикатора. Открыть( ) ;
ТЗ = ИзExcelВТаблицу( ФайлExcel, 1 , Истина , ФормаИндикатора) ;
Если ТЗ = Неопределено тогда
ФормаИндикатора. Закрыть( ) ;
Возврат ;
КонецЕсли ;
ФормаИндикатора. Закрыть( ) ;
или
Код 1C v 8.х ТЗ = ИзExcelВТаблицу( ФайлExcel) ;
Если ТЗ = Неопределено тогда
Возврат ;
КонецЕсли ;
Теперь функция которой я использую когда надо создать элемент справочника из полученных данных.
Код 1C v 8.х
Функция ЭлементСправочника(ИмяСправочника = "" ,ИмяЭлемента, ИмяРодителя = Неопределено, Параметры = Неопределено, СоздатьЕслиНетЭлемента=Истина)
Если ИмяСправочника = "" тогда
Сообщить( "Укажите имя спрачоника - ЭлементСправочника()" ) ;
Возврат Неопределено ;
КонецЕсли ;
Если ПустаяСтрока( ИмяЭлемента) тогда
Возврат Неопределено ;
КонецЕсли ;
Родитель = Неопределено ;
Если ИмяРодителя < > Неопределено тогда
ОбрабатИмяРодителя = ИмяРодителя;
РодительГруппы = Справочники[ИмяСправочника]. ПустаяСсылка( ) ;
Пока НЕ ПустаяСтрока( ОбрабатИмяРодителя) цикл
ПозРазделителя = Найти( ОбрабатИмяРодителя, "\\" ) ;
Если ПозРазделителя = 0 тогда
ИмяГруппы = ОбрабатИмяРодителя;
ОбрабатИмяРодителя = ""
Иначе
ИмяГруппы = Сред( ОбрабатИмяРодителя, 1 , ПозРазделителя- 1 ) ;
ОбрабатИмяРодителя = Сред( ОбрабатИмяРодителя, ПозРазделителя+ 2 ) ;
КонецЕсли ;
ТексЗапроса = "ВЫБРАТЬ
| Данные.Ссылка
|ИЗ
| Справочник." + ИмяСправочника+ " КАК Данные
|ГДЕ
| Данные.Родитель = &Родитель
| И Данные.Наименование = &Наименование
| И Данные.ЭтоГруппа" ;
ЗапросРодителя = Новый Запрос( ТексЗапроса) ;
ЗапросРодителя. УстановитьПараметр( "Родитель" , РодительГруппы) ;
ЗапросРодителя. УстановитьПараметр( "Наименование" , ИмяГруппы) ;
РезультатРодителя = ЗапросРодителя. Выполнить( ) . Выгрузить( ) ;
Если РезультатРодителя. Количество( ) < > 0 тогда
РодительГруппы = РезультатРодителя[0 ]. Ссылка
Иначе
ОбъектРодитель = Справочники[ИмяСправочника]. СоздатьГруппу( ) ;
ОбъектРодитель. Родитель = РодительГруппы;
ОбъектРодитель. Наименование = ИмяГруппы;
ОбъектРодитель. Записать( ) ;
РодительГруппы = ОбъектРодитель. Ссылка;
КонецЕсли ;
КонецЦикла ;
Родитель = РодительГруппы;
КонецЕсли ;
Элемент = Справочники[ИмяСправочника]. НайтиПоНаименованию( ИмяЭлемента) ;
ОбъектЭлемент = Неопределено ;
Если Элемент. Пустая( ) тогда
Если СоздатьЕслиНетЭлемента тогда
ОбъектЭлемент = Справочники[ИмяСправочника]. СоздатьЭлемент( ) ;
ОбъектЭлемент. Наименование = ИмяЭлемента;
Иначе
Элемент = Неопределено
КонецЕсли ;
Иначе
ОбъектЭлемент = Элемент. ПолучитьОбъект( ) ;
КонецЕсли ;
Если ОбъектЭлемент < > Неопределено тогда
Если Параметры < > Неопределено тогда
Для каждого СтрПараметр из Параметры цикл
ОбъектЭлемент[СтрПараметр. Ключ] = СтрПараметр. Значение;
КонецЦикла ;
КонецЕсли ;
Если Родитель < > Неопределено тогда
ОбъектЭлемент. Родитель = Родитель;
КонецЕсли ;
ОбъектЭлемент. Записать( ) ;
Элемент = ОбъектЭлемент. Ссылка;
КонецЕсли ;
Возврат Элемент;
КонецФункции
Автор:
borismor Категория:
Работа с Microsoft Office и OpenOffice Экспорт и Импорт данных 1С - Microsoft Excel Экспорт
Процедура ОсновныеДействияФормыЭкспорт(Кнопка) - выгружает из указанного справочника данные в режиме экспорта в файл в формате Microsoft Excel с указанным именем, используя преобразование данных к типу число и типу строка;
Код 1C v 8.х Процедура ОсновныеДействияФормыЭкспорт (Кнопка)
Попытка
Попытка
Состояние( "Выгрузка данных из 1С в Microsoft Excel..." ) ;
ExcelПриложение = Новый COMОбъект( "Excel.Application" ) ;
Исключение
Сообщить( "Ошибка при запуске Microsoft Excel."
+ Символы. ПС + ОписаниеОшибки( ) , СтатусСообщения. Внимание) ;
Возврат ;
КонецПопытки ;
Книга = ExcelПриложение. WorkBooks. Add( ) ;
Лист = Книга. WorkSheets( 1 ) ;
Колонка = 1 ;
Для каждого стр из ТП цикл
Если стр. Выгружать Тогда
Лист. Cells( 1 , Колонка) . Value = стр. НазваниеРеквизита;
Колонка = Колонка + 1 ;
КонецЕсли ;
КонецЦикла ;
выборка = Справочники[ИмяСправочника]. Выбрать( ) ;
СтрокаЛиста = 2 ;
Пока выборка. Следующий( ) Цикл
Колонка = 1 ;
Для каждого стр из ТП цикл
Если стр. Выгружать Тогда
Попытка
Если ТипЗнч( выборка[стр. НазваниеРеквизита]) = Тип( "Число" ) Тогда
Лист. Cells( СтрокаЛиста, Колонка) . NumberFormat = "0,00" ;
Лист. Cells( СтрокаЛиста, Колонка) . Value =
Формат( выборка[стр. НазваниеРеквизита], "ЧГ=0" ) ;
иначе
Лист. Cells( СтрокаЛиста, Колонка) . NumberFormat = "@" ;
Лист. Cells( СтрокаЛиста, Колонка) . Value =
Строка( выборка[стр. НазваниеРеквизита]) ;
КонецЕсли ;
исключение
Сообщить( "Ошибка установки значения для: " +
выборка[стр. НазваниеРеквизита]) ;
Сообщить( "Стр: " + СтрокаЛиста+ " Кол: " +
Колонка+ " Рек: " + стр. НазваниеРеквизита) ;
КонецПопытки ;
Колонка = Колонка + 1 ;
КонецЕсли ;
КонецЦикла ;
СтрокаЛиста = СтрокаЛиста + 1 ;
Состояние( "Экспорт из 1С в Excel " + СтрокаЛиста) ;
КонецЦикла ;
Книга. SaveAs( имяФайла) ;
ExcelПриложение. Quit( ) ;
Сообщить( "Файл выгружен успешно: " + имяФайла ) ;
Исключение
Сообщить( "Ошибка записи данных файла :" + имяФайла) ;
Сообщить( ОписаниеОшибки( ) ) ;
Попытка
ExcelПриложение. Quit( ) ;
Исключение
КонецПопытки ;
КонецПопытки ;
КонецПроцедуры
Импорт
Исходный код процедуры 1С для загрузки XLS файла:
Код 1C v 8.х Процедура ЧтениеXLSФайла(Элемент)
Если ПустаяСтрока( ИмяФайла) Тогда
Предупреждение( "Для запуска обработки необходимо предварительно выбрать файл Microsoft Excel." ) ;
Возврат ;
КонецЕсли ;
Попытка
Состояние( "Загрузка Microsoft Excel..." ) ;
ExcelПриложение = Новый COMОбъект( "Excel.Application" ) ;
Исключение
Сообщить( "Ошибка при загрузке Microsoft Excel." + Символы. ПС + ОписаниеОшибки( ) , СтатусСообщения. Внимание) ;
Возврат ;
КонецПопытки ;
Попытка
Состояние( "Открытие файла Microsoft Excel..." ) ;
ExcelФайл = ExcelПриложение. WorkBooks. Open( ИмяФайла) ;
Исключение
Сообщить( "Ошибка открытия файла Microsoft Excel." + ИмяФайла + Символы. ПС + ОписаниеОшибки( ) , СтатусСообщения. Внимание) ;
КонецПопытки ;
Попытка
Состояние( "Обработка файла Microsoft Excel..." ) ;
ExcelЛист = ExcelФайл. Sheets( 1 ) ;
xlCellTypeLastCell = 11 ;
ExcelПоследняяСтрока = ExcelЛист. Cells. SpecialCells( xlCellTypeLastCell) . Row;
ExcelПоследняяКолонка = ExcelЛист. Cells. SpecialCells( xlCellTypeLastCell) . Column;
Исключение
Сообщить( "Ошибка открытия листа №1 Microsoft Excel." + Символы. ПС + ОписаниеОшибки( ) , СтатусСообщения. Внимание) ;
ExcelПриложение. Quit( ) ;
КонецПопытки ;
КЧ = Новый КвалификаторыЧисла( 15 , 2 ) ;
КС = Новый КвалификаторыСтроки( 50 ) ;
Массив = Новый Массив;
Массив. Добавить( Тип( "Строка" ) ) ;
ОписаниеТиповС = Новый ОписаниеТипов( Массив, , КС) ;
Массив. Очистить( ) ;
Массив. Добавить( Тип( "Число" ) ) ;
ОписаниеТиповЧ = Новый ОписаниеТипов( Массив, , , КЧ) ;
ТаблицаДокумента. Очистить( ) ;
ТаблицаДокумента. Колонки. Очистить( ) ;
ТаблицаДокумента. Колонки. Добавить( "Номер" , ОписаниеТиповС, "Номер" , 5 ) ;
ТаблицаДокумента. Колонки. Добавить( "Артикул" , ОписаниеТиповС, "Артикул" , 11 ) ;
ТаблицаДокумента. Колонки. Добавить( "Описание" , ОписаниеТиповС, "Описание" , 25 ) ;
ТаблицаДокумента. Колонки. Добавить( "Цена" , ОписаниеТиповЧ, "Цена" , 6 ) ;
Для Строка = 1 По ExcelПоследняяСтрока Цикл
ОбработкаПрерыванияПользователя( ) ;
Стр= ТаблицаДокумента. Добавить( ) ;
Стр. Номер = Строка;
Попытка
Стр. Артикул = ExcelЛист. Cells( Строка, 1 ) . Value;
Стр. Описание = ExcelЛист. Cells( Строка, 2 ) . Value;
Стр. Цена = ExcelЛист. Cells( Строка, 3 ) . Value;
Исключение
Сообщить( "Ошибка чтения строки файла Microsoft Excel." + Строка + Символы. ПС + ОписаниеОшибки( ) , СтатусСообщения. Внимание) ;
КонецПопытки ;
Состояние( "Обработка файла Microsoft Excel : "
+ "строка " + Строка + " из " + ExcelПоследняяСтрока) ;
КонецЦикла ;
ExcelПриложение. Quit( ) ;
ЭлементыФормы. ТаблицаДокумента. Значение = ТаблицаДокумента;
ЭлементыФормы. ТаблицаДокумента. СоздатьКолонки( ) ;
КонецПроцедуры
Категория:
Работа с Microsoft Office и OpenOffice Выгрузка данных в Excel с установкой разных параметров Код 1C v 8.х
Процедура ОсновныеДействияФормыЭкспорт (Кнопка)
Попытка
Попытка
Состояние( "Выгрузка данных из 1С в Microsoft Excel..." ) ;
ExcelПриложение = Новый COMОбъект( "Excel.Application" ) ;
Исключение
Сообщить( "Ошибка при запуске Microsoft Excel."
+ Символы. ПС + ОписаниеОшибки( ) , СтатусСообщения. Внимание) ;
Возврат ;
КонецПопытки ;
Книга = ExcelПриложение. WorkBooks. Add( ) ;
Лист = Книга. WorkSheets( 1 ) ;
Колонка = 1 ;
Для каждого стр из ТП цикл
Если стр. Выгружать Тогда
Лист. Cells( 1 , Колонка) . Value = стр. НазваниеРеквизита;
Колонка = Колонка + 1 ;
КонецЕсли ;
КонецЦикла ;
выборка = Справочники[ИмяСправочника]. Выбрать( ) ;
СтрокаЛиста = 2 ;
Пока выборка. Следующий( ) Цикл
Колонка = 1 ;
Для каждого стр из ТП цикл
Если стр. Выгружать Тогда
Попытка
Если ТипЗнч( выборка[стр. НазваниеРеквизита]) = Тип( "Число" ) Тогда
Лист. Cells( СтрокаЛиста, Колонка) . NumberFormat = "0,00" ;
Лист. Cells( СтрокаЛиста, Колонка) . Value =
Формат( выборка[стр. НазваниеРеквизита], "ЧГ=0" ) ;
иначе
Лист. Cells( СтрокаЛиста, Колонка) . NumberFormat = "@" ;
Лист. Cells( СтрокаЛиста, Колонка) . Value =
Строка( выборка[стр. НазваниеРеквизита]) ;
КонецЕсли ;
исключение
Сообщить( "Ошибка установки значения для: " +
выборка[стр. НазваниеРеквизита]) ;
Сообщить( "Стр: " + СтрокаЛиста+ " Кол: " +
Колонка+ " Рек: " + стр. НазваниеРеквизита) ;
КонецПопытки ;
Колонка = Колонка + 1 ;
КонецЕсли ;
КонецЦикла ;
СтрокаЛиста = СтрокаЛиста + 1 ;
Состояние( "Экспорт из 1С в Excel " + СтрокаЛиста) ;
КонецЦикла ;
Книга. SaveAs( имяФайла) ;
ExcelПриложение. Quit( ) ;
Сообщить( "Файл выгружен успешно: " + имяФайла ) ;
Исключение
Сообщить( "Ошибка записи данных файла :" + имяФайла) ;
Сообщить( ОписаниеОшибки( ) ) ;
Попытка
ExcelПриложение. Quit( ) ;
Исключение
КонецПопытки ;
КонецПопытки ;
КонецПроцедуры
Код 1C v 7.x
Процедура Вывод()
Попытка
Application= СоздатьОбъект( "Excel.Application" ) ;
Исключение
Сообщить( ОписаниеОшибки( ) , "!!!" ) ;
Сообщить( "Возможно, MS Excel не установлен на этом компьютере." ) ;
Возврат ;
КонецПопытки ;
WorkBook= Application. WorkBooks. Add( ) ;
Window= WorkBook. Windows( 1 ) ;
Window. Visible= 0 ;
Если WorkBook. Worksheets. Count= 0 Тогда
WorkBook. Worksheets. Add( ) ;
Иначе
Application. DisplayAlerts= 0 ;
Пока WorkBook. Worksheets. Count> 1 Цикл
WorkBook. Worksheets( 1 ) . Delete( ) ;
КонецЦикла ;
Application. DisplayAlerts= - 1 ;
КонецЕсли ;
Worksheet= WorkBook. Worksheets( 1 ) ;
Worksheet. Name= "Пример вывода" ;
Worksheet. Range( "A1" ) . Value= "Пример вывода из 1С:Предприятия в MS Excel" ;
Worksheet. Range( "A2" ) . Value= "сегодня " + ТекущаяДата( ) ;
Worksheet. Range( "A1:A2" ) . Font. Size= 14 ;
Worksheet. Range( "A1:A2" ) . Font. Bold= - 1 ;
Worksheet. Columns( 1 ) . ColumnWidth= 60 ;
Worksheet. Columns( 2 ) . ColumnWidth= 15 ;
Worksheet. Columns( 3 ) . ColumnWidth= 15 ;
Worksheet. Range( "A4" ) . Value= "Первая колонка" ;
Для ы= 7 по 10 Цикл
Worksheet. Range( "A4" ) . Borders( ы) . LineStyle= 1 ;
Worksheet. Range( "A4" ) . Borders( ы) . Weight= - 4138 ;
КонецЦикла ;
Worksheet. Range( "A4" ) . Interior. ColorIndex= 15 ;
Worksheet. Range( "A4" ) . HorizontalAlignment= - 4108 ;
Worksheet. Range( "B4" ) . Value= "Вторая" ;
Для ы= 7 по 10 Цикл
Worksheet. Range( "B4" ) . Borders( ы) . LineStyle= 1 ;
Worksheet. Range( "B4" ) . Borders( ы) . Weight= - 4138 ;
КонецЦикла ;
Worksheet. Range( "B4" ) . Interior. ColorIndex= 15 ;
Worksheet. Range( "B4" ) . HorizontalAlignment= - 4108 ;
Worksheet. Range( "C4" ) . Value= "Третья" ;
Для ы= 7 по 10 Цикл
Worksheet. Range( "C4" ) . Borders( ы) . LineStyle= 1 ;
Worksheet. Range( "C4" ) . Borders( ы) . Weight= - 4138 ;
КонецЦикла ;
Worksheet. Range( "C4" ) . Interior. ColorIndex= 15 ;
Worksheet. Range( "C4" ) . HorizontalAlignment= - 4108 ;
Worksheet. Outline. SummaryRow= 0 ;
Worksheet. Range( "A5" ) . Value= "Объект аналитики" ;
Worksheet. Range( "A5" ) . Font. ColorIndex= 5 ;
Worksheet. Range( "B5" ) . Value= 123.45 ;
Worksheet. Range( "B5" ) . Font. ColorIndex= 5 ;
Worksheet. Range( "C5" ) . Value= 678.9 ;
Worksheet. Range( "C5" ) . Font. ColorIndex= 5 ;
Worksheet. Range( "A6" ) . Value= "Объект аналитики" ;
Worksheet. Range( "A6" ) . Font. ColorIndex= 3 ;
Worksheet. Range( "B6" ) . Value= 123.45 ;
Worksheet. Range( "B6" ) . Font. ColorIndex= 3 ;
Worksheet. Range( "C6" ) . Value= 678.9 ;
Worksheet. Range( "C6" ) . Font. ColorIndex= 3 ;
Worksheet. Range( "A7" ) . Value= "Объект аналитики" ;
Worksheet. Range( "B7" ) . Value= 123.45 ;
Worksheet. Range( "C7" ) . Value= 678.9 ;
Worksheet. Range( "A8" ) . Value= "Объект аналитики" ;
Worksheet. Range( "B8" ) . Value= 123.45 ;
Worksheet. Range( "C8" ) . Value= 678.9 ;
Worksheet. Range( "A9" ) . Value= "Объект аналитики" ;
Worksheet. Range( "A9" ) . Font. ColorIndex= 3 ;
Worksheet. Range( "B9" ) . Value= 123.45 ;
Worksheet. Range( "B9" ) . Font. ColorIndex= 3 ;
Worksheet. Range( "C9" ) . Value= 678.9 ;
Worksheet. Range( "C9" ) . Font. ColorIndex= 3 ;
Worksheet. Range( "A10" ) . Value= "Объект аналитики" ;
Worksheet. Range( "B10" ) . Value= 123.45 ;
Worksheet. Range( "C10" ) . Value= 678.9 ;
Worksheet. Range( "A11" ) . Value= "Объект аналитики" ;
Worksheet. Range( "B11" ) . Value= 123.45 ;
Worksheet. Range( "C11" ) . Value= 678.9 ;
Worksheet. Range( "A12" ) . Value= "Объект аналитики" ;
Worksheet. Range( "A12" ) . Font. ColorIndex= 5 ;
Worksheet. Range( "B12" ) . Value= 123.45 ;
Worksheet. Range( "B12" ) . Font. ColorIndex= 5 ;
Worksheet. Range( "C12" ) . Value= 678.9 ;
Worksheet. Range( "C12" ) . Font. ColorIndex= 5 ;
Worksheet. Range( "A13" ) . Value= "Объект аналитики" ;
Worksheet. Range( "A13" ) . Font. ColorIndex= 3 ;
Worksheet. Range( "B13" ) . Value= 123.45 ;
Worksheet. Range( "B13" ) . Font. ColorIndex= 3 ;
Worksheet. Range( "C13" ) . Value= 678.9 ;
Worksheet. Range( "C13" ) . Font. ColorIndex= 3 ;
Worksheet. Range( "A14" ) . Value= "Объект аналитики" ;
Worksheet. Range( "B14" ) . Value= 123.45 ;
Worksheet. Range( "C14" ) . Value= 678.9 ;
Worksheet. Range( "A15" ) . Value= "Объект аналитики" ;
Worksheet. Range( "B15" ) . Value= 123.45 ;
Worksheet. Range( "C15" ) . Value= 678.9 ;
Worksheet. Range( "A16" ) . Value= "Объект аналитики" ;
Worksheet. Range( "A16" ) . Font. ColorIndex= 3 ;
Worksheet. Range( "B16" ) . Value= 123.45 ;
Worksheet. Range( "B16" ) . Font. ColorIndex= 3 ;
Worksheet. Range( "C16" ) . Value= 678.9 ;
Worksheet. Range( "C16" ) . Font. ColorIndex= 3 ;
Worksheet. Range( "A17" ) . Value= "Объект аналитики" ;
Worksheet. Range( "B17" ) . Value= 123.45 ;
Worksheet. Range( "C17" ) . Value= 678.9 ;
Worksheet. Range( "A18" ) . Value= "Объект аналитики" ;
Worksheet. Range( "B18" ) . Value= 123.45 ;
Worksheet. Range( "C18" ) . Value= 678.9 ;
Для НомСтр= 5 по 18 Цикл
Для ы= 7 по 10 Цикл
Worksheet. Range( "A" + НомСтр) . Borders( ы) . LineStyle= 1 ;
Worksheet. Range( "B" + НомСтр) . Borders( ы) . LineStyle= 1 ;
Worksheet. Range( "C" + НомСтр) . Borders( ы) . LineStyle= 1 ;
КонецЦикла ;
КонецЦикла ;
Worksheet. Range( "7:8" ) . Rows. Group( ) ;
Worksheet. Range( "10:11" ) . Rows. Group( ) ;
Worksheet. Range( "14:15" ) . Rows. Group( ) ;
Worksheet. Range( "17:18" ) . Rows. Group( ) ;
Worksheet. Range( "6:11" ) . Rows. Group( ) ;
Worksheet. Range( "13:18" ) . Rows. Group( ) ;
Worksheet. Outline. ShowLevels( 1 ) ;
Попытка
Worksheet. Range( "B5:C18" ) . NumberFormat= "# ##0.00" ;
Исключение
Попытка
Worksheet. Range( "B5:C18" ) . NumberFormat= "# ##0,00" ;
Исключение
КонецПопытки ;
КонецПопытки ;
Application. Visible= - 1 ;
Window. Visible= - 1 ;
Worksheet. Range( "A5" ) . S_elect( ) ;
Window. FreezePanes = - 1 ;
КонецПроцедуры
Категория:
Работа с Microsoft Office и OpenOffice Сохранить файл на диске полученный из реквизита типа хранилище значения Код 1C v 8.х
Функция СохранитьФайлНаДиске(Хранилище, ИмяФайла, ТолькоЧтение, СпособПерезаписи, ВопросОПерезаписи = Истина, ИмяСправочника = "удХранилище" ) Экспорт
Попытка
ФайлНаДиске = Новый Файл( ИмяФайла) ;
КаталогНаДиске = Новый Файл( ФайлНаДиске. Путь) ;
Если Не КаталогНаДиске. Существует( ) Тогда
СоздатьКаталог( ФайлНаДиске. Путь) ;
КонецЕсли ;
Если ФайлНаДиске. Существует( ) И ВопросОПерезаписи = Истина Тогда
Если СпособПерезаписи = ""
ИЛИ Врег( СпособПерезаписи) = "ДА"
ИЛИ Врег( СпособПерезаписи) = "НЕТ" Тогда
ФормаЗапросаПерезаписиФайлов = Справочники[ИмяСправочника]. ПолучитьФорму( "ФормаЗапросаПерезаписиФайлов" ) ;
ФормаЗапросаПерезаписиФайлов. ТекстПредупреждения =
"На локальном диске уже существует файл:
|" + ИмяФайла + "
|Перезаписать имеющийся файл?" ;
СпособПерезаписи = ФормаЗапросаПерезаписиФайлов. ОткрытьМодально( ) ;
Если СпособПерезаписи = Неопределено
ИЛИ Врег( СпособПерезаписи) = "НЕТ"
ИЛИ Врег( СпособПерезаписи) = "НЕТДЛЯВСЕХ" Тогда
Возврат Ложь ;
КонецЕсли ;
ИначеЕсли Врег( СпособПерезаписи) = "НЕТДЛЯВСЕХ" Тогда
Возврат Ложь ;
КонецЕсли ;
Если ФайлНаДиске. ПолучитьТолькоЧтение( ) Тогда
ФайлНаДиске. УстановитьТолькоЧтение( Ложь ) ;
КонецЕсли ;
КонецЕсли ;
Если ТипЗнч( Хранилище) < > Тип( "ДвоичныеДанные" ) Тогда
ДвоичныеДанные = Хранилище. Получить( ) ;
Иначе
ДвоичныеДанные = Хранилище;
КонецЕсли ;
ДвоичныеДанные. Записать( ИмяФайла) ;
ФайлНаДиске. УстановитьТолькоЧтение( ТолькоЧтение) ;
Исключение
Предупреждение( ОписаниеОшибки( ) ) ;
Возврат Ложь ;
КонецПопытки ;
Возврат Истина ;
КонецФункции
Категория:
Работа с Хранилищем Значений Получить список Справочников конфигурации Код 1C v 8.2 УП &НаКлиенте
Процедура ПоКнопкеЧтениеИзМетаданных(Команда)
Перем СписокСправочников;
СписокСправочников = Новый СписокЗначений;
СписокСправочников = СправочникиИзМетаданных( ) ;
Для Сч = 0 По СписокСправочников. Количество( ) - 1 Цикл
Сообщить( СписокСправочников. Получить( Сч) )
КонецЦикла ;
КонецПроцедуры
&НаСервере
Функция СправочникиИзМетаданных()
Перем СписокСправочников, СправочникИзМетаданных;
СписокСправочников = Новый СписокЗначений;
Для Каждого СправочникИзМетаданных Из Метаданные. Справочники Цикл
СписокСправочников. Добавить( СправочникИзМетаданных. Имя) ;
КонецЦикла ;
Возврат СписокСправочников;
КонецФункции
Код 1C v 8.х
СписокВыбора = ЭлементыФормы. ОбъектПоиска. СписокВыбора;
Для Каждого Справочник Из Метаданные. Справочники Цикл
Если ПравоДоступа( "Просмотр" , Справочник) Тогда
ИмяСправочника = Справочник. Синоним;
Если ИмяСправочника = "" Тогда
ИмяСправочника = Справочник. Имя;
КонецЕсли ;
Структура = Новый Структура;
Структура. Вставить( "Тип" , "Справочник" ) ;
Структура. Вставить( "Объект" , Справочник) ;
СписокВыбора. Добавить( Структура, ИмяСправочника, , ЭлементыФормы. КартинкаСправочника. Картинка) ;
КонецЕсли ;
КонецЦикла ;
Код 1C v 7.x
Для Индекс= 1 По Метаданные. Справочник( ) Цикл
Значение = Метаданные. Справочник( Индекс) . Идентификатор;
Представление = Метаданные. Справочник( Индекс) . Представление( ) ;
Комментарий = Метаданные. Справочник( Индекс) . Комментарий;
Сообщить( Значение+ " " + Представление+ " " + Комментарий) ;
КонецЦикла ;
Категория:
Метаданные