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

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

Разработка - Обмен данными 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 464 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 55 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 55 01.11.19 07:17 Сейчас в теме
5. DmitryKotov 55 01.11.19 07:16 Сейчас в теме
(2) :)
что-то вроде того :)
копи-паст с какой-то статьи
Оставьте свое сообщение

См. также

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

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

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

27.01.2016    84625    Serginio    113    

Взаимодействие с api Честный знак (Молочная продукция)

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

Обзор основных примеров взаимодействия с Честным знаком по api для нетиповых конфигураций.

30.08.2021    1081    user5300    38    

Загрузка данных из файла .CSV

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

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

23.08.2021    804    user1571738    0    

Изменение расшифровки макета СКД до компоновки

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

Это не про работу с данными расшифровки. Это про изменение расшифровок полей ДО того, как СКД выполнилась. Быстрый способ сделать нужные расшифровки.

12.07.2021    2246    Yashazz    6    

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

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

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

28.12.2020    8318    comol    31    

Префиксация объектов - полезный типовой функционал БСП

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

В данной публикации предлагаю рассмотреть основные типовые возможности библиотеки стандартных подсистем (БСП), касаемые префиксации объектов конфигураций.

21.06.2021    4174    quazare    4    

Чтение CSV (быстрое)

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

Почему то из гугла до сих пор нет ссылки на код процедуры быстро читающей csv... Загрузка из файла CSV c помощью ADODB.Connection провайдера Microsoft.Jet.OLEDB.

31.03.2021    1478    kuzyara    4    

Последний раз про срез последних (на каждую дату в запросе)

Инструментарий разработчика Практика программирования Консоль запросов Универсальные функции v8 v8::Запросы Бесплатно (free)

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

15.02.2021    9772    randomus    47    

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

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

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

15.01.2019    34199    itriot11    27    

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

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

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

14.12.2020    20428    SizovE    2    

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

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

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

11.12.2020    986    SizovE    6    

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

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

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

30.11.2020    5638    SizovE    4    

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

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

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

11.04.2019    41136    bolefirenko    122    

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

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

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

24.11.2020    1164    SizovE    4    

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

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

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

22.11.2020    4086    the1    8    

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

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

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

17.11.2020    2155    SizovE    2    

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

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

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

14.08.2018    21639    m-rv    5    

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

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

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

09.11.2020    1668    Serge R    0    

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

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

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

26.10.2020    781    Danila7Zz    2    

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

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

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

07.10.2020    4655    ellavs    3    

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

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

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

26.02.2016    43022    unichkin    47    

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

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

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

11.09.2020    1987    arr    4    

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

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

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

07.08.2020    12214    YPermitin    22    

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

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

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

06.08.2020    11484    RPGrigorev    0    

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

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

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

19.02.2018    49617    ildarovich    47    

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

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

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

05.08.2020    2217    Yashazz    0    

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

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

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

10.07.2020    7084    quazare    5    

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

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

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

09.07.2020    4110    Yashazz    7    

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

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

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

20.05.2015    31718    dj_serega    18    

Команда "Вывести список" для динамического списка. Программное выполнение (вариант)

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

Делаем свою кнопку вместо "Вывести список" из пункта "ещё" динамического списка.

11.06.2020    4544    DanDy    61    

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

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

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

16.05.2020    3628    GlebHappy    34    

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

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

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

28.01.2020    3429    pavel_pss    12    

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

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

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

13.01.2016    25205    unichkin    13    

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

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

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

25.12.2019    8228    brooho    19    

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

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

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

23.12.2019    5745    brooho    5    

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

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

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

04.12.2019    8450    Mellow    7    

Загрузка из 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    266014    StepByStep    76    

Обработка расширением на клиенте

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

Описываю нетривиальный прием работы с расширением, который позволит относительно быстро реализовывать некоторые обработки данных. Суть: обработка данных на клиенте с использованием методов, которые реализованы разработчиком конфигурации на форме объекта. Если эти методы есть вне модуля формы объекта (общий модуль, модуль менеджера, модуль объекта)- лучше сделать обработку более простым способом.

31.10.2019    7823    EvgenURNN    10    

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

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

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

28.10.2019    12843    Olesia_Matusevich    10    

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

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

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

28.10.2019    7885    SeiOkami    66    

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

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

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

04.08.2014    19518    Трактор    5    

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

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

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

24.10.2019    14713    kraspila    32    

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

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

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

1 стартмани

21.10.2019    6026    kirinalex    27    

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

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

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

10.10.2019    11649    Yashazz    47    

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

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

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

11.09.2014    78793    StepByStep    27    

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

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

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

07.10.2019    38683    HostHost    41    

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

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

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

28.08.2019    24191    user1114182    10    

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

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

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

17.08.2019    43881    ids79    19    

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

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

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

30.11.2012    162555    StepByStep    89    

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

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

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

28.05.2019    9697    Rasdag    5    

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

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

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

13.05.2019    7559    Serge R    6