Запуск фонового задания во внешней обработке без регистрации в справочнике "Дополнительные отчеты и обработки"

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

Разработка - Практика программирования

Внешняя обработка индикация прогресса фоновое задание

Описал, как показать прогресс выполнения длительной операции во внешней обработке, и при этом не регистрировать обработку в справочнике "ДополнительныеОтчетыИОбработки". Проверял на БСП версии "3.1.2.264".

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

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

В качестве базового шаблона для решения моей задачи я использовал пример, опубликованный здесь: https://wiki.programstore.ru/zapusk-fonovogo-zadaniya-vo-vneshnej-obrabotke-s-indikaciei/ 

Изменения, которые я внес в этот пример, минимальны - в основном, причесал код, распределил процедуры и функции по областям, добавил комментарии и исправил пару мелких ошибок. Работоспособность проверял в конфигурации "Зарплата и управление персоналом 3.1.12.144", версия БСП "3.1.2.264".

Важное замечание

Этот пример рассчитан на работу в двух вариантах:

1. Без подключения к подсистеме внешних отчетов/обработок;

2. С подключением к подсистеме.


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


Модуль объекта внешней обработки

На случай, если вы планируете подключать обработку к подсистеме внешних отчетов/обработок, я оставил экспортный метод "СведенияОВнешнейОбработке". 

За реализацию длительной операции отвечает экспортный метод "ДлительнаяОперация", в которой организовано заполнение массива по тысяче строк, а в первом параметре передается количество таких заполнений (итераций). Рекомендую устанавливать количество итераций от 10 000.

 

// Процедура - выполняет некоторые действия, которые длятся долго
//
// Параметры:
//  СтруктураПараметров	 - Структура - содержит исходные данные для расчетов
//  АдресРезультата		 - Строка	 - адрес во временном хранилище, пот которому нужно поместить результат расчетов
//
Процедура ДлительнаяОперация(СтруктураПараметров, АдресРезультата) Экспорт
	
	Результат = 0;
	ПредыдущийПроцент = -1;
	Для Сч = 1 по СтруктураПараметров.КоличествоИтераций Цикл
		
		// выполнить нечто долгое
		Стр = "";
		Для i=1 По 1000 Цикл
			Стр = Стр + ?(i=1, "", ",") + "Подстрока"+Строка(i);
		КонецЦикла;
		М = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(Стр, ",");
		
		Если Сч/100 - Цел(Сч/100) = 0 Тогда
			Результат = Результат + 1;
		КонецЕсли;
		
		ПроцентВыполнения = Мин(100, Окр(100 * Сч / СтруктураПараметров.КоличествоИтераций, 0, РежимОкругления.Окр15как20));
		Если ПроцентВыполнения>ПредыдущийПроцент Тогда
			ДлительныеОперации.СообщитьПрогресс(ПроцентВыполнения, СтрШаблон("Выполняется итерация %1", Сч));
		КонецЕсли;
		ПредыдущийПроцент = ПроцентВыполнения;
	КонецЦикла;	
	
	ПоместитьВоВременноеХранилище(Результат, АдресРезультата);
	
КонецПроцедуры


Модуль формы внешней обработки

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

Подготовка данных для длительной операции

В этом примере исходные данные - это количество итераций и расположение файла внешней обработки.

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

2. Если же обработка не подключена к подсистеме, то определяется имя файла этой обработки, а ссылка устанавливается пустая.
 

#Область СлужебныеПроцедурыИФункции

// Функция - возвращает имя файла этой внешней обработки.
//           Внимание!!! В клиент-серверном варианте файл обработки должен быть виден с сервера,
//           либо вы должны позаботиться самостоятельно о переносе файла обработки с клиента на сервер,
//           в этом случае результат работы этой функции - имя файла, которое вы поместили на сервер самостоятельно
// 
// Возвращаемое значение:
//   - Строка
//
&НаСервере
Функция ИспользуемоеИмяФайла()
	Возврат РеквизитФормыВЗначение("Объект").ИспользуемоеИмяФайла;
КонецФункции

// Функция - создает структуру, содержащую исходные данные для выполнения длительной операции
// 
// Возвращаемое значение:
//   - Структура
//
&НаКлиенте
Функция ПодготовитьДанныеДляДлительнойОперации()
Перем Рез;

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

Обработчик команды "ЗапуститьВыполнение"

Выполняется при нажатии на кнопку "Запустить выполнение", и выполняет следующие действия:
1. Обнуляет индикатор прогресса;
2. Создает фоновое задание и запоминает его идентификатор в реквизите формы;

3. Подключает обработчики ожидания, отвечающие за обновление прогресса.

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

#Область ОбработчикиКомандФормы

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

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

Когда длительная операция завершится, будет исполнен клиентский метод формы "ФоновоеЗаданиеЗавершение".

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

// Процедура - выполняется после завершения фонового задания
//             Выполнить анализ завершения, в случае успеха получить данные результата из временного хранилища и обработать их
//
// Параметры:
//  Результат				 - Структура - результат выполнения фонового задания
//  ДополнительныеПараметры	 - Произвольный	 - дополнительные параметры фонового задания
//
&НаКлиенте
Процедура ФоновоеЗаданиеЗавершение(Результат, ДополнительныеПараметры) Экспорт

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

 

А теперь самое главное - запуск фонового задания без использования справочника "ДополнительныеОтчетыИОбработки"

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

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

    У меня это либо пустая ссылка (если не было подключения к подсистеме), либо ссылка на подключенную обработку.

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

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

Вот, собственно, и все.

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

Удачи в работе!

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

Наименование Файл Версия Размер
Запуск фонового задания во внешней обработке без регистрации в справочнике "ДополнительныеОтчетыИОбработки"
.epf 10,48Kb
09.03.20
7
.epf 1.0 10,48Kb 7 Скачать

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

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. PowerBoy 2955 10.03.20 05:51 Сейчас в теме
Внимание!!! В клиент-серверном варианте файл обработки должен быть виден с сервера,
// либо вы должны позаботиться самостоятельно о переносе файла обработки с клиента на сервер,


Ну так добавили бы пару строчек - сделали бы уже решение до конца!
2. 1sig 150 10.03.20 08:22 Сейчас в теме
(1)
по сути тоже самое https://infostart.ru/public/1174382/ :)
там же в комментариях про то, что в клиент-серверном режиме работы файл обработки должен быть "виден" на сервере.
PowerBoy, вы предлагаете помещать файл внешней обработки в хранилище,
потом получить навигационную ссылку по адресу и уже после этого подключать объект обработки?
4. VinnieThePOOH 39 10.03.20 08:52 Сейчас в теме
(2) Да, действительно, но мне эта разработка не попалась в поиске. Если бы нашел - сэкономил бы себе массу времени..
3. VinnieThePOOH 39 10.03.20 08:51 Сейчас в теме
(1) Должны же юные падаваны хоть что-то делать самостоятельно!
5. Aleksey81 1008 10.03.20 13:35 Сейчас в теме
Спасибо огромное. Очень полезная публикация!!!
Оставьте свое сообщение

См. также

Жизнь в стиле RPG

Инструменты и обработки Программист Стажер Конфигурация (md, cf) v8::УФ Абонемент ($m) Практика программирования

Работа выполнялась на платформе 8.3.16.1148. Пока мой город на карантине, появилось чуть больше свободного времени (процентов на 15) - решил попробовать сделать для себя в 1С то, что давно хотел. У меня на телефоне есть приложение "RPG in real life", оно мне помогает в мотивации важных дел, но кажется немного неудобным. Решил сделать что-то похожее в 1С, с моими основными "хотелками". Данная разработка позволяет получать миссии, за выполнение которых начисляются баллы, влияющие на повышение уровней своих навыков.

1 стартмани

вчера в 15:00    297    ErrorEd88    3       

Новый раздел на Инфостарте - Electronic Software Distribution Промо

Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.

  • Низкие цены, без скрытых платежей и наценок
  • Оперативная отгрузка
  • Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
  • Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)

Методика обновления формы объекта данных при изменении объекта

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

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

1 стартмани

09.03.2020    3663    tormozit    13       

Подкидывание монеты

Отчеты и формы Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Практика программирования

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

1 стартмани

25.02.2020    667    1    a_kudaev    2       

Онлайн-курс «Практические аспекты внедрения регламентированного учета и расчета себестоимости в 1С:ERP на крупных промышленных предприятиях» с 20 апреля по 15 мая 2020 года. Промо

Курс рассчитан для подготовки экспертов по регламентированному учету и учету затрат для внедрения на крупных промышленных предприятиях с «исторически сложившимся» учетом

9000 рублей

Вывод сообщений в HTML поле средствами 1С

Статья Программист Конфигурация (md, cf) v8 v8::УФ Абонемент ($m) Практика программирования

Пример использования вывода большого количества сообщений в поле HTML. С возможностью открывать ссылочные объекты и создавать новые объекты передавая параметры прямо из HTML поля. Протестировано на релизах 8.3.12 и 8.3.15+

2 стартмани

31.01.2020    3162    3    burni4    16       

Базовый курс по обмену данными в системе 1С:Предприятие. Онлайн-интенсив с 12 по 28 мая 2020 г. Промо

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, обеспечивающих обмен данными между различными прикладными 1С-решениями и взаимодействие с другими информационными системами. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”.

5500 рублей

Как в 1С создать паутинку "как на Инфостарте"

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

Добрый день, уважаемы коллеги! В этой статье я расскажу, как в 1С создать отчет - "паутинку" на примере отчета по компетенциям сотрудника (разрабатывала на платформе 1С:Предприятие 8.3 (8.3.13.1865).

1 стартмани

15.01.2020    7336    3    user660153_aleks.pisanets    13       

Программное создание письма EML с вложениями

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Практика программирования

Внешняя обработка, которая создает письмо EML с вложениями и сохраняет на диск.

1 стартмани

10.01.2020    1179    2    info1i    0       

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Обмен данными с Android через USB

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Windows Абонемент ($m) Практика программирования Мобильная разработка

Обработка с примером обмена данными конфигурации 1С через USB. Без установки Web сервера и настройки WiFi.

1 стартмани

23.12.2019    1587    2    asdfgcom    2       

DevOps для 1С. Онлайн-курс проходит с 16 апреля по 11 июня 2020 года. Промо

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

12000 рублей

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

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

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

1 стартмани

17.12.2019    4654    2    azhilichev    5       

Базовый курс для начинающих 1С-программистов. Онлайн-интенсив со 2 июня по 2 июля 2020 г. Промо

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

4500-9500 рублей

Пример сохранения печатной формы в WORD (обычные и управляемые формы)

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Печатные формы документов Практика программирования

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

1 стартмани

03.12.2019    1713    5    Diana.dedov.91    0       

html + css + js в поле HTML документа 1С на примере решения задачи ханойских башен

Отчеты и формы Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Россия Абонемент ($m) Практика программирования

Рассматривается пример использования html + css + js в полеHTMLдокумента 1с. Вызов функций javascript со стороны 1С с передачей параметров. Решение головоломки "Ханойская башня" с визуализацией в среде 1С.

1 стартмани

11.11.2019    3649    2    mangushov    0       

Екатеринбург.Online: Голосование продолжается Промо

Продолжается голосование за доклады на INFOSTART MEETUP Екатеринбург.Online! Лучшие из них попадут в окончательную программу онлайн-митапа! Присоединяйтесь к голосованию и покупайте билеты - 3 000 рублей за 8 часов продуктивной пятницы!

3000

Индикатор выполнения (прогресс-бар) с таймером остаточного времени выполнения (обычное приложение + УФ)

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

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

1 стартмани

08.10.2019    2645    3    slayer-ekb    5       

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

Статья Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Практика программирования Внешние источники данных

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

1 стартмани

06.09.2019    12888    10    Dementor    29       

1C:Предприятие для программистов: Расчетные задачи (зарплата). Онлайн-интенсив с 01 по 17 июня 2020 г. Промо

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, которые предназначены для автоматизации периодических расчетов, а именно - для расчета зарплаты. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей прикладного решения “1С:Зарплата и управление персоналом” и прочих прикладных решений, в которых реализован функционал расчета зарплаты.

4900 рублей

Обновление данных в ячейках таблицы формы на управляемых формах

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

На очередном проекте решал задачу по расчету значений колонок в табличных полях формы. Задача казалась достаточно простой. Однако возникла необходимость работать не только с реквизитами формы типа «ТаблицаЗначений», но и с типом «ДеревоЗначений». Релиз платформы 8.3.13.1644

1 стартмани

15.08.2019    3073    BraunAlex    2       

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

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

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

1 стартмани

12.08.2019    8505    5    Yashazz    18       

Онлайн-интенсив "1C:Предприятие для программистов: Бухгалтерские задачи" с 22 июня по 8 июля 2020 г. Промо

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, которые предназначены для решения задач бухгалтерского учета. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей прикладного решения “1С:Бухгалтерия” и прочих прикладных решений, в которых реализованы соответствующие механизмы для автоматизации бухгалтерских задач.

4900 рублей

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

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

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

1 стартмани

09.08.2019    10716    12    nagaitseff    6       

Организация функционала наценок по позициям либо сегментам номенклатуры в УТ 11.4

Статья Программист Документ XML v8::ОУ v8::УФ УТ11 Россия УУ Ценообразование, анализ цен Абонемент ($m) Практика программирования Разработка

В статье описан один из методов реализации задачи установки скидок/наценок в соответствии с заданным процентом по позициям/сегментам номенклатуры. Так-же продемонстрирован принцип создания произвольного запроса к ИБ в виде цен. Протестировано на релизе Управление торговлей, редакция 11.4.8.92.

1 стартмани

07.08.2019    2748    cheiser1982    2       

Подборка решений для взаимодействия со ФГИС «Меркурий» Промо

С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.

Изменяющееся контекстное меню в 1С 8.3

Статья Программист Архив с данными v8 v8::УФ Абонемент ($m) Практика программирования Работа с интерфейсом Разработка

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

1 стартмани

06.08.2019    10426    1    signum2009    15       

Запрет запуска более одного сеанса на рабочем месте (Розница 2.2)

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ Розница Россия Абонемент ($m) Практика программирования Разработка

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

2 стартмани

04.08.2019    3742    aximo    5       

Лучшие программы за прошедший месяц Промо

Инфостарт подготовил ТОП-25 самых продаваемых и популярных на текущий момент программ. При формировании списка учитывается аналитика продаж и запросы клиентов за последний месяц.

Универсальная печать штрихкодов Windows, Linux, x86, x64. Управляемые формы. Веб-клиент. Пример

Инструменты и обработки Программист Стажер Конфигурация (md, cf) v8::УФ 1cv8.cf ОС Абонемент ($m) Разработка внешних компонент Практика программирования

Универсальная печать штрихкодов Windows, Linux, x86, x64. Управляемые формы. Веб-клиент. Сделана на основе компонент печати штрихкодов фирмы 1с под платформу 1с windows32, windowsx64, linux32, linux64. Типы штрихкодов для генерации - EAN8, EAN13, EAN128, Code39, Code128, Code16k, PDF417, Standart (Industrial) 2 of 5, Interleaved 2 of 5, Расширение Code39, Code93, ITF14, RSS14, CodaBar, EAN13 AddOn 2, EAN13 AddOn 5. Сделана как пример для внедрения. Наиболее оптимальный вариант для веб-клиента. Пример сделан в виде cf файла. Работоспособность проверялась на ERP 2.4.8.84, ЗУП 3.1.9.187, Розница 2.2.11.30, УНФ 1.6.17.128, БГУ 2.0.61.28, ЗКГУ 3.1.9.187, КА 2.4.7.127, УТ 11.4.7.128, БП 3.0.69.35, Документооборот КОРП ПРОФ 2.1.13.28.

2 стартмани

17.07.2019    3537    15    ivanchai    4       

Вам нравятся запросы в 1С?

Инструменты и обработки Программист Конфигурация (md, cf) v8 v8::Запросы 1cv8.cf Абонемент ($m) Практика программирования Разработка

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

1 стартмани

03.07.2019    14969    4    m-rv    86       

Подборка программ для взаимодействия с ЕГАИС Промо

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

Генерация QR кодов через API Google (обычные и управляемые формы)

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Инструментарий разработчика Практика программирования Разработка WEB

Обработка абсолютно автономна, не привязана ни к версии БСП, ни к виду конфигурации. Может работать как для типовых, так и для самописных конфигураций. Содержит обычную и управляемую формы, поэтому запустится в любом режиме. Единственное, что нужно для ее работы - это подключение к интернету, так как для генерации QR кодов используется сервис Google.

1 стартмани

22.06.2019    3914    3    lisrws    5       

Несколько документов на основании одного

Инструменты и обработки Программист Конфигурация (md, cf) v8::УФ Абонемент ($m) Практика программирования Обработка документов

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

1 стартмани

10.06.2019    3790    1    mvxyz    6