Универсальная процедура выгрузки в эксель с помощью ADO

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

Разработка - Обработки - Универсальные обработки

Универсальная процедура выгрузки данных в excel с помощью библиотеки ADO. Правда универсальность ограничена строкой подключения, связанной с версией установленного microsoft office. Однако на это можно закрыть глаза. Другое ограничение это отсутствие поддержки составного типа данных в колонке.

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

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

 Схема работы процедуры

 

Копентарии редактор статьи режет, приведу отдельно:

записывает новый файл эксель версии не ниже 2007 на основании получаемых параметров  

Параметры:

  ИмяФайла  - Строка - Полный путь к вновь создаваемому файлу   

  ПерезаписыватьФайл  - Булево - отвечает за работу проверки существования  файла на диске прежде его создания  

  Данные  - Массив структур или табл. значений - содержит данные для выгрузки в эксель  Массив структур используется для работы на упр. приложении (первый элемент массива заголовки полей)  вместе с тем можно передать ТЗ при рабоче в обычном клиенте

 ИмяТаблицы  - Строка - Имя таблицы (листа) эксель

    

Далее сам код: 

 

&НаКлиенте
Процедура ЗаписатьВЭксельФайл(  Знач ИмяФайла,
                                                                Знач ПерезаписыватьФайл = Истина,
                                                                Знач Данные,
                                                                Знач ИмяТаблицы)
    //Проверим валидность имени файла
        Если ПустаяСтрока(ИмяФайла) Тогда 
                Возврат;
        Иначе
                //анализ нахождения файла на диске
                Если ПерезаписыватьФайл Тогда
                        Файл = Новый Файл(ИмяФайла);
                        Если Файл.Существует() Тогда
                                Файл = Неопределено;
                                УдалитьФайлы(ИмяФайла);
                        КонецЕсли;
                КонецЕсли;              
        КонецЕсли;
        
        //Проверка типа переданных данных
        //Подразумевается, что не массив означает ТЗ
        Если ТипЗнч(Данные) <> Тип("Массив") Тогда
                //строка подключения для эксель не ниже 2007 версии
                СтрокаПодключения = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=""" + ИмяФайла + """;Extended Properties=""Excel 12.0 Xml;HDR=YES"""; 
                
                //объект отвечающий за связь с БД
                Коннектор = Новый COMОбъект("ADODB.Connection");
        Коннектор.ConnectionString = СтрокаПодключения;
                Коннектор.Open();
 
                //подключаемся
                Ком = Новый COMОбъект("ADODB.Command");
        Ком.ActiveConnection = Коннектор;
                //константа 1 означает "запрос", бывают еще представления и хранимые процедуры
        Ком.CommandType = 1;
                
                //анализируем тип данных в первой строке ТЗ
                СтрокаТЗ = Данные.Получить(0);
                СписокПолей = "";
                Для Каждого КолонкаТЗ Из Данные.Колонки Цикл
                        ТекЗначение = СтрокаТЗ[КолонкаТЗ.Имя];
                        //анализ типа данных
                        Если ТипЗнч(ТекЗначение) = Тип("Дата") Тогда
                                СписокПолей = СписокПолей + КолонкаТЗ.Имя + " date,";
                        ИначеЕсли ТипЗнч(ТекЗначение) = Тип("Число") Тогда
                                СписокПолей = СписокПолей + КолонкаТЗ.Имя + " float,";
                        ИначеЕсли ТипЗнч(ТекЗначение) = Тип("Булево") Тогда
                                СписокПолей = СписокПолей + КолонкаТЗ.Имя + " LOGICAL,";
                        Иначе
                                СписокПолей = СписокПолей + КолонкаТЗ.Имя + " char(255),";
                        КонецЕсли;              
                КонецЦикла;
                //обрезаем последнюю запятую
                СписокПолей = Лев(СписокПолей, СтрДлина(СписокПолей) - 1);
                Ком.CommandText = "CREATE TABLE " + ИмяТаблицы + " (" + СписокПолей + ")";
                Попытка
                        Ком.Execute();
                Исключение
                        Сообщить("При создании таблицы произошла ошибка!" + Символы.ПС 
                        + "Текст запроса: " + Ком.CommandText + Символы.ПС
                        + ОписаниеОшибки());
                        Возврат;
                КонецПопытки;
                
                //выгрузка данных
                //обходим строки данных
                Для Каждого СтрокаТЗ Из Данные Цикл
                        //обходим колонки данных
                        СписокПолей = "";
                        //цикл для формирования списка полей
                        Для Каждого КолонкаТЗ Из Данные.Колонки Цикл
                                ТекЗначение = СтрокаТЗ[КолонкаТЗ.Имя];
                                //анализ типа данных
                                Если ТипЗнч(ТекЗначение) = Тип("Число") Тогда
                                        СписокПолей = СписокПолей + Формат(ТекЗначение, "ЧРД=.; ЧН=0; ЧГ=") + ",";
                                ИначеЕсли ТипЗнч(ТекЗначение) = Тип("Дата") Тогда
                                        СписокПолей = СписокПолей + "'" + Формат(ТекЗначение, "ДФ=dd.MM.yyyy") + "',";
                                ИначеЕсли ТипЗнч(ТекЗначение) = Тип("Булево") Тогда
                                        СписокПолей = СписокПолей + "'" + Формат(ТекЗначение, "БЛ=0; БИ=1") + "',";
                                Иначе
                                        СписокПолей = СписокПолей + "'" + СокрЛП(ТекЗначение) + "',";
                                КонецЕсли;
                        КонецЦикла;
                        //обрезаем последнюю запятую
                        СписокПолей = Лев(СписокПолей, СтрДлина(СписокПолей) - 1);
                        //окончательное формирование теста запроса
                        ТекстЗапроса = "INSERT INTO " + ИмяТаблицы + " VALUES (" + СписокПолей + ")";
                        Ком.CommandText = ТекстЗапроса;
                        //запись данных в БД (выполнение запроса)
                        Попытка
                                Ком.Execute();
                        Исключение
                                Сообщить("При записи данных произошла ошибка!" + Символы.ПС 
                                + "Текст запроса: " + ТекстЗапроса + Символы.ПС
                                + ОписаниеОшибки());
                        КонецПопытки;
                КонецЦикла;
                Ком.ActiveConnection.Close();
        //************************************************      
        //Обработка массива структур
        //************************************************
        ИначеЕсли ТипЗнч(Данные) = Тип("Массив") Тогда
                //строка подключения для эксель не ниже 2007 версии
                СтрокаПодключения = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + ИмяФайла + ";Extended Properties=""Excel 12.0 Xml;HDR=YES"""; 
                
                //объект отвечающий за связь с БД
                Коннектор = Новый COMОбъект("ADODB.Connection");
        Коннектор.ConnectionString = СтрокаПодключения;
                Коннектор.Open();
 
                //подключаемся
                Ком = Новый COMОбъект("ADODB.Command");
        Ком.ActiveConnection = Коннектор;
                //константа 1 означает "запрос", бывают еще представления и хранимые процедуры
        Ком.CommandType = 1;
                
                //анализируем тип данных в первом элементе массива
                ПервыйЭлемент = Данные.Получить(0);
                СписокПолей = "";
                Для Каждого ЭлементСтруктуры Из ПервыйЭлемент Цикл
                        ТекЗначение = ЭлементСтруктуры.Значение;
                        //анализ типа данных
                        Если ТипЗнч(ТекЗначение) = Тип("Дата") Тогда
                                СписокПолей = СписокПолей + ЭлементСтруктуры.Ключ + " date,";
                        ИначеЕсли ТипЗнч(ТекЗначение) = Тип("Число") Тогда
                                СписокПолей = СписокПолей + ЭлементСтруктуры.Ключ + " float,";
                        ИначеЕсли ТипЗнч(ТекЗначение) = Тип("Булево") Тогда
                                СписокПолей = СписокПолей + ЭлементСтруктуры.Ключ + " LOGICAL,";
                        Иначе
                                СписокПолей = СписокПолей + ЭлементСтруктуры.Ключ + " char(255),";
                        КонецЕсли;              
                КонецЦикла;
                //обрезаем последнюю запятую
                СписокПолей = Лев(СписокПолей, СтрДлина(СписокПолей) - 1);
                Ком.CommandText = "CREATE TABLE " + ИмяТаблицы + " (" + СписокПолей + ")";
                Попытка
                        Ком.Execute();
                Исключение
                        Сообщить("При создании таблицы произошла ошибка!" + Символы.ПС 
                        + "Текст запроса: " + Ком.CommandText + Символы.ПС
                        + ОписаниеОшибки());
                        Возврат;
                КонецПопытки;
                
                //выгрузка данных
                //обходим строки данных
                Для Каждого ЭлементМассива Из Данные Цикл
                        //обходим колонки данных
                        СписокПолей = "";
                        //цикл для формирования списка полей
                        Для Каждого ЭлементСтруктуры Из ЭлементМассива Цикл
                                ТекЗначение = ЭлементСтруктуры.Значение;
                                //анализ типа данных
                                Если ТипЗнч(ТекЗначение) = Тип("Число") Тогда
                                        СписокПолей = СписокПолей + Формат(ТекЗначение, "ЧРД=.; ЧН=0; ЧГ=") + ",";
                                ИначеЕсли ТипЗнч(ТекЗначение) = Тип("Дата") Тогда
                                        СписокПолей = СписокПолей + "'" + Формат(ТекЗначение, "ДФ=dd.MM.yyyy") + "',";
                                ИначеЕсли ТипЗнч(ТекЗначение) = Тип("Булево") Тогда
                                        СписокПолей = СписокПолей + "'" + Формат(ТекЗначение, "БЛ=0; БИ=1") + "',";
                                Иначе
                                        СписокПолей = СписокПолей + "'" + СокрЛП(ТекЗначение) + "',";
                                КонецЕсли;
                        КонецЦикла;
                        //обрезаем последнюю запятую
                        СписокПолей = Лев(СписокПолей, СтрДлина(СписокПолей) - 1);
                        //окончательное формирование теста запроса
                        ТекстЗапроса = "INSERT INTO " + ИмяТаблицы + " VALUES (" + СписокПолей + ")";
                        Ком.CommandText = ТекстЗапроса;
                        //запись данных в БД (выполнение запроса)
                        Попытка
                                Ком.Execute();
                        Исключение
                                Сообщить("При записи данных произошла ошибка!" + Символы.ПС 
                                + "Текст запроса: " + ТекстЗапроса + Символы.ПС
                                + ОписаниеОшибки());
                        КонецПопытки;
                КонецЦикла;
                Ком.ActiveConnection.Close();
        КонецЕсли;
КонецПроцедуры // ЗаписатьВЭксельФайл()

К статье прикладываю обработку реализующую наглядно всю работу. Конечно процедура может не отрабатывать какие либо моменты, но немного подпилив, её можно адаптировать под доп. требования.

Если версия вашего "офиса" не 12 то можно обратится на http://www.connectionstrings.com/

Оптимизировать данную процедуру можно. Например в perl при работе с БД можно поместить команды (более одной) insert в определенный блок, а потом разом выполнить запрос в ADO я такого не нашел, может кто подскажет?

Обычная форма

 

Управляемая форма

Скачать файлы

Наименование Файл Версия Размер
Обработка пример выгрузки упр. и обычная формы

.epf 16,51Kb
13.03.13
42
.epf 16,51Kb 42 Скачать
Схема работы процедуры

.grs 11,38Kb
07.02.13
9
.grs 11,38Kb 9 Скачать

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

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. rasswet 82 13.02.13 17:08 Сейчас в теме
видел где-то код, можно определить версию Эксель. тогда будет универсально работать под любым. может доделаете?
2. makc2k 93 13.02.13 22:06 Сейчас в теме
Вполне возможно, нужно найти время на это. Сейчас в планах сделать статью по выгрузке в access и HTML.
3. alchimic 19.02.13 19:35 Сейчас в теме
4. platon_ 10 11.03.13 17:45 Сейчас в теме
А с апострафами как то боролись? которые получаются при выгрузке текста?
5. makc2k 93 11.03.13 19:34 Сейчас в теме
Их можно заменять отдельной функцией, как например отсекает проводник недопустимые символы в строке пути. Другой вариант покопать документацию на предмет экранирующих символов в тексте запроса, что наверное более правильно.
6. yuraos 966 13.03.13 19:58 Сейчас в теме
Кому интересно,
тоже самое можно сделать из консоли запросов
правда не в простой, а в вот такой
---
правда пока только в только в толстом клиенте (обычное приложение).
:)
7. makc2k 93 13.03.13 20:10 Сейчас в теме
Я поправил обход апострофоф. Оказывается в SQL есть замечательная функция CHR(кодсимвола). Статью менять не стал ибо интерфейс редактирования статьи страшный, а вот обработочку новенькую закинул.
8. lsp71 19.04.13 17:16 Сейчас в теме
Задачу выгрузить ТаблицуЗначений в Excel-файл решаю в 2 простых шага:
1. Выгрузка ТаблицыЗначений в ТабличныйДокумент (один раз написал функцию, все время пользуюсь).
2. ТаблДок.Записать(КаталогВыгрузки + ИмяФайлаБезРасширения + ".xls", ТипФайлаТабличногоДокумента.XLS);
Все просто, как молоток. Не требуется даже наличия самого Excel на компьютере. Работает быстро.
AltF1; yuraskas; +2 Ответить
Оставьте свое сообщение

См. также

Загрузка табелей рабочего времени из файлов Excel Промо

Зарплата Обработка документов Учет рабочего времени Загрузка и выгрузка в Excel v8 v8::СПР ЗУП3.x Россия БУ Абонемент ($m)

Обработка по загрузке в типовой документ «Табель» конфигурации ЗУП 3.1 данных из файлов MS Excel, согласно шаблону.

18.10.2019    7513    5    HostHost    0    

Панель #Расширение объекта: Редактор, Права, Поиск, Сторно, Обмен

Универсальные обработки v8 1cv8.cf Абонемент ($m)

Панель команд текущего объекта (документа, справочника и т.д.) со следующим возможностями: Редактор реквизитов, таблиц и движений текущего объекта, Анализ прав доступа к текущему объекту, Поиск ссылок на объект с отборами, Сторно движений документа, Выгрузка/загрузка текущего объекта между базами. Реализована всплывающей панелью в форме объекта. Подключается как расширение конфигурации (*.cfe) либо отдельными обработками.

1 стартмани

01.05.2020    5304    57    sapervodichka    1    

Быстрый запрос

Универсальные обработки v8 v8::УФ 1cv8.cf Абонемент ($m)

Можно ли дать пользователю "удочку", а не "рыбу"? До сих пор ответ на этот вопрос был отрицательным. Всякий инструмент, который мог бы делать с базой данных все или почти все (или хотя бы многое), отвергался пользователями, как слишком сложный. Вспомните тот же SQL, который изначально разрабатывался именно как пользовательский инструмент. "Быстрый запрос" - это попытка устранить сложность, но сохранить при этом универсальность.

1 стартмани

29.04.2019    13794    26    mkalimulin    28    

HTML в новой версии 8.3.14 на примере 3-х JavaScript библиотек: AmCharts, HighCharts, DHTMLX

Универсальные обработки Практика программирования Разработка v8 1cv8.cf Абонемент ($m)

Тестируем возможности HTML в новой версии 8.3.14 платформы на примере 3-х JavaScript библиотек: AmCharts, HighCharts, DHTMLX.

1 стартмани

29.01.2019    26759    90    Synoecium    46    

Установка предопределенных элементов: просмотр, исправление и поиск ошибок (задвоенных и отсутствующих) Промо

Инструментарий разработчика Универсальные обработки v8 1cv8.cf Абонемент ($m)

Простая обработка для просмотра и установки значений предопределенных элементов. Позволяет заменить значение предопределенного элемента с одного элемента справочника на другой, удалить предопределенный элемент (снять пометку предопределенности), установить пометку переопределенного элемента. Проверяет предопределенные данные на наличие задвоений и отсутствующих. Работает со справочниками, планами счетов, планами видов характеристик, планами видов расчетов.

2 стартмани

06.10.2014    145396    1952    ekaruk    164    

Редактор объектов информационной базы 8.3

Универсальные обработки Обмен через XML v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Универсальная внешняя обработка для редактирования реквизитов и табличных частей объектов информационной базы, редактирование движений документов. Доступ ко всем реквизитам объектов, есть возможность выгрузки и загрузки данных (объекты и движения документов) через XML. Платформа 8.3, управляемые формы. Версия 1.1.0.47 от 08.06.2020

2 стартмани

23.01.2019    24564    259    ROL32    33    

Сравнение pdf-файлов актов сверки

Универсальные обработки Дебиторская и кредиторская задолженность Дебиторская и кредиторская задолженность v8 v8::БУ БП2.0 Россия БУ Абонемент ($m)

Обработка сравнивает два pdf-файла, в которых находятся стандартные печатные формы актов сверки, и показывает на экране совпадающие и/или отличающиеся по суммам документы взаиморасчетов.

1 стартмани

19.12.2018    15535    6    Torin99    2    

Выгрузка изображений из справочника на диск

Учет ТМЦ Универсальные обработки Учет ТМЦ v8 УТ11 Оптовая торговля, дистрибуция, логистика Россия Абонемент ($m)

Обработка позволяет записать изображения из справочка Номенклатура на диск в указанное место.

1 стартмани

30.11.2018    15275    5    wrooom    8    

Навигатор по конфигурации базы 1С 8.3 Промо

Инструментарий разработчика Универсальные обработки v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Универсальная внешняя обработка для просмотра метаданных конфигураций баз 1С 8.3. Отображает свойства и реквизиты объектов конфигурации, их количество, основные права доступа и т.д. Отображаемые характеристики объектов: свойства, реквизиты, стандартные рекизиты, реквизиты табличных частей, предопределенные данные, регистраторы для регистров, движения для документов, команды, чужие команды, подписки на события, подсистемы. Отображает структуру хранения объектов базы данных, для регистров доступен сервис "Управление итогами". Платформа 8.3, управляемые формы. Версия 1.1.0.63 от 10.06.2020

3 стартмани

28.10.2018    29378    276    ROL32    67    

Обнуление остатков регистров бухгалтерии и накопления

Универсальные обработки Чистка базы v8 v8::БУ v8::ОУ v8::УФ КА1 БП2.0 ЗУП2.5 УТ10 УПП1 УНФ БГУ ERP2 БП3.0 УТ11 УХ КА2 ЗУП3.x Россия Абонемент ($m)

Обработка позволяет обнулить остатки по регистру накопления или бухгалтерии на определенную дату. Поддерживается большинство типовых конфигураций (БП 3, БП 2, УТ 11, УТ 10, ЗУП 3, ЗУП 2, БГУ 2, БГУ 1, ERP, УПП, КА 2, КА 1, УХ 3, УХ 1, УНФ). Гибкая настройка (отборы, заполнение реквизитов и любых полей корр. счета, возможность обнулять ресурсы выборочно). Несколько режимов работы. Два интерфейса: простой и с расширенным набором настроек.

2 стартмани

19.11.2018    19887    259    morozov.sv    34    

Универсальный инструмент для переноса данных через табличный документ (УФ)

Обработка документов Универсальные обработки Обработка справочников v8 v8::УФ 1cv8.cf Абонемент ($m)

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

5 стартмани

15.10.2018    29883    114    json    36    

Вы больше не будете разбирать Excel как раньше

Загрузка и выгрузка в Excel v8 1cv8.cf Абонемент ($m)

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

1 стартмани

07.05.2018    27083    61    m-rv    34    

Универсальная выгрузка/загрузка данных для отличающихся конфигураций (JSON, Такси+ОФ) Промо

Перенос данных из 1C8 в 1C8 Универсальные обработки Распределенная БД (УРИБ, УРБД) v8 1cv8.cf Абонемент ($m)

Простой перенос через JSON данных между двумя базами 1С (документов, справочников, ПВХ, ПВР, счетов). Аналогична произвольной выгрузке в типовой "Выгрузка/загрузка XML", но может использоваться для отличающихся конфигураций. Подходит для любых пар баз с любым интерфейсом (управляемый + обычный). Без настроек. Не требует идентичности конфигураций и платформ. При переносе типы данных сопоставляются по наименованиям метаданных, объекты и ссылки по UID.

1 стартмани

22.10.2014    202399    3082    ekaruk    178    

Просмотр, изменение реквизитов объекта. Сравнение двух одинаковых объектов метаданных ИБ

Универсальные обработки v8 1cv8.cf Россия Абонемент ($m)

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

1 стартмани

26.04.2018    16795    24    Vin_Tik    0    

Построение маршрута доставки с расчётом расстояния для любой базы УФ

Универсальные обработки WEB Оптовая торговля Оптовая торговля v8 v8::УФ 1cv8.cf Абонемент ($m)

Графическое изображение маршрутного листа по картам гугл. Работает на любой конфигурации с управляемыми формами. Использует новую версию api google-карт от 13.02.2018 года под IE11.

10 стартмани

24.02.2018    32642    42    KorotkovRV    16    

Навигация по функциональным опциям типовых конфигураций

Универсальные обработки Пользователю системы v8 1cv8.cf Абонемент ($m)

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

1 стартмани

30.01.2018    21580    75    kuzyara    13    

Прыг-Скок...или из MS EXCEL в 1С (8.2) (открытый код) Промо

Обработка документов Обработка справочников Загрузка и выгрузка в Excel v8 1cv8.cf Абонемент ($m)

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

1 стартмани

16.09.2015    59973    351    Tatitutu    48    

Расчет начисления зарплаты со сложной формулой, по данным из внешнего источника. ЗУП 3.1

Обработка документов Загрузка и выгрузка в Excel Зарплата Зарплата v8 v8::СПР ЗКГУ3.0 ЗУП3.x БУ Абонемент ($m)

Расчет начисления зарплаты со сложной формулой, по данным из внешнего источника по данным экономического отдела. ЗУП 3.1.

3 стартмани

20.12.2017    44441    31    mvv1975    7    

Приемы эффективной загрузки данных из Excel в 1С

Загрузка и выгрузка в Excel v8 1cv8.cf Абонемент ($m)

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

1 стартмани

13.12.2017    45411    89    alexey.kutya    82    

Инструменты бухгалтера: Виджеты рабочего стола

Универсальные обработки Рабочее место v8 v8::БУ БП3.0 Абонемент ($m)

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

2 стартмани

28.08.2017    35380    170    Bazil    28    

Перемещение остатков по счету МЦ04 между материально ответственными лицами для конфигураций (8.2). Промо

Обработка документов Универсальные обработки Учет ТМЦ Учет ТМЦ v8 БП2.0 Россия БУ Абонемент ($m)

Небольшая обработка, которая позволяет перекидывать остатки по счету МЦ04 с одного материально ответственного лица на другое

1 стартмани

22.11.2012    12509    13    niksaf    4    

Загрузка дополнительных реквизитов и сведений справочника Номенклатура из Excel и таблиц УТ 11, ERP 2

Обработка справочников Загрузка и выгрузка в Excel Учет ТМЦ Учет ТМЦ v8 v8::ОУ ERP2 УТ11 Россия УУ Абонемент ($m)

Внешняя обработка "Загрузка дополнительных реквизитов и сведений справочника Номенклатура"

1 стартмани

07.08.2017    36929    236    Windyhead    32    

Поиск и отключение зависших сеансов на сервере 1С: Предприятия

Универсальные обработки v8 1cv8.cf Россия Абонемент ($m)

Обработка предназначена для мониторинга и отключения спящих (зависших) сеансов на сервере 1С: Предприятия.

1 стартмани

14.09.2016    30269    61    wowchik_85    11    

Редактор движений документа. Сохранение в XML, обмен между базами, замена регистратора.

Обработка документов Универсальные обработки Обмен через XML v8 Абонемент ($m)

Редактор набора записей движений документа. Позволяет сохранить набор записей в XML, в настройки пользователя, прочитать сохраненный XML в другой идентичной базе, заменить регистратор. Можно изменять порядок записей, менять активность, как массово, так и по одной и др. Тонкий клиент, управляемые формы.

1 стартмани

07.09.2016    39049    153    Aphanas    4    

Выгрузка и загрузка данных из файла Excel с поиском по любым полям (есть поиск по ссылке, всего три итерации поиска. Управляемые формы или "Такси") Промо

Загрузка и выгрузка в Excel Обработка документов v8 v8::УФ 1cv8.cf Абонемент ($m)

Обработка позволяет загружать данные с поиском по ссылке как для загружаемого объекта, так и его свойств. Загружает справочники, документы, планы видов характеристик. Будет полезна как замена использования конвертации данных для задач переноса, а также как классическая загрузка из табличного документа (Excel). Поиск объекта при загрузке выполняется до трех раз с разными полями поиска (поля поиска настраиваются). Также реализована выгрузка в Excel по ссылкам. У обработки удобный интерфейс, в котором разберется даже начинающий пользователь. Загрузка накладных из файлов xls реализована с интеллектуальным поиском колонок с данными. В интеллектуальном поиске поддерживаются все основные типовые печатные формы.

5 стартмани

16.10.2015    57172    502    primat    33    

Универсальный поиск объектов по глобальному уникальному идентификатору (ГУИД, GUID)

Универсальные обработки Поиск данных v8 v8::УФ 1cv8.cf Абонемент ($m)

Универсальная обработка поиска объектов информационной базы по глобальному уникальному идентификатору (ГУИД, GUID) или по его части.

1 стартмани

06.09.2016    31162    101    Dzenn    9    

Оптимальный способ расчета контрольной суммы объекта/записи регистра (CRC32, MD5, SHA1, SHA256)

Универсальные обработки v8 1cv8.cf Абонемент ($m)

Была задача сравнить документы в распределенных базах и пометить на выгрузку измененные. Но сравнение изменений документов методом перебора реквизитов - долгоиграющий процесс, особенно если общее количество сравниваемых данных переваливает за миллион. Был найден выход, который ускоряет процесс сравнения - расчет контрольной суммы объекта и сравнение ее с другой контрольной суммой. Скорость сравнения увеличивается во много раз.

1 стартмани

01.08.2016    29193    6    hakerxp    9    

 Интеграция 1С и C#. Обращение к 1С через COM. Создание номенклатуры и выполнение запроса к 1С из C# на примере интеграции с Союз-PLM (система информационной поддержки жизненного цикла изделий). Обработка «Загрузка заказа на сборку». (ERP)

Загрузка и выгрузка в Excel Внешние источники данных Интеграция v8 ERP2 Абонемент ($m)

Союз-PLM представляет собой полнофункциональный программный комплекс для решения  широкого спектра задач управления инженерной технической информацией наукоемких изделий и сложных инженерных объектов в области машиностроения, приборостроения, архитектуры, строительства. На практике, это управление конструкторской документацией, интегрированное с САПР, бизнес-процессы, файловый архив. Все это работает в SQL и шевелится с помощью скриптов на C#. Скрипты свободно  отлаживаются в MS Visual Studio. Подробнее смотрите на их сайте: http://www.programsoyuz.ru/products/system-soyuz-plm.html  Редактирование, конструирование и использование бизнес-процессов на порядок лучше систем на базе 1С из тех, что я изучил.

1 стартмани

25.07.2016    41486    4    milkers    2    

Работа с картами 1С 4 в 1: Яндекс, Google , 2ГИС, OpenStreetMap(OpenLayers) Промо

Универсальные обработки WEB v8 1cv8.cf Абонемент ($m)

С каждым годом становится все очевидно, что использование онлайн-сервисов намного упрощает жизнь. К сожалению по картографическим сервисам условия пока жестковаты. Но, ориентируясь на будущее, я решил показать возможности API выше указанных сервисов: Инициализация карты Поиск адреса на карте с текстовым представлением Геокодинг Обратная поиск адреса по ее координатами Взаимодействие с картами - прием координат установленного на карте метки Построение маршрутов по указанным точками Кластеризация меток на карте при увеличении масштаба Теперь также поддержка тонкого и веб-клиента

1 стартмани

28.12.2012    100283    1152    Smaylukk    348    

Просмотр данных системы Платон на картах Google

Универсальные обработки WEB v8 1cv8.cf Автомобили, автосервисы Транспорт, автопарки, такси Абонемент ($m)

Обработка для просмотра предполагаемых треков движения транспортного средства на карте Google согласно данным, предоставляемым системой Платон в формате CSV. Работает под 8.2 и 8.3, обычное и управляемое приложение, может подключаться к типовым конфигурациям в качестве внешней обработки.

1 стартмани

15.04.2016    30711    18    anig99    8    

ЕГАИС: код алкогольной продукции из штрихкода акцизной марки

Универсальные обработки Оптовая торговля Розничная торговля Оптовая торговля Розничная торговля v8 1cv8.cf Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Акцизы Абонемент ($m)

В последнее время мне пришлось потратить очень много времени на внедрение и реализацию функционала ЕГАИС. Очень часто, на форумах, я встречал вопрос: "Как из штрих-кода акцизной марки получить код алкогольной продукции ЕГАИС?". Несколько раз видел неверную реализацию этой задачи. Глядя на это, я набросал простую обработку пересчета кода акцизной марки (base36) в понятный нам уникальный ФСРАР ID алкогольной продукции (Base10).

1 стартмани

11.02.2016    54700    156    OrcaMax    29    

Снимок экрана для 1С

Универсальные обработки Разработка внешних компонент v8 1cv8.cf Россия Абонемент ($m)

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

1 стартмани

08.02.2016    26319    32    linkforget    11    

Генерация QR-кода программная и интерактивная (код открыт, управляемая форма, обычное и управляемое приложение, API)

Универсальные функции Универсальные обработки v8 v8::УФ 1cv8.cf Абонемент ($m)

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

3 стартмани

04.02.2016    45064    169    TuneSoft    26    

Прайс-лист с картинками в EXCEL из 1С: УТ10, УПП, КА (с формой заказа)

Ценообразование, прайсы Загрузка и выгрузка в Excel Оптовая торговля Оптовая торговля v8 КА1 УТ10 УПП1 Абонемент ($m)

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

9 стартмани

26.11.2015    34896    59    spy-83    19    

Интерфейс сопоставления объектов для обмена (для типового регистра СоответствиеОбъектовДляОбмена)

Инструментарий разработчика Универсальные обработки Перенос данных из 1C8 в 1C8 v8 КА1 БП2.0 ЗУП2.5 УТ10 УПП1 Абонемент ($m)

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

4 стартмани

11.11.2015    37274    133    catsam    8    

Загрузка УПД в Бухгалтерию 3.0

Обработка документов Загрузка и выгрузка в Excel Оптовая торговля Оптовая торговля v8 v8::БУ БП3.0 Россия БУ Абонемент ($m)

Загрузка УПД из Excel в Бухгалтерию предприятия 3.0, с добавлением номенклатуры, ГТД, стран происхождения.

3 стартмани

20.10.2015    20427    16    teyana    12    

Полезные приемы при работе с Excel из 1С (Версия 3.1)

Практика программирования Разработка внешних компонент Загрузка и выгрузка в Excel v8 1cv8.cf Абонемент ($m)

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

1 стартмани

22.09.2015    179798    429    Zerocl    65    

[x1c.ru] MXL Stamps - Печати и подписи в макетах печатных форм в несколько кликов

Печатные формы документов Универсальные обработки v8 1cv8.cf Абонемент ($m)

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

1 стартмани

22.08.2015    34583    18    GusevNA    6    

Работа с push сервисами только средствами 1С 8.2

Сервисные утилиты Инструментарий разработчика Универсальные обработки v8 Абонемент ($m)

Обработка для настройки, тестирования и использования с предустановками для 3-х сервисов. Текст модуля для внедрения в конфигурацию или другие обработки. Уведомления на телефон, компьютер, браузер.

1 стартмани

18.08.2015    29348    43    anig99    1    

Обмен прайс-листами и анализ ценовой политики конкурентов, партнёров и поставщиков в программе 1С:Предприятие

Ценообразование, прайсы Обработка документов Загрузка и выгрузка в Excel Ценообразование, анализ цен Ценообразование, анализ цен v8 УТ10 УПП1 УУ Абонемент ($m)

Универсальная программа для загрузки Прайс-листов в базу 1С:Предприятия 8. Основные достоинства: простота использования и широкие функциональные возможности поиска товаров для записи цен. Область применения: обмен прайс-листами и анализ ценовой политики конкурентов, партнёров и поставщиков в программе 1С:Предприятие.

10 стартмани

16.07.2015    31208    3    Destroy    2    

И снова "Как сжать картинки для экспорта в EXCEL?" или Умная картинка 8.2

Практика программирования Загрузка и выгрузка в Excel v8 1cv8.cf Абонемент ($m)

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

1 стартмани

17.06.2015    28471    43    Tatitutu    10    

Универсальная обработка "Изменение записей регистров сведений и накопления" (8X)

Универсальные обработки v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Обработка для Добавления/удаления/изменения записей в любых регистрах сведений (подчиненных и не подчиненных регистраторам) и накопления. Для Платформ 8.1, 8.2, 8.3

2 стартмани

24.05.2015    59980    1379    Erofeevgv    64    

Нейронная сеть. Создаем, учим и используем. В одной обработке

Инструментарий разработчика Универсальные обработки v8 Абонемент ($m)

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

1 стартмани

12.05.2015    37488    171    dusha0020    52    

Яндекс (Yandex) Диск. Обновляйте свои внешние обработки, обработки заполнения, печатные формы и отчеты.

Универсальные обработки WEB v8 1cv8.cf Абонемент ($m)

Хранить свои внешние обработки на внешнем носителе типа Yandex диска удобно, а обновлять в базах 1С еще удобней.

1 стартмани

15.04.2015    37463    103    Patriot1S    35