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

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

Разработка - Работа с интерфейсом

Длительная операция прогресс отладка дополнительная обработка индикация процесса фоновое задание отслеживание статуса выполнения индикатор управляемые формы БСП ВнешняяОбработка ДлительныеОперации ФоновыеЗадания

Внешняя обработка с фоновым выполнением и индикацией процесса для любой конфигурации на основе БСП >= 2.3 без изменения конфигурации и встраивания обработки в "Дополнительные отчеты и обработки".

Развитие функциональности БСП поражает, то что раньше приходилось реализовывать через "костыли", теперь можно сделать парой строк кода, используя штатные механизмы БСП. Данная внешняя обработка использует пару процедур общих модулей "Длительные операции", входящих в состав БСП.

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

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

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

и получения результатов выполнения фонового задания на клиент

Код модуля обработки

 

 

&НаСервере

//здесь имитация длительной операции на сервере
Процедура ВыполнитьПримерНаСервере(СтруктураПараметров, АдресРезультата) Экспорт

    //проверим структуру входящих параметров (задаются на форме)

    Если СтруктураПараметров = Тип("Структура") 
            И НЕ ЗначениеЗаполнено(СтруктураПараметров.ТекущийПользователь) Тогда
        Возврат;
    КонецЕсли;
    
    ТекущийПользователь = СтруктураПараметров.ТекущийПользователь;
    КоличествоИтераций   = 0;
    МассивИтераций         = Новый Массив;
    
    //формируем возвращаемую структуру на клиент

    СтруктураВозврата = Новый Структура("ТекущийПользователь, ВремяНачала, ВремяОкончания, КоличествоИтераций, МассивИтераций");
    СтруктураВозврата.Вставить("ТекущийПользователь", "Тек. пользователь: "+ ТекущийПользователь);
    СтруктураВозврата.Вставить("ВремяНачала",          "Время начала: "+ ТекущаяДата());
    

    //имитируем длительную операцию 100 сек - 100%
    ВремяЗавершения = ТекущаяДата() + 100; //выполняем 100 сек
    Пока ТекущаяДата() < ВремяЗавершения Цикл
        Процент = 100 - (ВремяЗавершения - ТекущаяДата());
        Если НЕ (Процент % 10) И Процент Тогда
            ДлительныеОперации.СообщитьПрогресс(Процент, "Обработано: "+Строка(КоличествоИтераций));
            КоличествоИтераций=КоличествоИтераций+1;
            МассивИтераций.Добавить(Строка(КоличествоИтераций)+ ". " + ТекущаяДата());
        КонецЕсли;
    КонецЦикла;
    
    СтруктураВозврата.Вставить("КоличествоИтераций",    "Количество итераций: "+КоличествоИтераций);
    СтруктураВозврата.Вставить("ВремяОкончания",         "Время окончания: "+ ТекущаяДата());
    СтруктураВозврата.Вставить("МассивИтераций",        МассивИтераций);
    

    //помещаем в ВХ данные для клиента
    ПоместитьВоВременноеХранилище(СтруктураВозврата, АдресРезультата);

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


 

 

создаем форму обработки, в модуль формы помещаем

 


 

//здесь понадобится для примера заполнить текущего пользователя,

// параметры естественно могут быть другими, все что можно поместить в структуру

&НаКлиенте
Процедура КомандаПуск(Команда)
        
    ПараметрыЗапуска          = Новый Структура("ТекущийПользователь");
    ПараметрыЗапуска.Вставить("ТекущийПользователь",ПолучитьТекущийПользователь());
    
    СтруктураФоновогоЗадания = ВыполнитьФоновоеЗаданиеНаСервере(ПараметрыЗапуска, УникальныйИдентификатор);
    
    ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект);
    ПараметрыОжидания.ВыводитьПрогрессВыполнения = Истина;
    // указываем интервал обновления состояния в секундах, если не указать, 
    // то интервал будет увеличиваться при каждой итерации в 1.4 раза.
    ПараметрыОжидания.Интервал = 10;
    
    ДлительныеОперацииКлиент.ОжидатьЗавершение(СтруктураФоновогоЗадания, Новый ОписаниеОповещения("ОбработатьДанные", ЭтотОбъект), ПараметрыОжидания);
        
КонецПроцедуры

&НаСервере
Функция ВыполнитьФоновоеЗаданиеНаСервере(ПараметрыЗапуска, УникальныйИдентификатор)

    НаименованиеЗадания = НСтр("ru = 'Фоновое задание длительной тестовой операции");
    
    ВыполняемыйМетод = "ДлительныеОперации.ВыполнитьПроцедуруМодуляОбъектаОбработки";
    
    ПараметрыЗадания = Новый Структура;
    ПараметрыЗадания.Вставить("ИмяОбработки", РеквизитФормыВЗначение("Объект").ИспользуемоеИмяФайла);
    ПараметрыЗадания.Вставить("ИмяМетода", "ВыполнитьПримерНаСервере");
    ПараметрыЗадания.Вставить("ПараметрыВыполнения", ПараметрыЗапуска);
    ПараметрыЗадания.Вставить("ЭтоВнешняяОбработка", Истина);
    ПараметрыЗадания.Вставить("ДополнительнаяОбработкаСсылка",Неопределено);
    
    ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(УникальныйИдентификатор);
    ПараметрыВыполнения.НаименованиеФоновогоЗадания = НаименованиеЗадания;
    ПараметрыВыполнения.ЗапуститьВФоне = Истина;
    ПараметрыВыполнения.Вставить("ИдентификаторФормы", УникальныйИдентификатор); 
    
    СтруктураФоновогоЗадания = ДлительныеОперации.ВыполнитьВФоне(ВыполняемыйМетод, ПараметрыЗадания, ПараметрыВыполнения);
    
    Возврат СтруктураФоновогоЗадания;
    
КонецФункции



// здесь также понадобится обработать возвращаемый массив ЗаполнитьМассивИтераций(Данные.МассивИтераций), 
// если например, нужно вывести какой-нибудь список обработанных документов, можно закомментить

&НаКлиенте
Процедура ОбработатьДанные(Результат, ДополнительныеПараметры) Экспорт
    
    Если Результат = Неопределено Тогда
        Возврат;
    ИначеЕсли Результат.Статус = "Ошибка" Тогда
        ОбщегоНазначенияКлиентСервер.СообщитьПользователю(Результат.ПодробноеПредставлениеОшибки);
    ИначеЕсли Результат.Статус = "Выполнено" Тогда
        // обрабатываем результат
        Данные = ПолучитьИзВременногоХранилища(Результат.АдресРезультата);
        Если ТипЗнч(Данные) = Тип("Структура") Тогда
            Сообщить(Данные.ТекущийПользователь);
            Сообщить(Данные.ВремяНачала);
            Сообщить(Данные.КоличествоИтераций);
            Сообщить(Данные.ВремяОкончания);
            ЗаполнитьМассивИтераций(Данные.МассивИтераций);
        КонецЕсли;
        
    КонецЕсли;

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

 

 

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

Наименование Файл Версия Размер
ИндикацияУФ.epf

.epf 8,40Kb
20
.epf 8,40Kb 20 Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. VmvLer 27.12.19 09:26 Сейчас в теме
В общих модулях итак код выполнения в фоне максимально упрощен и примеры запуска можно найти в конфигах.

Так что очередная попытка халтуры в стиле сухариков, когда крошки хлеба крошат в пакетик и вопят, что это крута.

Да и перестаньте обманывать надуманными отличиями от сотен подобных костылей, кроме "Пожалуйста, подождите..." и индикатора времени в сообщение нечего вывести, т.к. в 90% случаев вычислить результирующую коллекцию в фоне до старта задания невозможно.
fokin; Evg-Lylyk; dime2; user1274438; +4 4 Ответить
2. 1sig 184 27.12.19 09:29 Сейчас в теме
(1) во внешней обработке, чтобы все это взлетело без встраивания в "Дополнительные внешние отчеты и обработки"?
4. webester 34 27.12.19 10:24 Сейчас в теме
Не показывать код жлобство конечно) Но спасибо и на том, что есть.
5. 1sig 184 27.12.19 11:03 Сейчас в теме
(4) с замечанием согласен, принято, сам жлобство не люблю, чуть позже по примеру аналогичных публикаций будет оформлен и код обязательно, если что ловите на слове)
CodeNull; +1 Ответить
3. VmvLer 27.12.19 09:30 Сейчас в теме
Муся, не нервируй меня
(с)классика к/ф
6. Lancelot-2M 103 29.12.19 03:05 Сейчас в теме
А что с замерами производительности? Как оно работает с индикацией и без на конкретных таких рабочих выборках (ну хотя бы за 100 000 неважно чего)?
8. 1sig 184 29.12.19 09:22 Сейчас в теме
(6) хороший вопрос, нагрузочное тестирование не проводилось, по времени ограничений не было, пользователь просто хотел видеть - на каком этапе идет обработка пакетов документов. Пример длительной операции в данном задании - только пример, он не хорош с точки зрения холостой загрузки проца, в 1С к сожалению так и не появился встроенный метод Delay, поэтому проц грузится большую часть времени впустую в данном условии цикла "ТекущаяДата() < ВремяЗавершения"
7. webester 34 29.12.19 04:29 Сейчас в теме
(6)Я так понимаю,единственное, что влияет на производительность это вот эта строчка
ДлительныеОперации.СообщитьПрогресс(Процент, "Обработано: "+Строка(КоличествоИтераций));

В остальном разницы нет. 5 там строк или 55000
9. manlak 77 30.12.19 11:52 Сейчас в теме
Класс! Давно искал такую штуку.
10. PowerBoy 3042 09.01.20 07:56 Сейчас в теме
Меня смущает вот эта строка:
ПараметрыЗадания.Вставить("ИмяОбработки", РеквизитФормыВЗначение("Объект").ИспользуемоеИмяФайла);

Передается путь и имя файла на клиенте, а выполняться серверный код будет на сервере и файл не найдет.
maksa2005; +1 Ответить
11. 1sig 184 09.01.20 09:29 Сейчас в теме
(10) для серверной базы верное замечание! но как вариант, расшарить на машине-сервере, где крутится сервер 1С, общедоступную сетевую папку, поместить файл внешней обработки туда и запускать с нее - найдет файл, проверено :)
12. Xershi 1093 13.01.20 21:00 Сейчас в теме
(10) ну код кривой у автора что поделать. Я давно использую в своих наработках такой подход.
Единственный момент в старых бсп 2.3 процент без допила не выводится.
13. maksa2005 337 14.08.20 15:23 Сейчас в теме
Каталог не обнаружен 'C:\Users\litvinov\Desktop\PUBID_1174382-ИндикацияУФ.epf'
{ОбщийМодуль.ДлительныеОперации.Модуль(649)}: Обработка = ВнешниеОбработки.Создать(Параметры.ИмяОбработки, БезопасныйРежим);
{(1)}:ДлительныеОперации.ВыполнитьПроцедуруМодуляОбъектаОбработки(Параметры[0],Параметры[1])
{ОбщийМодуль.ОбщегоНазначения.Модуль(4797)}: Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
{ОбщийМодуль.ДлительныеОперации.Модуль(768)}: ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыПроцедуры);
{ОбщийМодуль.ДлительныеОперации.Модуль(759)}: ВыполнитьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры);

по причине:
Ошибка подключения внешних метаданных
по причине:
Каталог не обнаружен 'C:\Users\litvinov\Desktop\PUBID_1174382-ИндикацияУФ.epf'
14. 1sig 184 14.08.20 18:54 Сейчас в теме
(13)
запускайте обработку с общедоступной сетевой папки,
PowerBoy в (10) сообщении написал, в чем причина такой ошибки.
Оставьте свое сообщение

См. также

Альтернативный способ добавления элементов и реквизитов на формы Промо

Работа с интерфейсом v8 ERP2 УТ11 Россия Абонемент ($m)

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

1 стартмани

09.09.2019    13132    23    bmk74    6    

Расширение для создания собственных подсистем БСП

БСП (Библиотека стандартных подсистем) Прочие инструменты разработчика v8 1cv8.cf Россия Абонемент ($m)

В этой статье поделюсь некоторыми изысканиями о внутреннем устройстве стандартной подсистемы "Обновление версии ИБ" и расскажу, как разработать свою подсистему, в которой будет работать отчёт с описанием изменений.

1 стартмани

20.11.2020    4043    8    stas_ganiev    4    

Интерактивная справка по объектам 1С (подключаемое расширение)

Практика программирования Работа с интерфейсом v8 ERP2 Абонемент ($m)

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

3 стартмани

29.09.2020    8878    52    sapervodichka    43    

Открыть форму внутри другой формы - наконец-то возможно!

Работа с интерфейсом v8::УФ Абонемент ($m)

Я давно мечтал о возможности открытия форм 1С внутри других форм, мне время от времени попадаются задачи, где это бы пригодилось. И вот в версии 8.3.16 наконец-то это можно реализовать! Конечно, это не совсем то, что я ожидал, но получилось все равно интересно. Давайте посмотрим.

1 стартмани

15.04.2020    14989    15    CyberCerber    55    

Работа с релизами 1С и договорами ИТС Промо

WEB БСП (Библиотека стандартных подсистем) v8 1cv8.cf Абонемент ($m)

Работа с релизами 1С и партнерским кабинетом.

2 стартмани

15.08.2019    16067    51    RocKeR_13    34    

Делаем из СКД Excel (ну, почти)

Работа с интерфейсом v8 Абонемент ($m)

Несложный в использовании способ внедрить в обычный отчет СКД возможность редактировать значения ресурсов отчета (а-ля Excel) и получать отредактированные значения для дальнейшей обработки.

1 стартмани

26.01.2020    10764    17    herfis    16    

Декомпиляция условного оформления

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

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

2 стартмани

23.12.2019    8709    42    XilDen    7    

Многоуровневые списки выбора с оформлением элементов

Практика программирования Работа с интерфейсом v8 v8::УФ 1cv8.cf Абонемент ($m)

Данная статья - попытка решить один маленький кусочек большой проблемы платформы 1С, а именно - бедные и невыразительные пользовательские интерфейсы. Поскольку 1С в режиме управляемого приложения позволяет задействовать веб-клиент, то хочется реализовывать интерфейсы как у взрослых веб-приложений - красивые, дружелюбные для пользователя и, желательно, с положительным UX. Возможно, кто-то со мной не согласится и скажет, что учетные системы должны быть строгие и линейные. Но мы все знаем, что 1С - это уже не только про бухгалтерию. Небольшое отступление для разработчиков, работающих с типовыми конфигурациями. Я не знаю, использует ли фирма 1С что-то похожее в своих разработках. Если да, то данная статья навряд ли будет вам полезна.

1 стартмани

17.12.2019    9674    2    azhilichev    5    

Менеджер открытых форм Промо

Работа с интерфейсом v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

13.04.2017    22496    39    SeiOkami    19    

[Взрыв шаблона!] Новый способ программной настройки условного оформления

Работа с интерфейсом v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

01.12.2019    13615    41    mszsuz    12    

Шаблон разработки печатных форм и подключения к конфигурациям на БСП 2.х и БСП 3.0

Печатные формы документов БСП (Библиотека стандартных подсистем) Расширения v8 1cv8.cf Абонемент ($m)

«Вместо поставки внешних печатных форм в виде внешних обработок рекомендуется вести их разработку с помощью расширений конфигурации.» [ИТС, БСП гл. 3.38 Печать] У меня задачи типа «Требуется разработать печатную форму …» появляются регулярно, но с временными интервалами. Что бы вести разработку единообразно, для конфигураций на БСП, я заготовил шаблон для таких задачек, который позволяет мне сразу приступить к разработке макета и алгоритма формирования печатной формы, а «обертка» из БСП уже готова.

1 стартмани

04.10.2019    31401    54    tolX5    18    

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

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

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

17.08.2019    35411    ids79    16    

Расширенная настройка динамического списка УФ Промо

Работа с интерфейсом v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

31.05.2017    34539    154    tormozit    25    

Удобный выбор из таблицы/дерева в УФ

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

Выбор из таблицы значений или дерева значений в выпадающем списке рядом с полем ввода - УФ, быстро и просто!

1 стартмани

12.08.2019    14867    8    Yashazz    18    

[Механизм интерфейса] Свой флажок (чекбокс)

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

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

1 стартмани

09.08.2019    17676    18    rpgshnik    43    

Отбор на управляемой форме из списка значений

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

Пример простого удобного отбора любых данных ссылочного типа на управляемой форме. Работа обработки проверена на релизе: 1С:Предприятие 8.3.13.1513.

1 стартмани

09.08.2019    22470    24    nagaitseff    6    

Открывашка ячеек таблиц Промо

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

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

1 стартмани

27.10.2018    18611    12    tormozit    31    

Программное добавление элементов на управляемую форму

Работа с интерфейсом v8::УФ 1cv8.cf Россия Абонемент ($m)

Пример добавления Команд, Полей ввода, Групп, Страниц, Реквизитов, Обработчиков событий.

1 стартмани

13.02.2019    51459    33    spec8s    22    

Рисуем и распознаем нарисованное при помощи нейросети

Практика программирования Работа с интерфейсом v8 v8::УФ 1cv8.cf Абонемент ($m)

Используем нейронную сеть для распознавания нарисованных объектов.

1 стартмани

03.10.2018    15662    44    DO_WHILE_LOOP    28    

Рисуем диаграммы в metadata.js

Инструментарий разработчика Работа с интерфейсом v8 v8::СКД 1cv8.cf Абонемент ($m)

Не одной же литературой заниматься?

1 стартмани

20.09.2018    18385    4    1c-intelligence    77    

Лучший подарок для бухгалтера - счёты 8.2 (со звуком) Промо

Работа с интерфейсом v8 1cv8.cf Россия Абонемент ($m)

(Толстый клиент) Подарите бухгалтеру счеты, и он(а) Вас никогда не забудет.

1 стартмани

13.05.2011    41736    922    Tatitutu    45    

Продвинутое рисование в табличном документе (стрелок и не только)

Практика программирования Работа с интерфейсом v8 Абонемент ($m)

Вспоминаем геометрию и основы компьютерной графики. Матрицы и аффинные преобразования на плоскости.

1 стартмани

24.07.2018    17191    19    WalterMort    30    

Работа с данными выбора

Практика программирования Работа с интерфейсом v8 Россия Абонемент ($m)

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

1 стартмани

17.07.2018    54438    20    kalyaka    16    

Иерархическая диаграмма

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Концепция диаграммы по иерархической структуре данных, например по номенклатуре (продажи или остатки на складах).

2 стартмани

17.06.2018    15390    17    DrAku1a    6    

Визуализация событий на временной шкале средствами "Поле HTML документа" Промо

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Интересный способ наглядно отобразить события на временной шкале. Например, может быть применен для красивого вывода документов по клиенту. Тестировалось на платформе 8.3.12.1469

1 стартмани

31.07.2018    25349    140    Plotks2017    27    

Рисуем стрелки в табличном документе

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Рисуем стрелки средствами 1С .

1 стартмани

01.06.2018    16571    9    pm74    9    

Программная работа с графическими схемами. Готовое решение

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

Работоспособное, проверенное на практике, простое и удобное программное управление графическими схемами.

1 стартмани

18.02.2018    20051    21    Yashazz    13    

Тестирование интерфейса в обычном приложении 8.2 при помощи SikuliX

Инструментарий разработчика Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Как же не хватает клиента тестирования на платформе 8.2. Не кликнешь на кнопку, не выберешь из списка, не проверишь видит ли надпись пользователь. Воспользуемся внешним инструментом SikuliX, который позволит нам протестировать функционал форм. Данный инструмент легко встраивается в линию сборки и может "дружить" с уже известным многим Open-source продуктами.

1 стартмани

03.01.2018    31416    5    kraynev-navi    41    

Интерактивный интерфейс Промо

Рабочее место Работа с интерфейсом v8 1cv8.cf Россия Абонемент ($m)

Обработка (отдельная панель меню), позволяющая настраивать интерфейс пользователя интерактивно (права не настраивает). Мне очень пригодилось, так как приходится прописывать индивидуальный интерфейс, каждому пользователю (а их уже сотни). Выложил 2 версии одна в виде таблицы, вторая в виде выпадающего меню

1 стартмани

29.10.2011    19254    65    Vin_Tik    9    

Программное формирование форматированной строки в стиле html+inline CSS

Работа с интерфейсом Инструментарий разработчика v8 1cv8.cf Абонемент ($m)

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

1 стартмани

18.11.2017    35374    39    bonv    11    

Программное создание элементов графической схемы (через XSLT)

Практика программирования Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

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

1 стартмани

20.07.2017    22465    62    lazarenko    18    

Управляемые формы. Итоги в динамических списках

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

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

1 стартмани

15.12.2016    40645    12    argut    14    

Цветовые схемы для конфигуратора 1С (Популярные цветовые схемы для C# - теперь и для 1С) (Теперь 8.2 - 8.3) Промо

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Тёмные цветовые схемы кода. То, что было доступно всем передовым средствам разработки, теперь доступно и на 1С. 13.12.17 UPD: Теперь работает с платформой 8.3

3 стартмани

07.10.2013    39478    175    Chernov_Dmitriy    82    

Образец внешней обработки с длительной операцией на базе БСП 2.3 (Переработанная)

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

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

1 стартмани

30.11.2016    33241    167    ЕСТЬNULL    15    

Простой редактор плана помещения JavaScript

Практика программирования Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

На ресурсе сейчас очень много решений, которые позволяют редактировать карты, используя географические схемы. Так же много решений, которые позволяют редактировать объекты онлайн веб-карт. Мне же нужно было простое решение, для того чтобы расставить квадратные объекты на плане, показать их пользователю. Ну и распечатать, опять же. Я решил написать простенький редактор на JavaScript с использованием библиотеки Raphael.

1 стартмани

23.11.2016    22804    99    igel9780    22    

Настройка начальной страницы (Рабочего стола)

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

Альтернатива стандартной настройке начальной страницы. В типовой доступны лишь те формы, что явно "разрешены" разработчиком в режиме конфигуратора. Эта обработка позволяет собрать "Рабочий стол" из любых подходящих форм в пользовательском режиме. Без программирования. БСП не используется. Не расширение. Универсальна, т.е. подойдет для любой конфигурации (в т.ч. самописной).

2 стартмани

19.10.2016    39956    227    Erne100    30    

NativeDraw: Компонента рисования для 1С [V2.6.2] Промо

Разработка внешних компонент Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

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

1 стартмани

13.07.2015    49040    466    ПерваяСистема    147    

[Расширение] Стартовые страницы. Автозапуск форм при старте 1С. (8.3.9+, без доработки конфигурации)

Инструментарий разработчика Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Уверен, что в большинстве случаев список справочников, отчетов, обработок (объектов 1С в целом), к которому обращаются пользователи после запуска конфигурации 1С, раз от раза меняется не сильно. Так почему бы немного не упростить процесс открытия часто используемых форм? Данное расширение позволяет настроить автоматическое открытие различных форм объектов сразу после запуска 1С. Список форм настраивается индивидуально для каждого пользователя. Работает на платформе 8.3.9, без доработки конфигурации.

1 стартмани

03.10.2016    22792    85    Artem-B    20    

Управление задачами: Канбан доска

Инструментарий разработчика БСП (Библиотека стандартных подсистем) v8 Абонемент ($m)

Конфигурация "Управление задачами" с использованием БСП. Канбан доска. Открытый код.Загрузка изменений из хранилища конфигураций 1С и связь с задачами. Проект выложен на github (ссылка в публикации). Управляемые формы. Рассылка уведомлений.

1 стартмани

02.10.2016    69801    593    BlizD    301    

Конструктор условного оформления

Инструментарий разработчика Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

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

1 стартмани

27.09.2016    18170    16    Fragster    7    

Подборка иконок для подсистем 1С:8.2, 8.3 (740 шт.) PNG 48х48 Промо

Практика программирования Работа с интерфейсом v8 1cv8.cf Россия Абонемент ($m)

Подборка иконок для подсистем 1С: Предприятие 8.2, 8.3 (УП) в формате PNG 48*48 с сохранением прозрачности.

5 стартмани

19.12.2011    109732    1238    Lesha1C    74    

HTTP-сервис: отчеты [Расширение]

Практика программирования Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Это HTTP-сервис, который возвращает почти любой отчет в HTML, XLSX или в JSON. Сохраните вариант отчета, получите на него ссылку и можно получить данные без захода в 1С. Работает в конфигурациях на основе БСП 2.3.3+, для отчетов на СКД и в 1С 8.3.8+

2 стартмани

30.08.2016    28862    143    Stepa86    15    

Механизм доп. реквизитов и сведений

Практика программирования Работа с интерфейсом v8 БП2.0 Абонемент ($m)

Как к новому справочнику подключить механизм дополнительных реквизитов и сведений

2 стартмани

23.06.2016    29268    33    piffoff    18    

Блокировка баннеров при помощи расширения

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Примеры использования расширений

1 стартмани

09.06.2016    15017    12    oslokot    16    

БСП 2.3 и БСП 3.0: Просто про выполнение внешней обработки в фоне (c индикацией прогресса выполнения)

Инструментарий разработчика Практика программирования БСП (Библиотека стандартных подсистем) v8 1cv8.cf Абонемент ($m)

Простое пояснение о том, как сделать внешнюю обработку с фоновым выполнением и индикацией процесса для любой конфигурации на основе БСП 2.3.2. UPDATE 20/09/19: добавлен вариант обработки с индикацией процента выполнения и статусом выполнения для БСП 3.0.

1 стартмани

18.05.2016    65885    194    rozer    66