Примеры реализации собственных автоподстановок в 1С:Документооборот

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

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

Автоподстановка Документооборот Шаблон процесса Ролевая адресация

34
Примеры реализации функций автоподстановок для использования в шаблонах процессов в 1С:Документооборот.

Добрый день, уважаемые коллеги!

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

Первое место в моем рейтинге занимает группа вопросов, касающихся настройки маршрута в зависимости от реквизита предмета процесса. Например:

  • Как сделать так, чтобы договоры организации А попадали на согласование бухгалтеру Петрову, а договоры организации Б - бухгалтеру Сидорову?
  • Как эскалировать задачу руководителю проекта?
  • Как настроить адресацию входящего документа на роль "Руководитель подразделения документа"?

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

Казалось бы, вот тут и нужно задействовать механизм объектов адресации: сделать роль "Бухгалтер", включить для этой роли флаг "Используется с объектами адресации" и указать тип объекта адресации (Организация). Но все не так просто: коробочное решение не умеет автоматически подставлять объект адресации. То есть, нужно руками прямо в шаблоне выбирать и роль (Бухгалтер), и объект адресации (Организация). 

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

Итак, нам понадобится:

1. Включить возможность изменения конфигурации:

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

 

2. Снимаем с замка корень конфигурации и общий модуль ШаблоныБизнесПроцессовПереопределяемый.

3. Добавляем общий модуль АвтоподстановкиПереопределяемый с флагами СерверВнешнее соединение и Вызов сервера

Нужные нам функции автоподстановок будем включать в программный интерфейс добавленного модуля и вызывать из метода ШаблоныБизнесПроцессовПереопределяемый.ПолучитьСписокДоступныхФункций(). Кроме того, нам понадобится несколько служебных универсальных методов:

Функция, возвращающая ссылку на предмет процесса по его имени:

Функция ПредметПоИмени(БизнесПроцессОбъект, ИмяПредмета)
	
	СтрокаПредмета = БизнесПроцессОбъект.Предметы.Найти(ИмяПредмета,"ИмяПредмета");
	
	Если СтрокаПредмета = Неопределено Тогда
		
		ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
			НСтр("ru = 'Автоподстановка не может быть выполнена, так как не найден предмет ""%1"" процесса.'")
			, Строка(ИмяПредмета)
			);
		
	ИначеЕсли Не ЗначениеЗаполнено(СтрокаПредмета.Предмет) Тогда 
		
		ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
			НСтр("ru = 'Автоподстановка не может быть выполнена, так как не указан предмет ""%1"" процесса.'")
			, Строка(ИмяПредмета)
			);
			
	КонецЕсли;
	
	Возврат СтрокаПредмета.Предмет;
	
КонецФункции

 

Функция, возвращающая значение реквизита предмета процесса:

Функция ЗначениеРеквизитаПредмета(БизнесПроцессОбъект, ИмяПредмета, ИмяРеквизита)
	
	Предмет = ПредметПоИмени(БизнесПроцессОбъект, ИмяПредмета);
	
	Если Не ОбщегоНазначенияКлиентСервер.ЕстьРеквизитОбъекта(Предмет, ИмяРеквизита) Тогда 
		
		ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
			НСтр("ru = 'Автоподстановка не может быть выполнена, так как предмет ""%1"" процесса имеет неверный тип (%2).'")
			, Строка(ИмяПредмета)
			, ТипЗнч(Предмет)
			);
		
	КонецЕсли;
	
	Возврат ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Предмет, ИмяРеквизита);
	
КонецФункции

Для получения ссылок на нужные нам роли будем описывать функции следующего вида:

Функция НайтиСоздатьРоль_БухгалтерОрганизации()
	
	ИдентификаторСсылки = Новый УникальныйИдентификатор("11d8bbbe-1fd6-11e5-926b-d485646b0d9a");
	РольСсылка = Справочники.РолиИсполнителей.ПолучитьСсылку(ИдентификаторСсылки);
	
	Если Не ОбщегоНазначения.СсылкаСуществует(РольСсылка) Тогда 
		
		РольОбъект = Справочники.РолиИсполнителей.СоздатьЭлемент();
		РольОбъект.УстановитьСсылкуНового(РольСсылка);
		
		РольОбъект.Наименование = НСтр("ru = 'Бухгалтер организации'");
		РольОбъект.КраткоеПредставление = НСтр("ru = 'Бух'");
		РольОбъект.ИспользуетсяСОбъектамиАдресации = Истина;
		РольОбъект.ТипыОсновногоОбъектаАдресации = ПланыВидовХарактеристик.ОбъектыАдресацииЗадач.Организация;
		
		РольОбъект.УстановитьНовыйКод();
		
		РольОбъект.Записать();
		
	КонецЕсли;
	
	Возврат РольСсылка;
	
КонецФункции

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

 

Примеры автоподстановок, возвращающих полные роли с нужными объектами адресации:

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

Функция РуководительПроекта(БизнесПроцессОбъект, ИмяПредмета) Экспорт 
	
	РольИсполнителя = НайтиСоздатьРоль_РуководительПроекта();
	ОсновнойОбъектАдресации = ЗначениеРеквизитаПредмета(БизнесПроцессОбъект, ИмяПредмета, "Проект");
	ДополнительныйОбъектАдресации = Неопределено;
	
	ПолнаяРоль = Справочники.ПолныеРоли.НайтиСоздатьПолнуюРоль(РольИсполнителя
					, ОсновнойОбъектАдресации
					, ДополнительныйОбъектАдресации
					);
	
	Возврат ПолнаяРоль;
	
КонецФункции

 

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

// Возвращает список пользовательских функций для автоподстановки исполнителей в шаблонах бизнес-процессов
// Параметры:
//	ИменаПредметовДляФункций - массив - массив имен предметов для функций автоподстановки
//
Функция ПолучитьСписокДоступныхФункций(ИменаПредметовДляФункций) Экспорт
	
	ДоступныеФункции = Новый СписокЗначений;
	//ДоступныеФункции.Добавить("ШаблоныБизнесПроцессовПереопределяемый.<ИмяФункции>(Объект)", "<Представление функции>");
	//ДоступныеФункции.Добавить("ШаблоныБизнесПроцессовПереопределяемый.ЗаместительРуководителяАвтораПроцесса(Объект)", "Заместитель руководителя автора процесса");
	
	#Область МодификацияКонфигурации
	Если ИменаПредметовДляФункций <> Неопределено И ИменаПредметовДляФункций.Количество() > 0 Тогда 
		
		Для Каждого ИмяПредмета Из ИменаПредметовДляФункций Цикл 
			
			ДоступныеФункции.Добавить("АвтоподстановкиПереопределяемый.БухгалтерОрганизации(Объект, ИмяПредмета)"			, 
				СтрШаблон(НСтр("ru = '%1.Бухгалтер организации документа'"		), Строка(ИмяПредмета)));
				
			ДоступныеФункции.Добавить("АвтоподстановкиПереопределяемый.РуководительПроекта(Объект, ИмяПредмета)", 
				СтрШаблон(НСтр("ru = '%1.Руководитель проекта документа'"	), Строка(ИмяПредмета)));
				
		КонецЦикла;
	
	КонецЕсли;
	#КонецОбласти

	Возврат ДоступныеФункции;
	
КонецФункции

 

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

Дальше, думаю, все понятно: при настройке шаблонов процессов вместо указания ролей с объектами адресации используем наши автоподстановки. Профит!

34

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

Комментарии
Избранное Подписка Сортировка: Древо
1. DEG156 27 26.06.18 17:54 Сейчас в теме
Здравствуйте !

А где ответ на вопрос - Как настроить адресацию входящего документа на роль "Руководитель подразделения документа"?
2. TimurrReznik 31.07.18 12:43 Сейчас в теме
Не знаю, что насчет конфигурации - я ничего толком не понял. В кабинете documentoved.ru намного удобнее синхронизирована работа входящих и исходящих документов. В программе 1С я посмотрел настройки, полазил и по вашему скрипту не смог настроить...
3. TimurrReznik 31.07.18 12:46 Сейчас в теме
Не знаю, что насчет конфигурации - я ничего толком не понял. В кабинете documentoved.ru намного удобнее синхронизирована работа входящих и исходящих документов. В программе 1С я посмотрел настройки, полазил и по вашему скрипту не смог настроить...
4. Katty_K 06.12.18 08:54 Сейчас в теме
Здравствуйте! Спасибо большое за пост, очень помог.

Сейчас функция
ОбщегоНазначенияКлиентСервер.ЕстьРеквизитОбъекта(Предмет, ИмяРеквизита)
стала называться
ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(Предмет, ИмяРеквизита)
5. Katty_K 06.12.18 09:29 Сейчас в теме
Единственное, у меня проблема возникла, которую я не знаю как решить (я новичок совсем):
У меня есть Роль исполнителя под названием "Зам. директора по направлению", и некоторые (не все) подразделения подчиняются своим замам директора. Создала автоподстановку для этой роли (зависит от подразделения автора документа), и шаблон процесса, содержащий эту автоподстановку.

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

Однако если в документе в качестве автора документа указать пользователя, подразделение которого НЕ подчиняется ни одному из замов (нет соответствующей записи в Роли исполнителя "Зам. директора по направлению"), то задача все равно создается, получается, "в никуда".

Можно ли сделать так, чтобы при отсутствии соответствущей роли исполнителя для подразделения автора документа задача бы вообще не создавалась?
Оставьте свое сообщение

См. также

СКД. Отчеты с картинками 174

Статья Программист Нет файла v8::СКД 1cv8.cf Бесплатно (free) Практика программирования Работа с интерфейсом

Решение популярных кейсов с картинками в отчетах на СКД.

25.09.2019    4429    YPermitin    24       

Добавляем виджет "Задачи от меня" в Документооборот 2.1 22

Статья Программист Нет файла v8 v8::Бизнес-процессы ДО Россия Бесплатно (free) Практика программирования Работа с интерфейсом

Небольшая доработка Документооборота 2.1 для возможности добавления виджета "Задачи от меня" в обработку Текущие дела.

25.09.2019    1459    Sergey_Borisovi4    2       

СКД не только для отчетов 139

Статья Программист Нет файла v8::СКД 1cv8.cf Бесплатно (free) Практика программирования

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

18.09.2019    6700    YPermitin    31       

Агрегатные функции СКД, о которых мало кто знает 315

Статья Программист Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Практика программирования

Пользуетесь ли Вы всеми возможными агрегатными функциями, которые предоставляет система компоновки данных? Если Вы используете только: СУММА, КОЛИЧЕСТВО, МИНИМУМ, МАКСИМУМ, СРЕДНЕЕ, то эта статья для Вас.

05.09.2019    9606    ids79    42       

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

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

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

17.08.2019    7970    ids79    14       

Функции СКД: ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив 240

Статья Программист Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Практика программирования

Подробное описание и использование внутренних функций системы компоновки данных: Вычислить, ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив, ВычислитьВыражениеСГруппировкойТаблицаЗначений.

08.08.2019    9979    ids79    22       

Как проводятся документы в типовых конфигурациях от 1С 135

Статья Программист Нет файла v8::ОУ ERP2 УТ11 Россия УУ Windows Бесплатно (free) Математика и алгоритмы Практика программирования Разработка

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

24.07.2019    14777    skv_79    32       

СКД - использование расширений языка запросов, секция ХАРАКТЕРИСТИКИ 134

Статья Программист Нет файла v8 v8::СКД Бесплатно (free) Инструментарий разработчика Практика программирования Разработка

Автоматическое и не автоматическое заполнение полей компоновки данных. Использование расширений языка запросов для СКД «{…}», секция ВЫБРАТЬ, секция ГДЕ, параметры виртуальных таблиц. Автоматизированное использование дополнительных данных в запросе: секция ХАРАКТЕРИСТИКИ.

17.07.2019    8461    ids79    24       

"Меньше копипаста!", или как Вася универсальную процедуру писал 170

Статья Программист Стажер Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Практика программирования Разработка

Программист Вася разбирает подход создания универсальных методов на примере программного вывода СКД.

04.07.2019    6129    SeiOkami    48       

Создание отчетов с помощью СКД - основные понятия и элементы 190

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

Основные принципы работы СКД. Понятия схемы компоновки и макета компоновки. Описание основных элементов схемы компоновки: наборы данных, поля, вычисляемые поля, ресурсы, параметры.

25.06.2019    17088    ids79    16       

Многопоточное ускорение однопользовательских нагрузок в 1С + Microsoft SQL Server 2017 175

Статья Программист Нет файла v8 v8::Запросы Бесплатно (free) Практика программирования Разработка

Взаимодействие с Microsoft SQL Server нередко вызывает трудности у 1С-ников, а потому интересны любые моменты, связанные с его использованием. О своем опыте работы с новым SQL Server 2017 участникам конференции Infostart-2018 рассказал директор ООО «Аналитика софт» Дмитрий Дудин.

11.06.2019    11367    dmurk    134       

Регистры накопления. Структура хранения в базе данных 174

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

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

16.05.2019    17035    YPermitin    27       

Выполнение внешней обработки в фоновом задании 147

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

Подробное описание подхода к созданию длительной операции на основе внешней обработки. Реализация протестирована на 1С 8.3.12.1714 (x64).

11.05.2019    9645    Eret1k    22       

Выгрузка документа по условию 5

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Разработка

Что делать, если документы нужно выгружать не все подряд, а по какому-то фильтру: статусу, дате, набору условий... А что если он соответствовал этим условиям, а потом перестал? А если потом опять начал? Такие ситуации заставили попотеть не одного программиста.

25.04.2019    4713    m-rv    2       

Как настроить правильную техподдержку (helpdesk, service desk на коленке) 38

Статья Программист Бизнес-аналитик Руководитель проекта Нет файла v8 УУ Управление взаимоотношениями с клиентами (СRM) Документооборот и делопроизводство Монитор заказов Учет рабочего времени Бесплатно (free) Управление услугами и сервисом

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

24.04.2019    7070    siddy    0       

Как прикрутить ГУИД к регистру сведений 23

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Перенос данных из 1C8 в 1C8 Разработка

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

16.04.2019    7225    m-rv    16       

О расширениях замолвите слово... 192

Статья Программист Стажер Нет файла v8 Бесплатно (free) Практика программирования Разработка

О чём стоит задуматься при принятии решения о создании расширения конфигурации…

07.04.2019    16174    ellavs    122       

Git-репозитории для 1С-кода (опыт использования при небольших проектах) 200

Статья Программист Стажер Нет файла v8 Windows Бесплатно (free) Практика программирования Разработка

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

28.03.2019    12571    ellavs    83       

Трюки с внешними источниками данных 164

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

Некоторые трюки для преодоления ограничений внешних источников данных.

14.03.2019    12686    YPermitin    52       

Добавление отчетов в типовые конфигурации 1С 200

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

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

07.03.2019    22889    ids79    32       

Функциональные опции 1С 8.3 – все возможные варианты использования 170

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

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

22.02.2019    15563    ids79    5       

Механизм бизнес-событий на конкретном примере 29

Статья Программист Нет файла v8::Бизнес-процессы ДО Россия УУ Документооборот и делопроизводство Бесплатно (free) Управление бизнес-процессами (BPM)

Есть в системе 1С:Документооборот механизм бизнес-событий. Когда мне понадобилось решить конкретную задачу, гугление ни к чему конкретному не привело. Хотелось так «вжух» и всё понять про данный механизм, но в итоге пришлось лезть в код 1С и смотреть реализацию данного механизма. В данной публикации поделюсь результатами исследований, может, кому-то это поможет быстро и легко во всём разобраться.

18.02.2019    4837    soulner    0       

Информирование пользователя. Работа с объектом «СообщениеПользователю» 249

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

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

15.02.2019    16698    ids79    34       

Возможности типовых шаблонов ограничения доступа на уровне записей (RLS) 162

Статья Программист Нет файла v8 v8::Права Бесплатно (free) Практика программирования БСП (Библиотека стандартных подсистем) Роли и права

Краткий обзор применения типовых шаблонов ограничения доступа на уровне записей в конфигурациях, созданных на базе БСП: #ПоЗначениям, #ПоНаборамЗначений, #ПоЗначениямРасширенный, #ПоЗначениямИНаборамРасширенный

03.02.2019    15235    ids79    9       

Новый подход к обмену данными EnterpriseData 202

Статья Программист Нет файла v8 v8::УФ Россия Бесплатно (free) Практика программирования Обмен через XML

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

14.12.2018    21154    ids79    72       

Универсальные функции ЗУП 3.1 / ЗКГУ 3.1, которые помогут в разработке 462

Статья Программист Нет файла v8 v8::СПР ЗКГУ3.0 ЗУП3.x БУ Зарплата Управление персоналом (HRM) Бесплатно (free) Универсальные функции

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

14.11.2018    31339    GeterX    93       

Программное заполнение пользовательских параметров и отборов СКД 135

Статья Программист Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Практика программирования

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

13.11.2018    19323    Unk92    18       

Автоматические и управляемые блокировки применительно к типовым конфигурациям 1С 125

Статья Программист Нет файла v8 v8::blocking 1cv8.cf Бесплатно (free) Математика и алгоритмы Практика программирования

Основные принципы работы с режимами автоматических и управляемых блокировок в 1С Предприятие 8. Теория и применение в типовых конфигурациях: БП, УТ, ЕРП

10.11.2018    20671    ids79    40       

Вспомогательные инструкции в коде 1С 104

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования

Помогаем редактору кода 1С помогать нам писать и анализировать код.

15.10.2018    20320    tormozit    100       

Произвольный код в фоновом режиме 164

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования

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

03.09.2018    14449    nikita0832    41       

Приемы работы с СКД: делаем за 5 минут то, на что у других уйдет час 375

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

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

03.09.2018    30801    SergeyN    25       

Основные понятия и механизмы оптимизации клиент-серверного взаимодействия в 1C 144

Статья Программист Нет файла v8 Россия Бесплатно (free) Математика и алгоритмы Практика программирования

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

23.08.2018    21016    Rain88    42       

Зачем запросу план и кто его выполняет? 175

Статья Программист Нет файла v8::Запросы Бесплатно (free) Практика программирования

Как определить, почему запрос выполняется слишком долго? Что происходит с запросом на стороне сервера баз данных? В статье приводится объяснение, что такое план запроса и для чего он нужен. А также говорится о том, в чем разница между потоком операторов и потоком данных, как работает оптимизатор и зачем нужна статистика.

09.08.2018    18071    Dem1urg    44       

Вывод всей истории в задаче комплексного процесса 14

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

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

08.08.2018    4349    E_Babaylova    3       

Повышаем эффективность разработки правил обмена 122

Статья Программист Нет файла v8 КД ОС Бесплатно (free) Практика программирования Перенос данных из 1C8 в 1C8

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

25.06.2018    19171    olegtymko    43       

Введение в механизм представлений в ЗУП ред. 3 152

Статья Программист Нет файла v8 v8::СПР ЗУП3.x Бесплатно (free) Практика программирования

В нашей организации на первом же телефонном собеседовании на должность разработчика по ЗУП ред. 3 вас обязательно спросят о том, что такое "Представления".

04.06.2018    24184    xrrg    82       

Как сделать запрос на изменение данных 75

Статья Программист Нет файла v8 v8::Запросы 1cv8.cf Бесплатно (free) Практика программирования

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

01.06.2018    21071    m-rv    21       

Строим графы средствами 1С (без GraphViz) 42

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования

Множество статей на Инфостарте описывают, как работать с компонентой GraphViz, чтобы построить ориентированный граф. Но практически нет материалов, как работать с такими графами средствами 1С. Сегодня я расскажу, как красиво строить графы с минимальным пересечением. Нам этот метод пригодился для отрисовки алгоритмов в БИТ.Финансе, т.к. типовой механизм не устраивал. Еще это может быть полезно для визуализации различных зависимостей: расчета себестоимости, графы аффилированности компаний и т.д. Надеюсь, эта статья поможет сделать мир 1С красивее и гармоничней:) Итак, поехали...

23.05.2018    16836    slozhenikin_com    19       

Распределение расходов пропорционально продажам 9

Статья Программист Пользователь Нет файла v8 v8::ОУ УТ10 УУ Финансовый учет и бюджетирование (FRP) Учет доходов и расходов Бесплатно (free) Практика программирования

Финансовая модель. Распределение административных расходов по подразделениям пропорционально продажам за месяц. Дополнительные реквизиты против бизнес-процессов!

13.05.2018    11242    Rustig    9       

Минимализмы 3 350

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

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

19.02.2018    35365    ildarovich    44       

Этюды по программированию. Взаимодействие с Microsoft Word 108

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования

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

11.12.2017    25727    milkers    23       

Метод формирования движений в типовых регистрах нетиповыми регистраторами 31

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования

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

05.12.2017    21219    itriot11    34       

1С: Конвертация данных 3. Инструкции и примеры. EnterpriseData (универсальный формат обмена) 718

Статья Программист Нет файла v8 КД Бесплатно (free) Перенос данных из 1C8 в 1C8 Практика программирования Обмен через XML

Что такое КД3? Как начать использовать? Полезные дополнения к документации. Что нужно исправить в типовых обработках и конфигурации. Как изменить правила обмена не снимая конфигурацию с поддержки. Как отлаживать правила обмена?

19.11.2017    136889    MaxS    251       

Программные перечисления, ч.2: приемы кэширования при разработке 66

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования

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

30.10.2017    20948    unichkin    17