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

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

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

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

Устали переключаться с русского на английский и обратно при работе с таблицами 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);
    

 

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. ZloyProger 8 28.10.19 10:58 Сейчас в теме
Плюсик в карму автору) Ещё бы знать по какой такой неведомой причине ком-объект экселя начинает "вредничать" и методы то срабатывают, то не срабатывают (помню маялся с определением последней строки - то искал, то не искал, в конце концов пришлось захардкодить :-()... Из-за этого отказался от чтения экселя, сразу как табличный документ читаю и там уже своё, родное ЖКК (правда только на небольших файлах, на больших и ком-объект экселя не спасает, там уже надо через ADO).
2. aspirator23 445 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 51 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 51 01.11.19 07:17 Сейчас в теме
5. DmitryKotov 51 01.11.19 07:16 Сейчас в теме
(2) :)
что-то вроде того :)
копи-паст с какой-то статьи
Оставьте свое сообщение

См. также

Serverless (Faas) в 1С. Создание и вызов Yandex Cloud Functions Промо

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

"Я не могу просто взять и скопировать код с гитхаба", "у нас 1С микросервисами окружена", "возможностей мало" - частые фразы 1С разработчиков. которым не хватает возможностей платформы в современном мире. Faas, конечно, история не новая, но нас сдерживало 152ФЗ и задержки по пингам. Для того, чтобы действительно использовать в 1С код, к примеру, на Python, надо было приложить усилия. Теперь всё намного проще - берём и используем.

28.12.2020    3673    comol    21    

Ускоряем медленный/долгий и тормозной стандартный поиск по динамическому списку, настраиваем его под себя

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

Пользователи привыкли искать на форме списка, но, вбивая в поиск некорректные данные, могут завесить всю систему, а если еще искать нужно по НЕ полям списка, то решение только в своём поиске - все это решим в публикации с открытым кодом.

14.12.2020    5273    SizovE    2    

Отображение и редактирование в дереве большого количества настроек/параметров/опций программы, конфигурации, документа, справочника - без программного создания элементов формы

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

Очень много реквизитов (настроечные опции, параметры) у справочника или документа, и их все необходимо разместить на управляемую форму - лень! Хочется - добавил в метаданные и всё! В публикации отличное, простое и олдскульное решение с открытым кодом, научимся работать с ДанныеФормыДерево, ДеревомЗначений, сделаем быстрый поиск, создадим универсальный инструмент.

11.12.2020    620    SizovE    6    

Программное условное оформление динамического списка, раскраска строк списка по цветам справочника или любым другим условиям (условное оформление)

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

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

30.11.2020    2411    SizovE    0    

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

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

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

15.01.2019    27366    itriot11    27    

Выгрузка HTML описаний с картинками (Base64) товаров на сайт/интернет-магазин/B2B, разберем регулярное выражение получения тега body, ПолучитьHTML, ФорматированныйДокумент

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

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

24.11.2020    567    SizovE    0    

Сохранение настроек

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

Делюсь еще одним не самым очевидным способом хранения настроек в базах на БСП без доработки конфигурации. Весь код в статье.

22.11.2020    2518    the1    8    

Чтение вложенных свойств Структур Структуры, Соответствий, свойства через точку, разбор JSON

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

JSON: {user.device.type} - как получить значение {type}? А если вложенность значительно глубже? Как проверить, что оно заполнено или удалить его - всё это в публикации с открытым кодом и даже без рекурсии. Бонусом разбор дерева значений - ДанныеФормыЭлементДерева, СтрокаДереваЗначений.

17.11.2020    1431    SizovE    2    

Excel vs 1С: битва с неожиданным исходом Промо

Анализ учета Универсальные обработки Загрузка и выгрузка в Excel Финансовые Управленческие v8 1cv8.cf Россия Бесплатно (free)

Что лучше 1С или Excel? Разберемся, в казалось бы, очевидном, чтобы получить невероятное!

11.04.2019    37794    bolefirenko    120    

Сохранение настроенного запроса набора данных СКД

Универсальные функции v8 v8::СКД 1cv8.cf Бесплатно (free)

Как сохранить запрос набора данных СКД в том виде, каким он будет выполнен системой для открытия в консоли запросов с диска ИТС.

09.11.2020    1193    Serge R    0    

Отпускной период (период основного отпуска) - как его узнать

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

Пришла мне задача где нужно получить отпускной период, на просторах сети решения я не нашел. Решил поделиться с вами своим решением.

26.10.2020    486    Danila7Zz    2    

Произвольные колонтитулы и повтор шапки таблицы в табличном документе (функция)

Универсальные функции v8 Бесплатно (free)

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

07.10.2020    1629    ellavs    1    

Использование классов .Net в 1С для новичков Промо

Практика программирования Разработка внешних компонент Универсальные функции v7.7 v8 Бесплатно (free)

Руководство для новичков. Написав статью http://infostart.ru/public/238584/, я понял, что многие не понимают того, что написано. Поэтому в этой статье постараюсь более подробно остановиться на азах и без кода на вражеском языке (C#)

27.01.2016    77955    Serginio    110    

Печать в word, pdf через html

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

При работе с клиентами возникла задача: использовать форматированный документ. Итак, существует справочник, в нем табличная часть. Для каждой строки требуется ввести описание, причем описание имеет тип форматированный документ. Потребовалось организовать печать табличной части справочника с описанием для каждой строки. Тип данных "Форматированный документ" не может выводится в табличный документ, поэтому пришлось организовывать печать через Microsoft Word.

11.09.2020    1056    arr    4    

Самый простой парсинг и обработка веб-страниц в 1С

WEB Универсальные функции v8 1cv8.cf Бесплатно (free)

Рассмотрим самый простой парсинг веб-страниц средствами платформы 1С и еще некоторые полезные приемы работы с веб-страницами.

07.08.2020    6168    YPermitin    18    

Выполнение внешней обработки по расписанию для управляемого и обычного приложения

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

Использование БСП для выполнения внешних обработок в управляемом и обычном приложении

06.08.2020    3201    RPGrigorev    0    

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

Загрузка и выгрузка в Excel v8 1cv8.cf Бесплатно (free)

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

14.08.2018    20522    m-rv    5    

Пользовательское поле СКД одной процедурой

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

Быстрое создание пользовательского поля "выражение" одной процедурой

05.08.2020    1749    Yashazz    0    

Полезные встроенные функции для работы с печатными формами и не только на УТ 11.4 и БП 3.0 (сравнение)

Универсальные функции v8 БП3.0 УТ11 Россия Бесплатно (free)

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

10.07.2020    4015    quazare    5    

Вывод дерева в табличный документ СКД

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

Вывод содержимого элемента формы "ДанныеФормыДерево" в табличный документ средствами СКД.

09.07.2020    2947    Yashazz    7    

Универсальные функции с примерами использования Промо

Универсальные функции v8 Бесплатно (free)

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

26.02.2016    41814    unichkin    46    

Ещё немного функционального стиля в 1С или Как нам отфильтровать таблицу значений

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

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

16.05.2020    3052    GlebHappy    34    

Удаление из файла эксель ненужных страниц средствами 1С без COM и через COM

Загрузка и выгрузка в Excel v8 1cv8.cf Бесплатно (free)

Как средствами 1С из файла эксель удалить ненужные листы без COM и с ним. Я разрабатывал на платформе 1С:Предприятие 8.3 (8.3.14.1694)

28.01.2020    2931    pavel_pss    12    

Сходство Джаро - Винклера. Нечеткое сравнение строк

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

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

25.12.2019    7404    brooho    18    

Минимализмы 3 Промо

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

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

19.02.2018    47639    ildarovich    45    

Функция - Формат государственного номера автомобиля

Универсальные функции v8 Автомобили, автосервисы Россия Бесплатно (free)

Возникла необходимость в приведении к единому формату хранящихся, и вводимых вновь, автомобильных Регистрационных знаков - Гос.номер.

23.12.2019    4391    brooho    4    

Полезности | Дерево значений | Обычные формы |

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

Полезные функции при работе с деревом значений.

04.12.2019    6297    Mellow    7    

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

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

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

28.10.2019    11490    Olesia_Matusevich    10    

Универсальная функция для программного выполнения СКД Промо

Инструментарий разработчика Универсальные функции v8::СКД 1cv8.cf Бесплатно (free)

Часто встречаются вопросы на форумах о программном формировании СКД. Вроде и информации много по этому поводу, но... Все как всегда :) Собственно, в описании без лишних слов выложен текст общей функции, в которую, для выполнения отчета, нужно передать (минимум 2 параметра): СКД и ТабличныйДокумент.

20.05.2015    30883    dj_serega    18    

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

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

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

28.10.2019    7415    SeiOkami    66    

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

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

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

24.10.2019    12302    kraspila    30    

Функция СтрШаблон с именованными маркерами

Универсальные функции v8 1cv8.cf Бесплатно (free)

Функция позволяет задавать именованные маркеры формата [Имя], в отличии от типовых нумерованных формата %n

1 стартмани

21.10.2019    4889    kirinalex    27    

Выполнение произвольного кода в фоновых заданиях Промо

Универсальные функции v8 Бесплатно (free)

Если надо быстро провести 100`000 документов...

13.01.2016    24826    unichkin    13    

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

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

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

10.10.2019    10501    Yashazz    45    

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

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

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

07.10.2019    32394    HostHost    40    

Выгрузка из 1С номенклатуры со штрихкодами без программирования

Загрузка и выгрузка в Excel Внешние источники данных v8 УТ11 Россия Бесплатно (free)

Я так и не смог найти простой инструкции или обработки, чтобы выгрузить из 1С: Управление торговлей 11 номенклатуру вместе со штрихкодами, поэтому решил написать собственную инструкцию.

28.08.2019    15881    user1114182    4    

Загрузка из EXCEL в 1С на платформе 8.3.6/8.3.7/8.3.8/8.3.9/8.3.10 (с картинками) Промо

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

Импорт содержимого из файлов в форматах XLS (Microsoft Excel 97), Microsoft Office OpenXML (Microsoft Excel 2007- 2010) и ODS (OpenDocument) в таблицу значений.

06.04.2015    246711    StepByStep    75    

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

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

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

17.08.2019    34216    ids79    16    

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

Обработка справочников Загрузка и выгрузка в Excel v8 1cv8.cf Бесплатно (free)

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

28.05.2019    8588    rasdag    5    

Распределение оплаты по товарам Промо

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

Учебная задача. Оплата приходит по заказу. Требуется запросом распределить её по товарам. Практическая задача была сложнее. Упростил специально для иллюстрации. Сначала собираем в одну таблицу заказы и товары. Затем ОБЪЕДИНТЬ ВСЕ с оплатами. Потом намазываем оплату на товар.

04.08.2014    19288    Трактор    5    

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

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

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

13.05.2019    6885    Serge R    5    

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

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

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

28.03.2019    6232    obsfromekb    11    

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

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

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

22.03.2019    19022    ids79    16    

Загрузка из EXCEL в 1С. Чтение файла XLSX средствами 1С. ПостроительDOM Промо

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

ПРАКТИЧЕСКОЕ ПОСОБИЕ РАЗРАБОТЧИКА: Метод "NativeXLSX" (ПостроительDOM). Обрабатываются данные EXCEL типов: "Строка", "Число", "Дата" ("Время"), "Булево", "Процент", а также изображения.

11.09.2014    74915    StepByStep    27    

Повторение строк заголовка на каждой странице при обработке файлов Excel средствами платформы 1С:Предприятие

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

Вопросы повторения строк на каждой странице при работе с файлом Excel из программы, работающей в системе 1С.

23.01.2019    6755    senshkr    3    

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

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

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

14.01.2019    39030    Evg-Lylyk    21    

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

Загрузка и выгрузка в Excel v8 1cv8.cf Бесплатно (free)

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

14.01.2019    23844    starik-2005    28    

Загрузка из EXCEL в 1С. MS ADODB.Connection Промо

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

ПРАКТИЧЕСКОЕ ПОСОБИЕ РАЗРАБОТЧИКА: Метод "MS ADODB" (ADODB.Connection). Поддерживаемые типы: *.xls,*.xlsx.

30.11.2012    153914    StepByStep    89    

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

Универсальные функции v8 Бесплатно (free)

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

14.01.2019    5764    The Ded    6