Обертка функций Excel на русском. Ускорение процесса разработки.

Публикация № 1144454

Разработка - Обмен данными 1С - Загрузка и выгрузка в Excel

Ексель Excel разработка Эксель

41
Устали переключаться с русского на английский и обратно при работе с таблицами Excel из 1С? Сборка наиболее необходимых функций и методов работы с Excel, обернутых в функции 1С на русском языке.

В один прекрасный момент, при разработке отчета с выводом в Excel, меня достало переключаться между языками для вызова методов Excel.

Теряется куча времени.

Обернул их в функции 1С написанные на русском языке.

Пример:

// Описание:
//  Возвращает структуру со ссылкой на ячейку
//
// Параметры:
//  Лист - лист книги Excel куда нужно вставить значение
//  Строка - номер строки листа
//  Колонка - номер колонки листа
//
// Возвращаемое значение:
//   Структура:
//		* Ячейка - ссылка на ячейку, куда было помещено значение, для дальнейшего использования
//      * Строка - строка ячейки
//		* Колонка - колонка ячейки.
//
Функция Екс_ПолучитьЯчейку(Лист,Строка,Колонка)
	текЯчейка = новый Структура;
	текЯчейка.Вставить("Ячейка",Лист.Cells(Строка,Колонка));
	текЯчейка.Вставить("Строка",Строка);
	текЯчейка.Вставить("Колонка",Колонка);	
	Возврат текЯчейка;
КонецФункции

 

Написал в основном только те функции и методы, которые мне были необходимы. После этого разработка пошла намного быстрее. Не нужно отвлекаться на переключение языка и вспоминать правильное написание той или иной функции Excel.

Были использованы как свои разработки, так и разработки и описания с сайта. Просматривал много информации, поэтому вспомнить все источники не смогу (прошу прощения :) )

один из многих:

шпаргалка по Excel

1. Код функций ниже:

#Область ПроцедурыЕксель

Процедура Екс_ВставитьМакросВКнигу(КнигаЕксель, ТекстМакроса)
    //Пишем макросы в книгу
    VBComponents = КнигаЕксель.VBProject.VBComponents;
    Кол = VBComponents.Count();
    Модуль = VBComponents.Add(1);
    Модуль.CodeModule.InsertLines(1,ТекстМакроса);
КонецПроцедуры

Процедура Екс_ВставитьКнопкиУправленияНаЛистExcel(Лист, Заголовок, Макрос, Верхний_УголХ, ВерхнийУголУ, Ширина, Высота, РазмерШрифта, ЦветНадписи)
    //Создание Кнопки
    Кнопка1=Лист.Buttons.Add(Верхний_УголХ, ВерхнийУголУ, Ширина, Высота);
    //первые 2 цифарки (420.5, 12.5, , ) это координаты точки
    //вторые 2 цифарки размеры кнопки длина ширина (, , 89.5, 17.5)
    Кнопка1.Caption=Заголовок;
    Кнопка1.OnAction = Макрос;
	Кнопка1.Font.Size = РазмерШрифта;
	Кнопка1.Font.Color = ЦветНадписи;
	Кнопка1.AutoSize = 1;
КонецПроцедуры
	 
//
// Начертание - 0 - нормальный, 1 - полужирный, 2 - наклонный, 3 - полужирнй/наклонный
Процедура Екс_УстановитьФорматЯчейки(Ячейка, Шрифт = Неопределено,Размер = Неопределено,Начертание = Неопределено,Цвет = Неопределено,Перенос = Ложь,Формат = "@", Рамка = 0)
	Если не Шрифт = Неопределено тогда
		Ячейка.Font.Name = Шрифт;
	КонецЕсли;
	Если не Размер = Неопределено тогда
		Ячейка.Font.Size = Размер;
	КонецЕсли;
	Если не Начертание = Неопределено тогда
		Если Начертание = 0 тогда
			Ячейка.Font.Bold = 0;
			Ячейка.Font.Italic = 0;
		ИначеЕсли Начертание = 1 тогда
			Ячейка.Font.Bold = 1;
			Ячейка.Font.Italic = 0;
		ИначеЕсли Начертание = 2 тогда 
			Ячейка.Font.Bold = 0;
			Ячейка.Font.Italic = 1;
		ИначеЕсли Начертание = 3 тогда
			Ячейка.Font.Bold = 1;
			Ячейка.Font.Italic = 1;
		КонецЕсли;
	КонецЕсли;
	Если не Цвет = Неопределено тогда
		Ячейка.Font.Color = Цвет;
	КонецЕсли;
	Если не Перенос = Неопределено тогда
		Ячейка.WrapText = Перенос;
	КонецЕсли;

	
КонецПроцедуры

Функция Екс_ПолучитьЦветExcelRGB(R,G,B)
    Возврат B*256*256 + G * 256 + R;
КонецФункции

// Описание:
//  Вставляет значение в указанный лист и ячейку
//  можно вставить текстовое значение, число, гиперссылку, формулу
//
// Параметры:
//  Лист - лист книги Excel куда нужно вставить значение
//  Строка - номер строки листа
//  Колонка - номер колонки листа
//  Значение - значение помещаемое в ячейку листа (строка, колонка)
//  ТипЗначения - Строка - может принимать следующие значения:
//		* "Текст"
//		* "Ссылка"
//		* "Число"
//		* "Формула"
//  ЛистНазначения - лист книги Excel куда будет вести гиперссылка
//
// Возвращаемое значение:
//   Структура:
//		* Ячейка - ссылка на ячейку, куда было помещено значение, для дальнейшего использования
//      * Строка - строка ячейки
//		* Колонка - колонка ячейки.
//
Функция Екс_ВставитьВЯчейку(Лист,Строка,Колонка,Значение, ТипЗначения = "Текст", ЛистНазначения = Неопределено)
	
	текЯчейка = новый Структура;
	текЯчейка.Вставить("Ячейка",Лист.Cells(Строка,Колонка));
	текЯчейка.Вставить("Строка",Строка);
	текЯчейка.Вставить("Колонка",Колонка);
	
	Если ТипЗначения = "Текст" тогда //по умолчанию текст
		текЯчейка.Ячейка.Value = Значение;
	ИначеЕсли ТипЗначения = "Ссылка" и не ЛистНазначения = Неопределено тогда
		//тип ссылка и есть лист назначения
		Лист.Hyperlinks.Add(текЯчейка.Ячейка,,"'"+ЛистНазначения.name+"'!R1C1",,Значение);
		
	ИначеЕсли ТипЗначения = "Число" тогда
		//
	ИначеЕсли ТипЗначения = "Формула" тогда
		//
	КонецЕсли;
	Возврат текЯчейка;
КонецФункции //ВставитьВЯчейку()

// Описание:
//  Возвращает структуру со ссылкой на ячейку
//
// Параметры:
//  Лист - лист книги Excel куда нужно вставить значение
//  Строка - номер строки листа
//  Колонка - номер колонки листа
//
// Возвращаемое значение:
//   Структура:
//		* Ячейка - ссылка на ячейку, куда было помещено значение, для дальнейшего использования
//      * Строка - строка ячейки
//		* Колонка - колонка ячейки.
//
Функция Екс_ПолучитьЯчейку(Лист,Строка,Колонка)
	текЯчейка = новый Структура;
	текЯчейка.Вставить("Ячейка",Лист.Cells(Строка,Колонка));
	текЯчейка.Вставить("Строка",Строка);
	текЯчейка.Вставить("Колонка",Колонка);	
	Возврат текЯчейка;
КонецФункции

// Объединяет указанную Ячеками область на Листе Excel
Процедура Екс_ОбъединитьЯчейки(Лист,Строка1,Колонка1,Строка2,Колонка2)
	Лист.Range(Лист.Cells(Строка1,Колонка1),Лист.Cells(Строка2,Колонка2)).Merge();
КонецПроцедуры

Функция Екс_ПолучитьЛист(КнигаExcel, ИмяНомерЛиста)
	Возврат КнигаExcel.WorkSheets(ИмяНомерЛиста);
КонецФункции

Функция ЕксельПолучитьКнигу(ОбъектЕксель, ИмяФайлаЕксель)
	Возврат ОбъектЕксель.Workbooks.Open(ИмяФайлаЕксель);
КонецФункции

Функция ЕксельСоздатьОбъект()
	Возврат Новый COMОбъект("Excel.Application");
КонецФункции

Процедура Екс_ЗакрытьКнигу(Книга)
	Попытка
		Книга.Close();
	Исключение
	КонецПопытки;
КонецПроцедуры

Процедура Екс_ЗакрытьЕксель(ОбъектЕксель)
	Попытка
		ОбъектЕксель.Quit();
	Исключение
	КонецПопытки;
КонецПроцедуры

Функция Екс_КоличествоЛистовВКниге(КнигаExcel)
	Возврат КнигаExcel.Worksheets.Count;
КонецФункции

Функция ЕксельДобавитьЛистВКнигу(КнигаExcel,ТекущийЛист,ИмяНовогоЛиста)
	НовыйЛист = КнигаExcel.WorkSheets.Add(,ТекущийЛист);
	НовыйЛист.name = ИмяНовогоЛиста;
	Возврат НовыйЛист;
КонецФункции

Процедура Екс_УстановитьВысотуСтроки(Ячейка, ВысотаСтроки)
	Ячейка.RowHeight = ВысотаСтроки;
КонецПроцедуры

Функция Екс_ПолучитьИмяЛистаПоНомеру(Книга, НомерЛиста)
	Возврат Книга.WorkSheets(НомерЛиста).name;
КонецФункции

Функция Екс_ПолучитьНомерЛистаПоИмени(Книга, ИмяЛиста)
	Возврат Книга.WorkSheets(ИмяЛиста).Index;
КонецФункции

Функция Екс_ПоследняяСтрокаВЛисте(Лист)
	Возврат Лист.UsedRange.Rows.Count;
КонецФункции

Процедура Екс_ЗафиксироватьОбласть(ОбъектЕксель,Лист,Строка = Неопределено, Колонка = Неопределено)
	Лист.Activate();
	Если не Строка = Неопределено тогда
		ОбъектЕксель.ActiveWindow.SplitRow = Строка;
		
	КонецЕсли;
	Если не Колонка = Неопределено тогда
		ОбъектЕксель.ActiveWindow.SplitColumn = Колонка;
	КонецЕсли;
	ОбъектЕксель.ActiveWindow.FreezePanes = 1;	
КонецПроцедуры

Функция Екс_ЯчейкаОбъединена(Ячейка) 
	Возврат Ячейка.MergeCells;
КонецФункции	

Функция Екс_ПолучитьЗначениеВЯчейке(Лист,Строка,Колонка)
	Возврат Лист.Cells(Строка,Колонка).Value;
КонецФункции

Процедура Екс_УстановитьСнятьЗащитуСЯчейки(Ячейка,Защита = 0)
	Попытка
		Ячейка.Locked = Защита;
	Исключение
	КонецПопытки;
КонецПроцедуры

#КонецОбласти

 

2. Пример использования:

Ексель = ЕксельСоздатьОбъект();
КнигаЕксель = ЕксельПолучитьКнигу(Ексель,ИмяФайла);
ЛистЕксель = Екс_ПолучитьЛист(КнигаЕксель,1);
ЛистНавигации = Екс_ПолучитьЛист(Книга,"Навигация");
    
текСтрока = 5;
текКолонка = 10;
ЗначЯчейки = Екс_ПолучитьЗначениеВЯчейке(ЛистЕксель,текСтрока,текКолонка);

текЯчейка = Екс_ВставитьВЯчейку(ЛистЕксель,текСтрока,1,"Вариант 1.");
//В текЯчейка вернулась структура ТекЯчейка.Ячейка, ТекЯчейка.Строка, ТекЯчейка.Колонка
Екс_УстановитьФорматЯчейки(текЯчейка.Ячейка,,15,1,Красный);
Екс_УстановитьВысотуСтроки(текЯчейка.Ячейка,16);
Екс_ОбъединитьЯчейки(ЛистЕксель,текЯчейка.Строка,текЯчейка.Колонка,текЯчейка.Строка,текЯчейка.Колонка+5);
    

 

41

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. ZloyProger 7 28.10.19 10:58 Сейчас в теме
Плюсик в карму автору) Ещё бы знать по какой такой неведомой причине ком-объект экселя начинает "вредничать" и методы то срабатывают, то не срабатывают (помню маялся с определением последней строки - то искал, то не искал, в конце концов пришлось захардкодить :-()... Из-за этого отказался от чтения экселя, сразу как табличный документ читаю и там уже своё, родное ЖКК (правда только на небольших файлах, на больших и ком-объект экселя не спасает, там уже надо через ADO).
2. aspirator23 407 31.10.19 10:15 Сейчас в теме
Спасибо за функции. "цифАрки" - это из старославянского?
3. user717498 31.10.19 11:33 Сейчас в теме
Необходимо дополнить процедурой установки параметров страницы Excel для печати

Процедура УстановитьПараметрыСтраницыДляПечати(Excel,Книга,НомерЛиста)
//до обращения к процедуре должно быть прописано
//Excel= новый COMОбъект("Excel.Application");
//Книга = Excel.WorkBooks.Open(ИмяФайла);
//НомерЛиста = 1;
Лист = Книга.WorkSheets(НомерЛиста);
Лист.PageSetup.LeftMargin = Excel.CentimetersToPoints(2); //отступ слева 2 см
Лист.PageSetup.RightMargin = Excel.CentimetersToPoints(5/10); //отступ справа 0.5 см
Лист.PageSetup.TopMargin = Excel.CentimetersToPoints(1); //отступ сверху 1 см
Лист.PageSetup.BottomMargin = Excel.CentimetersToPoints(1); //отступ снизу 1 см
Лист.PageSetup.HeaderMargin = Excel.CentimetersToPoints(0); //верхний колонтитул 0 см
Лист.PageSetup.FooterMargin = Excel.CentimetersToPoints(5/10); //нижний колонтитул 0.5 см
Лист.PageSetup.Orientation = 1; //портрет, если 2 - ландшафт
Лист.PageSetup.Zoom = 100; //100% масшстаб,
//если по ширине страницы, то Лист.PageSetup.Zoom = False;
//и добавить 2 строки:
//Лист.PageSetup.FitToPagesWide = 1; - по ширине страницы
//Лист.PageSetup.FitToPagesTall = False;
Лист.PageSetup.RightFooter = "&p";//номер страницы в правом нижнем колонитутле (варинат "стр. &p")где p это англ "пи"
//вариант для верхнего колонитула Лист.PageSetup.RightHeader = "&p";

КонецПроцедуры
4. DmitryKotov 42 01.11.19 07:14 Сейчас в теме
(3) За добавку функций огромное спасибо.
У меня была мысль собрать это все в расширение
Ваша процедура в обертке будет выглядеть так (например) :

Получаем лист
Лист = Екс_ПолучитьЛист(КнигаExcel, ИмяНомерЛиста);


Процедура УстановитьПараметрыСтраницыДляПечати(Лист, ОтступСлева, ОтступСправа и т.д.) (а можно и структуру отступов и других параметров передать)

Лист.PageSetup.LeftMargin = Excel.CentimetersToPoints(ОтступСлева); //отступ слева 2 см (или СтруктураОтступов.ОтступСлева
Лист.PageSetup.RightMargin = Excel.CentimetersToPoints(ОтступСправа); //отступ справа 0.5 см

....
и т.д.
....

Если ЕстьFooter (если передали нижний колонтитул, то делаем

Лист.PageSetup.RightFooter = "&p";//номер страницы в правом нижнем колонитутле (варинат "стр. &p")где p это англ "пи"
//вариант для верхнего колонитула Лист.PageSetup.RightHeader = "&p";

КонецПроцедуры
6. DmitryKotov 42 01.11.19 07:17 Сейчас в теме
5. DmitryKotov 42 01.11.19 07:16 Сейчас в теме
(2) :)
что-то вроде того :)
копи-паст с какой-то статьи
Оставьте свое сообщение

См. также

Использование XML-схемы из макета внешней обработки 21

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Обмен через XML Универсальные функции

Простой способ использования XML-схем из макета внешней обработки.

28.10.2019    2368    OlesiaM    10       

Быстрое создание наполненных коллекций 58

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Универсальные функции

Разберем самые частые способы создания коллекции, значения которой известны заранее. И сравним скорость их выполнения.

28.10.2019    3189    SeiOkami    51       

Преобразование XML в таблицу значений или иной объект 1С методом XSL преобразования 41

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Универсальные функции Обмен через XML

Сразу открою интригу, напрямую прочитать XML, не содержащий объект 1С, не удастся. Статья раскрывает способы привести XML к формату, который возможно прочитать средствами платформы.

24.10.2019    3108    kraspila    25       

Полезняшки по СКД и построителям. Просто код 45

Статья Программист Нет файла v8 v8::СКД Бесплатно (free) Практика программирования Универсальные функции

Полезные процедуры и функции для работы с построителями и СКД. Просто исходник.

10.10.2019    4033    Yashazz    45       

Полезные процедуры и функции для программиста 140

Статья Программист Нет файла v8 1cv8.cf Россия Бесплатно (free) Практика программирования Универсальные функции

Все мы пишем программный код и часто используем процедуры, облегчающие его написание. Ниже приведена выборка таких полезных процедур и функций.

07.10.2019    8951    HostHost    23       

Отслеживание выполнения фонового задания 141

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Универсальные функции Разработка

Запуск фонового задания из модуля внешней обработки. Отслеживание выполнения задания в виде прогресса, расположенного на форме.

17.08.2019    10436    ids79    16       

Загрузка картинок в справочники (Универсальная загрузка из табличного документа) 8

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Обработка справочников Загрузка и выгрузка в Excel

Пример загрузки картинок в справочник Номенклатура (с помощью обработки универсальная загрузка данных из табличного документа). Проверялось на конфигурации УТ 11.4.7.

28.05.2019    2705    rasdag    2       

Сохранение запроса со всеми параметрами и временными таблицами 20

Статья Программист Нет файла v8 v8::УФ Россия Бесплатно (free) Универсальные функции

Функция сохранения запроса со всеми параметрами и временными таблицами в формате *.q1c для открытия в консоли запросов с диска ИТС.

13.05.2019    2825    Serge R    5       

Преобразование EXCEL в таблицу значений без COM и других извращений 210

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Загрузка и выгрузка в Excel

Получение таблицы значений из excel в 1С v8, без COM, внешних источников данных и т.д. EXCELВТаблицуЗначений() - За 10 строчек кода! Реализация протестирована на 1С 8.3.12.1714 (x64).

18.04.2019    13273    9    Eret1k    43       

Иерархия справочника Сверху Вниз. Получаем произвольное количество родителей "верхнего" уровня 7

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Универсальные функции Разработка

Иерархия справочника Сверху Вниз. Функция для получения произвольного количества родителей "верхнего" уровня. На примере справочника "Номенклатура".

28.03.2019    2312    obsfromekb    11       

Доработка проведения типовых документов в УТ 11.4, КА 2.4, ЕРП 2.4 101

Статья Программист Нет файла v8 v8::УФ ERP2 УТ11 КА2 Россия УУ Бесплатно (free) Практика программирования Универсальные функции Разработка

Различные варианты корректировки типовых механизмов проведения документов, без корректировки основной конфигурации. Использование расширений, подписок на событие и механизма локализации типовых документов.

22.03.2019    9537    ids79    14       

Копирование числовых ячеек из 1С в Excel 26

Статья Системный администратор Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Загрузка и выгрузка в Excel Администрирование данных 1С

Решение проблемы, когда значения скопированных ячеек из табличных документов 1С в Excel воспринимаются последним как текст, т.е. без дополнительного форматирования значений невозможно применить арифметические операции. Поводом для публикации послужило понимание того, что целое предприятие с более сотней активных пользователей уже на протяжении года мучилось с такой, казалось бы на первый взгляд, тривиальной проблемой. Варианты решения, предложенные специалистами helpdesk, обслуживающими данное предприятие, а так же многочисленные обсуждения на форумах, только подтвердили убеждение в необходимости описания способа, который позволил мне качественно и быстро справиться с ситуацией.

15.01.2019    11603    itriot11    21       

Работа со строками: от простого к сложному 26

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Универсальные функции

Простые примеры работы со строками, в конце более читаемый разбор сложных текстов.

14.01.2019    8672    Evg-Lylyk    17       

Запись одной книги Excel на нескольких листах средствами 1С (без внешних компонент) 142

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Загрузка и выгрузка в Excel

Пользователи часто просят сохранить им стопиццот отчетов в один файл Excel, чтобы отчеты были в одном файле. Ну или клиент хочет счет, накладную и счет-фактуру получить в одном документе. 1С умеет это делать без всяких там COM-объектов. Давайте разберемся, куда нажимать и что крутить.

14.01.2019    12634    starik-2005    24       

Нумерация колонок субконто при выгрузке набора записей регистра бухгалтерии в таблицу значений 6

Статья Программист Нет файла v8 Бесплатно (free) Универсальные функции

Решение проблемы несовпадения номеров колонок с номерами субконто на счете при выгрузке в таблицу значений.

14.01.2019    2603    The Ded    3       

Как легко загружать данные из электронных таблиц (Excel, OpenOffice и т.д) 35

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Загрузка и выгрузка в Excel

Как легко загружать данные из электронных таблиц (Excel, OpenOffice и т.д). На примере загрузки в табличную часть документа Поступление товаров и услуг в УТ 11.4.

09.01.2019    7247    rasdag    14       

Универсальные функции ЗУП 3.1 / ЗКГУ 3.1, которые помогут в разработке 485

Статья Программист Нет файла v8 v8::СПР ЗКГУ3.0 ЗУП3.x БУ Зарплата Управление персоналом (HRM) Бесплатно (free) Универсальные функции

В статье размещен список стандартных процедур и функций с примерами, которые могут помочь при разработке (доработке) конфигураций Зарплата и управление персоналом ред. 3.1 и Зарплата и кадры государственного учреждения 3.1. Иногда бывает довольно сложно правильно получить данные или долго, поэтому лучшим вариантом будет использование стандартных процедур. Буду очень признателен, если Вы поделитесь своим опытом и предложите свои варианты стандартных процедур которые помогают в работе. Или предложите, как дополнить имеющиеся процедуры.

14.11.2018    35473    GeterX    93       

Кадровые данные сотрудников в ЗУП 3.1 в отчетах 39

Статья Программист Нет файла v8 v8::СПР ЗУП3.x Россия Управление персоналом (HRM) Бесплатно (free) Универсальные функции

Параметры используемые для получения данных сотрудников в ЗУП 3.1. Пригодится для разработки отчетов как напоминалка.

07.11.2018    14202    fromlion    14       

Работа с Excel через COM 20

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Загрузка и выгрузка в Excel

Несколько примеров работы с excel (ms office 2010, в моем случае) через COM.

01.10.2018    5613    jaroslav.h    0       

Выгрузка в Excel с использованием формата OpenXML, разбор файла sheet1.xml 13

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Загрузка и выгрузка в Excel

Судя по количеству просмотров темы https://infostart.ru/public/900022/ решил описать структуру файла Листа excel. На полноту не претендую, опишу то, что знаю.

21.09.2018    4430    user1045404    2       

Функция НайтиФайлы() в каталоге netshare на Linux - обход ошибки работы 6

Статья Программист Нет файла v8 Linux Бесплатно (free) Практика программирования Универсальные функции

Решение проблемы применения функции НайтиФайлы() в каталоге с netshare на Linux-сервере - не работает поиск файлов по указанной маске (шаблону)

19.09.2018    3569    drmaxart    1       

Excel: создание в формате xlsx без COM технологии 112

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Загрузка и выгрузка в Excel

По работе приходится часто выгружать данные в Excel формате. При большом количестве строк и формул этот процесс достаточно длительный. Решил написать для своих целей небольшую библиотечку для выгрузки данных. Используется технология open-xml. Никаких библиотек не надо, пишу напрямую в xml файлики. На данном этапе сделано форматирование, формулы.

10.09.2018    8059    user1045404    16       

Из Excel в 1С запросом 33

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Загрузка и выгрузка в Excel

... ну, конечно, не прям так типовым языком запросов, а расширенным языком запросов. Речь пойдет о том, как "залить" данные в таблицы 1С и не пилить при этом бесконечного количества наколеночных обработок.

14.08.2018    14254    m-rv    5       

Простой способ программно открыть заполненную форму нового (незаписанного) документа в тонком клиенте 15

Статья Программист Нет файла v8 Бесплатно (free) Универсальные функции

В этой публикации я поделюсь своим способом открывать программно новый незаписанный документ в тонком клиенте. Для использования этого способа потребуется немного модифицировать конфигурацию. Добавив универсальные процедуру и функцию, можно будет использовать их для любых документов/справочников.

09.06.2018    7806    Serge R    12       

Генерация временного ряда запросом 7

Статья Программист Нет файла v8 v8::Запросы 1cv8.cf Бесплатно (free) Универсальные функции

Способ генерации последовательности дат средствами языка запроса 1С.

07.05.2018    6237    dim_zal    6       

Минимализмы 3 355

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Универсальные функции

Очередная серия "минимализмов" [http://infostart.ru/public/306536/, https://infostart.ru/public/460935/]. Также, как и в предыдущих статьях, здесь приведена подборка коротких оригинальных авторских решений некоторых задач. Ранее эти решения были разбросаны по моим комментариям к чужим публикациям.

19.02.2018    37099    ildarovich    44       

Таблица значений в Таблицу HTML - функция с возможностью настройки цвета шапки, заголовков, выравнивания и размера колонок 83

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Универсальные функции

Если вам нужно быстро получить таблицу значений в виде строкового типа 1С в формате HTML, вам поможет эта функция, включена возможность автоматического вывода столбца пункт по порядку.

22.12.2017    19592    rpgshnik    21       

Пример преобразования двоичных данных в строку 26

Статья Программист Нет файла v8 Бесплатно (free) Универсальные функции

Доброго всем времени суток. Хочу поделиться маленьким решением маленькой проблемы. Думаю, будет интересно новичкам. Я не раз встречал на форумах вопрос: как преобразовать двоичные данные в строку? В частности, к примеру, частенько нужно получить хэш файла MD5 в текстовом виде, но как мы знаем 1С возвращает его в виде двоичных данных.

08.12.2017    12980    frkbvfnjh    19       

Функция сохранения картинок из книги Excel в каталог с определением координат на листе 8

Статья Программист Нет файла v8 Бесплатно (free) Загрузка и выгрузка в Excel Универсальные функции

Разбор файла *.xlsx как Web-архива, выгрузка изображений без потери качества, с определением положения изображений.

12.11.2017    7450    user634820_zergemoth    1       

Определяем контекст сеанса 1С программно (Тонкий/Толстый клиенты/HTTP-Сервис/Фоновое задание и т.д.) 31

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Универсальные функции

Иногда возникает необходимость программно определить контекст сеанса в 1С. Скажем вам надо понять что этот сеанс запущен и используется HTTP-Сервисом и не регламентным заданием или толстым клиентом. Порывшись в интернете я нашел только два способа которые не позволяли отличить регламентное задание от HTTP-Сервиса, стандартная функция ТекущийРежимЗапуска() тоже не позволяет определить запуск HTTP-Сервиса. Но в 1С есть стандартные средства которые позволяют решить эту задачу.

08.11.2017    16110    azubar    9       

Работа с Excel 298

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Загрузка и выгрузка в Excel

Собрал различные полезности для работы с Excel из 1С. Иногда приходится форматировать документ Excel программно из 1С. Так вот, чтобы не искать постоянно на просторах интернета как сделать левое выравнивание в ячейке Excel из 1С и т.п. решил опубликовать это...

23.10.2017    27100    arakelyan    39       

#Область ВНЕШНИЕ_ВЫЗОВЫ или MVC в 1С, библиотечность и упрощение интеграции кода 43

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Математика и алгоритмы Универсальные функции

Зачастую почти любой модуль в 1С содержит от одного до несметного множества вызовов других модулей. Как с этим бороться, чтобы было проще куда-то что-то переносить - в этом посте.

12.10.2017    14810    for_sale    58       

Получение даты, зная день недели и его порядок в месяце 10

Статья Программист Нет файла v8 Бесплатно (free) Универсальные функции

Иногда бывает необходимость получить "Первый понедельник месяца" или "Вторую пятницу месяца". Есть несколько способов решения вопроса. Опишу один из них.

12.09.2017    8514    987ww765    10       

Разность дат 23

Статья Программист Нет файла v8 Бесплатно (free) Универсальные функции

Иногда требуется получить разность дат в виде типа: 5 дней 6 месяцев 4 года. Это можно сделать с помощью запроса, получив на выходе сразу 3 нужных числа, без последующих вычислений.

11.08.2017    10135    jun-ko    24       

Простой способ преобразовать UNICODE в строку или в структуру 23

Статья Программист Нет файла v8 Россия Windows Бесплатно (free) Практика программирования Универсальные функции

Первая функция получает Строку, которая содержит строчки вида «Ключ=Значение». Вторая функция получает Структуру.

07.07.2017    7432    dimasts    5       

Почему при загрузке таблицы Excel в 1С возникают ошибки? 9

Статья Программист Нет файла v8 Бесплатно (free) Загрузка и выгрузка в Excel

При загрузке из EXCEL в 1С методом MS ADODB.Connection столкнулся с некоторыми проблемами, которые попытался устранить в ниже приведенной статье. Надеюсь, что статья поможет вам сократить время разработки.  Особая благодарность Андрею М. за публикацию //infostart.ru/public/163640/

28.04.2017    12752    dakork    4       

"Распределение в запросе" или "избавляемся от перебора" 185

Статья Программист Нет файла v8 1cv8.cf Россия Бесплатно (free) Математика и алгоритмы Универсальные функции

Хороший перебор - это отсутствие перебора. Рассмотрим пример замены полного перебора запросом.

16.12.2016    28632    alexandersh    48       

Пример работы с шаблоном Word через ole (клиент - сервер, тонкий клиент) - установка значений и заполнение таблицы 17

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Универсальные функции

В примере показывается заполнение строк готовой таблицы, добавление новой таблицы, объединение ячеек, установка значений в "параметр".

09.11.2016    10277    gortrex    8       

Загрузка значений свойств номенклатуры в Альфа-Авто с использованием обработки загрузки данных из табличного документа 15

Статья Программист Руководитель проекта Нет файла v8 1cv8.cf Автомобили, автосервисы Россия УУ Windows Учет ТМЦ Бесплатно (free) Загрузка и выгрузка в Excel

В публикации будет рассмотрено использование встроенной в отраслевую конфигурацию Альфа-Авто обработки по загрузке данных из табличного документа для заполнения значений дополнительных свойств номенклатуры.

13.10.2016    14497    miavolas    15       

Парсер JSON (Штатные средства 1С 8.3.6) 59

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Универсальные функции

Хочу поделиться функцией чтения json, реализованной с помощью штатных средств платформы.

29.09.2016    48003    dour-dead    21       

Программное создание графических схем (v.2): API для ГрафическойСхемы 73

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Работа с интерфейсом Универсальные функции

Пример динамического создания графических схем, добавления элементов любых видов. Любые схемы без бизнес-процессов. Программная работа со схемой. Отличие от существующей статьи в том, что здесь используется объектная модель. Исправил и упростил некоторые моменты - результат соответствует схеме, созданной руками. Добавил возможность рисования произвольных форм для существующих фигур.

27.09.2016    17256    serg_infostart    15       

Решение проблемы медленной загрузки из файла Excel, защищенного паролем 11

Статья Программист Нет файла v8 Россия Бесплатно (free) Загрузка и выгрузка в Excel

Столкнулся с проблемой загрузки из файла Excel. Загрузка занимала около получаса и не всегда заканчивалась успешно. Решение проблемы изложу в данной статье.

27.09.2016    8183    HAMMER_59    4       

Вычитание рабочих дней от текущей даты 7

Статья Программист Нет файла v8 Россия Бесплатно (free) Практика программирования Универсальные функции

Функция возвращает дату, которая меньше указанной даты на количество рабочих дней по выбранному графику

08.09.2016    9860    semenich_b    7