Автозадачи

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

Управление - Управление бизнес-процессами (BPM)

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

Итак, дошла очередь до Автозадач. После доклада "Кастомизация на лету" многие коллеги обращались с просьбами опубликовать какие-нибудь решения. Особенно часто упоминали автозадачи.

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

Самый простой и востребованный пример - отложенное исправление ошибок (когда ошибку сразу не видно или нельзя исправить). Например, бухгалтер забыл сделать выписку и у исходящих платежек не стоит признак Оплачено. Или возникли отрицательные остатки по товарам в бух.учете. Или числится одновременное сальдо на 60.01 и 60.02. И т.д.

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

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

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

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

Теперь уберем слово "ошибка", заменим словом "задача". Нам нужно, чтобы человек что-то сделал - неважно, исправил ли ошибку, согласовал ли заявку, оформил ли перемещение, создал ли бюджет, совершил ли 10 звонков, и т.д. Как автоматизировать управление такими задачами?

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

Автозадачи значительно упрощают этот процесс:

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

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

Программирование автозадач

АЗ программируются в справочнике «.Параметры автозадач» - это вроде как типы АЗ.

Центральное место в программировании АЗ занимает составление схемы компоновки. В чем ее суть:

  1. Схема должна описывать, при каких условиях есть задача. Например, схема возвращает платежку исходящую, которая проведена, но в ней не стоит флаг Оплачено. Это будет задача – сделать выписку, чтобы в 1С списались деньги;
  2. В то же время, когда человек выполнит задачу, схема должна вернуть пустую выборку – это будет означать, что задача выполнена;
  3. Ну т.е. должно быть четкое понимание при разработке схемы, при каких условиях задача есть, а при каких она выполнена. Это одно из основных отличий АЗ от прочих подобных механизмов – АЗ не привязаны к событиям системы, нет понятий «возникновение задачи» или «закрытие задачи»;
  4. Одна из аналогий АЗ – отчеты, которые пользователь настраивает сам себе, чтобы понять, что ему еще надо сделать. В примере из п.1 это будет отчет «Неоплаченные исходящие платежи»: если отчет что-то показал – есть задача, если вышел пустой – все в порядке, задачи нет.

Требования к схеме компоновки:

Схема компоновки должна обязательно содержать два поля:

  1. КлючЗадачи – любого типа. Должно быть всегда, в разделе «Выбранные поля» схемы;
  2. ТекущийОстаток – числового типа. Должно быть всегда, в разделе «Выбранные поля» схемы;
  3. Исполнитель – типа «Справочник.Пользователи» или «Справочник.итРолиПользователей». Должен быть в зависимости от типа определения исполнителя (см. раздел ниже).

КлючЗадачи (КЗ) – это поле, которое отвечает за количество созданных АЗ. Своего рода способ группировки. Каждая задача должна к чему-то относиться, как-то идентифицироваться в этом мире.

Также, ключ задачи имеет важное значение при определении срока выполнения задачи.

Если вернуться к примеру с платежками, то варианты могут быть такие:

  1. Ключ задачи – платежка. В этом случае задач будет ровно столько, сколько неоплаченных платежек. В задаче при этом будет ссылка на одну эту платежку. Срок выполнения при этом надо будет определять исходя из знаний об этой платежке – например, дата платежки + сутки;
  2. Ключ задачи – начало дня платежки. В этом случае задач будет ровно столько, сколько разных дней есть в неоплаченных платежках. Например, если есть неоплаченные платежки за сегодня и за вчера, то автозадач будет две. Срок выполнения при этом можно вычислять исходя из ключа задачи – например, ключ задачи + сутки, или ключ задачи + 8 часов.
  3. Ключ задачи – пустой, или какое-то постоянное значение (типа «», 1, истина, «ключ»). В этом случае задача будет одна, и в ней будут все неоплаченные платежки. Когда настанет момент, что все платежки будут оплачены, задача закроется. Когда вновь возникнут неоплаченные платежки, создастся новая задача. Ну это вообще общее правило АЗ – если задача закрылась, она уже не откроется – всегда будет создана новая.

Теперь про «Текущий остаток». Любую задачу можно измерить с помощью цифры. Например, в примере с платежками это может быть количество документов, или общая сумма. Сам я на практике обычно использую количество документов/справочников.

Так вот, эта количественная характеристика и хранится в поле «Текущий остаток». Как только текущий остаток становится равен нулю – задача закрывается. Собственно, если при выполнении схемы компоновки не вернулось вообще ничего (пустая выборка), текущий остаток считается равным нулю.

Также, внутри автозадачи есть история изменения текущего остатка, в виде табличной части. Это для тех задач, которые могут выполняться поэтапно. В примере с платежками это варианты ключа задачи 2 и 3. Например, было 10 документов – тек. остаток будет 10. Человек сделал выписку, 2 дока оплатились – текущий остаток будет 8. И т.д., до нуля.

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

Определение исполнителя

Исполнитель задачи определяется двумя способами:

  1. Просто указывается в параметрах автозадачи – там есть соответствующее поле Исполнитель. Можно выбрать конкретного пользователя или роль пользователя. В таком варианте поле «Исполнитель» не является обязательным для схемы компоновки. Например, в случае с платежками именно такой вариант подойдет, т.к. с платежками работает, как правило, один человек и он известен;
  2. Определяется схемой компоновки – это тот случай, когда информация об исполнителе хранится где-то внутри объектов, к которым привязана автозадача. Например, если вы хотите сделать автозадачу по согласованию договора, а перечень согласующих хранится в табличной части, то исполнитель – это и будет согласующий. В таком варианте схема компоновки должна обязательно содержать группировку Исполнитель. В параметрах автозадачи при этом надо ставить флаг «Исполнитель из схемы».

Группировки схемы компоновки

Тут всего два варианта:

  1. Если исполнитель определяется в параметрах автозадачи, то группировка должна быть одна - <Детальные записи>. Все остальные поля – в выбранных полях;
  2. Если исполнитель берется из схемы, то первой должна идти группировка «Исполнитель», в ее иерархии - <Детальные записи>. Все остальные поля – в выбранных полях.

Сроки выполнения автозадач

Срок выполнения автозадачи определяется исходя из самой автозадачи. Вычисление срока реализуется на встроенном языке платформы, с помощью произвольной формулы. В формуле доступны все конструкции языка, а также доступна формируемая задача (типа СправочникОбъект.итАвтозадачи). Имя переменной – Источник. Результат вычисления по формуле должен быть помещен в переменную Результат.

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

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

Результат = Источник.КлючЗадачи.Дата + 3600 * 24.

Если не сутки, а конец того дня, когда был создан документ, то формула будет такой:

Результат = НачалоДня(Источник.КлючЗадачи.Дата) + 3600 * 17.

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

Результат = Источник.КлючЗадачи + 3600 * 24, или Результат = НачалоДня(Источник.КлючЗадачи) + 17 * 3600.

Также, при вычислении срока доступны все реквизиты задачи. Например, у задачи есть реквизит ДатаПостановки – он равен дате создания задачи, его тоже можно использовать. Формула будет такой, к примеру:

Результат = НачалоДня(Источник.ДатаПостановки) + 17 * 3600.

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

Для себя я сделал отдельную функцию в общих модулях, типа ПолучитьСрокЗадачи(ДатаНачала, КоличествоРабочихДней). В нее передаю дату, от которой отсчитывать срок, и количество рабочих дней.

Формулы вычисления сроков живут в справочнике итПроизвольныеФормулы. В параметрах автозадачи выбирается конкретный элемент этого справочника. У меня, например, чаще всего используются два элемента этого справочника – «3 рабочих дня от даты постановки» и «Конец дня постановки задачи».

Написание текста и заголовка задачи

У автозадачи есть заголовок, который отображается в списках, и есть текст, который читает пользователь, когда зайдет в задачу. Заголовок потом превращается в наименование элемента справочника итАвтозадачи.

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

Поэтому в текстах можно вставлять вычисляемые куски. Вычисление происходит платформенной функцией Вычислить. Доступна переменная Задача, в которой содержится записываемая автозадача (тип СправочникОбъект.итАвтозадачи).

Вычисляемый кусок в тексте оформляется квадратными скобками, например:

[Формат(ТекущаяДата(), «ДФ=dd.MM.yyyy») + « г.»]

Если в примере с платежками, то примерно так:

  1. Для варианта, когда ключом задачи является платежка, можно сделать такое краткое представление:
    1. «Оплатите платежку [Задача.КлючЗадачи]!!!»
  2. Для варианта, когда ключом задачи является дата платежки, можно написать так:
    1. «Надо сделать выписку и оплатить платежки от [Формат(Задача.КлючЗадачи, «ДФ=dd.MM.yyyy») + « г.»]»

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

Расшифровка автозадачи

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

Расшифровка бывает двух типов:

  1. В виде табличного документа – применяется, когда автозадача содержит несколько объектов для обработки;
  2. В виде ключа задачи – когда объект один.

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

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

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

Сам табличный документ будет отображен пользователю в форме автозадачи.

Хранится табличный документ в регистре сведений итРасшифровкиАвтозадач. Я намеренно вынес его из справочника автозадач, чтобы можно было по истечении определенного времени безболезненно удалить расшифровки старых автозадач (регистр чистить значительно проще, чем справочник).

Чтобы пользователь увидел расшифровку, надо в параметрах автозадачи поставить флаг «Показывать расшифровку».

Второй вариант – показывать только ключ задачи. Это тот случай, когда автозадача содержит только один объект для обработки.

Тут все значительно проще – пользователю на форму будет просто выводится ключ задачи. При этом в параметрах автозадачи можно указать заголовок для ключа (чтобы не было написано «Ключ задачи» или «Объект»). Например, в примере с платежкой, когда ключом задачи является сама платежка, можно задать заголовок ключа «Вот эта платежка, которую надо оплатить».

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

Чтобы пользователь видел ключ, надо в параметрах задачи поставить флаг «Показывать ключ».

Остальные реквизиты настройки

  1. Ответственный – можно указать пользователя или роль человека, который отвечает за выполнение задачи. Это вроде как ответственный за процесс, или просто начальник исполнителя задачи. Используется для группировки потом. Можно не указывать;
  2. Единица измерения остатка – строковое поле, которое добавляет к текущему остатку по задаче. Например, «док.» или «руб.»;
  3. Количество знаков после запятой – для форматирования вывода текущего остатка автозадач;
  4. Закрывать по окончании срока – если флаг установлен, то задача будет автоматически закрываться по окончании срока выполнения. При этом в задаче будет стоять признак «Закрыта»;
  5. Закрывается вручную – это для задач, у которых нельзя запросом отследить, что они выполнены. У меня одна такая задача – удаление пользователей из домена/почты при увольнении. Возникновение задачи отследить можно, исполнение – нет. Для ручных задач в форме появляется кнопка «Отметить выполнение», и пользователь должен ее нажимать сам;
  6. Дополнительные исполнители – таблица, где можно указать, кто еще может выполнить эту задачу. Я использовал эту таблицу для RLS, чтобы доп.исполнители видели эту задачу;
  7. Степень влияния исполнителя на результат – доп.аналитика задач, я ее использовал при оценке состояния задач. Есть задачи, где человек сам все сделать может, есть такие, где нужна помощь других людей. Вот этим реквизитом оно и разделяется;
  8. Кто видит задачу – таблица, где можно перечислить зрителей. Я использовал для RLS.

Формирование автозадач

Для формирования автозадач используется регл.задание итФормированиеАвтозадач.

Что оно делает:

  1. Выполняет все схемы компоновки их параметров задач, в которых стоит признак «Активная»;
  2. Формирует таблицу новых актуальных задач;
  3. Формирует таблицу старых актуальных задач (которые не выполнены и не закрытые);
  4. Сравнивает таблицы новых и старых актуальных задач;
  5. Если задача совсем новая – создает, если уже была такая – обновляет. Сравнение идет по полям «КлючЗадачи» и «Исполнитель». Это означает, к примеру, что при изменении исполнителя в параметрах автозадач все ранее поставленные задачи будут перепоставлены новому исполнителю;
  6. Закрывает старые задачи, которые стали не актуальными;
  7. Закрывает задачи, у которых вышел срок и стоит флаг «Закрывать по окончании срока».

Расписание регл.задания я ставлю через консоль. Сначала ставил раз в минуту, потом увеличил до 5 минут, т.к. задач стало много. Сервер у меня слабый, выполнение всех схем занимает 2-3 минуты.

Для отладки на файловых базах я добавил обработку ФормированиеАвтоЗадач – там одна кнопка, которая делает ровно то же, что и регл.задание.

Инструкция по внедрению.

Непосредственно к автозадачам (АЗ) относятся объекты:

  1. Общие модули итАвтозадачи и итАвтоЗадачиПривилегированный;
  2. Регламентное задание итАвтоЗадачи;
  3. Справочники итПроизвольныеФормулы, итРолиПользователей, итАвтоЗадача, итПараметрыАвтоЗадач;
  4. Документ итНазначениеРолейПользователей;
  5. Перечисление итВидыДействийНачатьПрекратить;
  6. Обработка ФормированиеАвтозадач;
  7. Регистры сведений итНазначениеРолейПользователей и итРасшифровкиАвтозадач.

Также есть объекты типовой конфигурации, с которыми взаимодействуют АЗ, я их оставил в конфигурации:

  1. Справочник Пользователи (оставил только сам справочник, убрал формы и модули);
  2. Параметр сеанса ТекущийПользователь;

Для демонстрации работы добавлен документ ДемоЗаказПокупателя, его не нужно переносить в свою конфигурацию.

Соответственно, чтобы внедрить АЗ в конфигурацию, надо взять объекты из первого списка, и посмотреть что скажет сравнение/объединение насчет объектов второго списка.

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

Если таких объектов у вас нет, то надо переделать ссылки с моих объектов на ваши – пишите, если нужна помощь.

Демобаза

Приложил маленькую демонстрационную базу, с той же конфигурацией.

Внутри есть документ Демо заказ покупателя, на него реагируют две автозадачи - одна отслеживает согласование, другая отслеживает отгрузку. Сами автозадачи можно увидеть, зайдя в справочник Автозадачи. Настройки можно увидеть, зайдя в справочник Параметры автозадач. Смоделировать работу автозадач можно, если что-нибудь сделать с документами Демо заказ покупателя - например, согласовать, или поставить признак Отгружено, или создать новый документ. При этом надо не забыть открыть обработку Формирование автозадач и нажать в ней кнопку (регл.задания не включены в демобазе).

Что дальше

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

Примеры из моей практики

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

Расскажу то, что помню.

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

Такие автозадачи очень просты. Нет флага - есть автозадача. Есть флаг - закрылась автозадача.

Исполнителей легко определить по штатной структуре.

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

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

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

Ну и напоминалки попроще - ввести бюджет подразделения, оформить табель, зарезервировать ДС на неделю, составить отчет по состоянию проектов. Такие напоминалки контролируются автоматически, т.к. в системе что-то появляется - документ бюджета, например. А если не появился - хрен с ним, задача закроется по истечению срока (мало ли, не нужен человеку резерв денег).

3. Реальные оцифрованные задачи, в основном по снабжению.Реальными я их называю потому, что от их качества и исполнения зависят важные бизнес-процессы, коим являлось снабжение.

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

"Заказать" - это оформить заказ поставщику. Количества и позиции определялись с помощью универсального механизма планирования.

Как только снабженец все заказал, задача закрывалась. Как только появлялась новая потребность - задача открывалась снова.

Другой реальной задачей было опустошение склада возвратов. На этом складе была продукция от поставщиков, которая не прошла ОТК, и ее надо было вернуть. На возврат - 30 дней. Ответственный за вывоз - тот, кто купил (он известен из приходной накладной). Задача закрывалась, когда продукция исчезала со склада возвратов.

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

4. Задачи на корректность отложенного заполнения справочников/документов.Отложенное - это когда значение сразу зааполнить нельзя, т.к. неизвестно, чем заполнять.

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

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

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

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

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

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

Делаем нашлепку к поступлению товаров и услуг с галочками, типа "такой-то документ предоставлен", и вешаем автозадачу ответственному за поступление. А одновременно - и бухгалтеру, чтобы подпинывал менеджера. Принес бумажку, поставили галку, задача закрылась.

Отдельная тема - контроль авансов зарубежным поставщикам. Финконтроль за такие дела штрафует, когда вы запулили в Китай денег, указали срок аванса, а по его истечении у вас нет накладной или какой-то там бумажки (не помню, как она называется). Чтобы не попасть на штраф, вешалась автозадача, привязанная к авансовому документу.

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

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

Схожая задача - для бухгалтерии, по сбору оригиналов бумажек (накладные, счета-фактуры, ТОРГи, ГТД, инвойсы и т.д.). Был простенький механизм, который сам определял, какие бумажки должны быть предоставлены по конкретному документу в 1С, и бухгалтер ставил там галочки "предоставлен". А чтобы ответственный за документ не забывал бумажки сдать, ему вешалась автозадача.

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

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

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

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

Наименование Файл Версия Размер
Конфигурация Автозадачи

.cf 95,58Kb
01.08.17
66
.cf 95,58Kb 66 Скачать
Демобаза Автозадачи

.dt 107,80Kb
01.08.17
125
.dt 107,80Kb 125 Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. VVi3ard 50 01.08.17 11:57 Сейчас в теме
На мой взгляд интересная разработка, относительно простая для понимания и полезная после внедрения.
TreeDogNight; +1 Ответить
4. 1c-intelligence 10520 02.08.17 09:57 Сейчас в теме
(1) не сомневайтесь, она и правда очень простая и полезная.
Я пользовался ей в реальном внедрении 3 года.
2. genayo 01.08.17 23:09 Сейчас в теме
Сама идея далеко не нова, изюминка в использовании для всего этого СКД.
3. 1c-intelligence 10520 02.08.17 09:56 Сейчас в теме
(2) у вас есть ссылки на материалы, где упомянута такая идея, или описана реализация?
Не в качестве доказательства, просто интересно.

На конференции партнеров мне говорили, что почти полный аналог есть в ДО 2 (если собрать там комплексное решение из нескольких инструментов).

Что точно не ново, так это реализация - несколько человек независимо от меня реализовали подобный механизм, когда узнали идею.
7. genayo 02.08.17 11:10 Сейчас в теме
(3) ДО2 это совсем другая тема, задачи там таки существуют как сущность и закрыться сами могут далеко не всегда.
Относительно похожая подсистема есть в одной WMS родом из начала 2010-х, только там все кодом без СКД, и кроме рассылки почтой иных способов доставки "задач" нет. Ваша подсистема конечно гораздо более продвинутая и удобная.
8. 1c-intelligence 10520 02.08.17 12:04 Сейчас в теме
(7) я видимо неправильно акцентировал внимание в публикации - здесь задачи тоже существуют как сущность. Это справочник.
9. genayo 02.08.17 12:09 Сейчас в теме
(8) Я имел в виду объект платформы Задача.
10. 1c-intelligence 10520 02.08.17 12:11 Сейчас в теме
(9) Понятно. Ну это вроде не так важно.
11. genayo 02.08.17 12:20 Сейчас в теме
(10) Использование объектов задача - это скажем так более классический подход, и накладывает определенные ограничения на функциональность, в отличии от вашего решения.
12. 1c-intelligence 10520 02.08.17 12:25 Сейчас в теме
(11) я за 12 лет несколько раз смотрел на ветку "Задачи" в дереве метаданных, но каждый раз что-то останавливало от их использования. Ну нет там ничего такого интересного, существенно выделяющего их на фоне справочников и документов.

Возможно, это просто мертворожденный тип объектов метаданных. Равно как и железобетонные бизнес-процессы, карты которых рисуются в конфигураторе.
13. genayo 02.08.17 12:33 Сейчас в теме
(12) Вы видимо близко не смотрели ДО2, там все на задачах, бизнес-процессах и справочниках. И бизнес-процессы в конфигураторе там уже давно не рисуются, в последней версии даже сделана попытка обеспечить графический интерфейс создания новых бизнес-процессов в режиме предприятия.
Кстати, сейчас ДО2 внедряется на Почте России, и по результатам внедрения обещают новую прорывную версию :)
14. 1c-intelligence 10520 02.08.17 12:42 Сейчас в теме
(13) ладно, хрен с ними, с задачами этими :)
5. dock 41 02.08.17 10:30 Сейчас в теме
в демо базе поправьте режим совместимости интерфейса :)
что-то вообще какая-то странная демо-база... вроде как все под УФ, а пришлось пошаманить для правильного запуска
6. 1c-intelligence 10520 02.08.17 10:53 Сейчас в теме
(5) там все правильно вроде. Режим совместимости интерфейса такой же, как в УПП, в которой автозадачи разрабатывались изначально.
15. dock 41 02.08.17 15:55 Сейчас в теме
(6) да, всё верно. Просто уже привык к УФ (даже не к УФ, а Такси) и мои необоснованные ожидания были не оправданы....
16. EarlyBird 6 02.08.17 17:16 Сейчас в теме
У меня один вопрос: зачем конфигурацию и демо-базу выкладывать двумя разными архивами, почему не объединить в один?
Они что, весят по гигу?
TreeDogNight; evgefremov; astrius; +3 2 Ответить
17. 1c-intelligence 10520 03.08.17 07:36 Сейчас в теме
(16) даже не знаю, что ответить. Не мелькнула такая мысль в голове.
18. antoklio 04.08.17 17:00 Сейчас в теме
Получается, что на любую конфигурацию можно накатить? например, мне нужно на УТ10.3 и на Розницу 2.1.
19. 1c-intelligence 10520 04.08.17 18:22 Сейчас в теме
(18) на УТ 10.3 и Розницу точно встанет.
А вообще - да, на любую, кроме самописанных - там минут 10 рихтануть придется.
Будут трудности - пишите.
20. 1c-intelligence 10520 07.08.17 07:51 Сейчас в теме
Друзья, кто скачал, удалось попробовать сделать автозадачи?
Трудности есть?
26. leemuar 01.11.18 14:43 Сейчас в теме
(20) скачали, попробовали, используем (УТ, Битфинанс). Были мелкие трудности в освоении из-за того, что подсистема рассчитана на знающего, не сообщает об ошибках зачастую, но статья, комментарии к ней помогли быстро разобраться с этими трудностями.

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

Для непосредственно бизнес-пользователей (менеджеров) функционал удобен: вывели им форму на рабочий стол - и они все проблемы/задачи видят сразу. Не нужно строить 200 отчетов, не нужно искать нужный отчет - все в одном месте. Скорость добавления новых проверок теперь измеряется в минутах, а не часах и днях как при использовании "стандартных" отчетов

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

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

P.S.
Я часто объясняю принцип работы автозадач через игру Тетрис - в Тетрисе ты всегда видишь только свои ошибки, проблемы. Когда собираешь полную линию - она исчезает, оставляя тебя наедине с тем, что было сделано "неправильно"
romankoav; TreeDogNight; +2 Ответить
21. antoklio 14.08.17 17:12 Сейчас в теме
накатил на Розницу.
При добавлении нового элемента в справочник "Параметры автозадач" ошибка преобразования данных ХДТО: НачалоСвойства: {http://v8.1 бла-бла -бла} settingsVariant
Форма: Элемент
Тип:{http://www.w3 бла-бла-бла}

Версия Розницы 2.1.8.16, доработанная.
Платформа 8.3.6.2237

PS. Кажется, ошибка возникает в тонком клиенте. В Толстом нормально....
22. 1c-intelligence 10520 14.08.17 17:25 Сейчас в теме
(21) да, так и должно быть - в тонком клиенте 8.3.6 нет конструктора схемы компоновки.
Схемы рисуйте в толстом, сами задачи в тонком нормально работают.
Igorro82IT; +1 Ответить
27. leemuar 01.11.18 14:50 Сейчас в теме
(22) Эта ошибка появляется при открытии формы параметров автозадачи в тонком клиенте. Часто в тонком клиенте нужно просто посмотреть или отредактировать параметры автозадачи без редактирования СКД, запускать для этого толстый клиент неудобно.

Мы это переработали: блокируем кнопку редактирования СКД в тонком клиенте и выводим надпись с инструкцией о том, что редактировать можно только в толстом клиенте
23. romankoav 06.09.17 12:45 Сейчас в теме
Иван, а можете хотя бы список всех применяемых у вас автозадач выложить?
24. 1c-intelligence 10520 07.09.17 10:30 Сейчас в теме
(23) обновил публикацию, дописал раздел про мою практику использования автозадач.
Задавайте вопросы, буду рад ответить.
Прям точный список дать не могу, т.к. у меня нет доступа к базе.
TreeDogNight; romankoav; aeteros; +3 Ответить
25. 1c-intelligence 10520 11.10.17 12:09 Сейчас в теме
На днях, обсуждая развитие недавно начатого проекта flowcon, вспомнили про автозадачи.
Похоже, найдется им место во флаконе, как одному из ответвлений - управлению задачами, которых еще нет.

Когда задачи есть, как сущности, ими управлять не сложно. Об этом есть миллион программ и сервисов, типа redmine или JIRA.

А когда задач нет, управлять нечем, есть только хаос, некие двоичные данные, блоб, который называется "вот как-то так мы работаем". И никакой сервис тут не поможет, потому что ему нечем оперировать.

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

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

Автозадачи это препятствие - отсутствие задач как сущностей - устраняют, и появляется шанс навести блестящую красоту.

Поэтому автозадачи войдут во флакон - причешем их методически, перепишем на metadata.js, сделаем красивую морду, и пойдем мир завоевывать.
TreeDogNight; +1 Ответить
38. romankoav 29.07.19 12:24 Сейчас в теме
(25) Ссылка на флакон не работает.
39. 1c-intelligence 10520 29.07.19 12:26 Сейчас в теме
(38) да, это нормально. Тот флакон умер.
28. 1c-intelligence 10520 16.11.18 13:10 Сейчас в теме
Скрестили несколько своих решений, помогли администратору БД 1С.

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

Сначала просто вывели ему автозадачи, но скучновато - надо же заходить и смотреть на них. А администратор БД - человек занятой, на месте не сидит.

Потом вспомнили про диаграммы Flowcon (https://infostart.ru/public/907796/). Они же умеют не только графики выводить, но и любые данные в виде таблицы. А автозадачи - это, по сути, просто таблица, содержащая все необходимые данные.

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

А администратор просто заходит иногда в телефон и видит, надо ему бежать к компу, или нет.

И все это - на бесплатных компонентах. Тру-ля-ля. Картинку приложил. Задачи еще и разукрашиваются, в зависимости от просрочки.
Прикрепленные файлы:
TreeDogNight; +1 Ответить
29. 1c-intelligence 10520 29.01.19 12:35 Сейчас в теме
Так, все дружно ломимся читать и жарко плюсовать статью о практике применения автозадач.
TreeDogNight; +1 Ответить
30. leemuar 18.02.19 15:21 Сейчас в теме
Если у вас етсь интеграции через внешние SQL базы данных и ваша платформа умеет работать с внешними источниками данных - автозадачи отлично решают проблему, например, сверки данных внешнего источника с данными 1С: например, поиск незагруженных данных (отсутствующих в 1С), ошибки загрузку и т.п.
TreeDogNight; +1 Ответить
31. rush52 15.04.19 11:23 Сейчас в теме
Иван, пробую настраивать автозадачи.
Все работает, но почему-то при каждом выполнении регламентного задания создается новая задача, хотя ключ и исполнитель не меняются (ключ - истина, исполнитель задан в настройке). Старая задача при этом помечается как выполненная.

Так и должно быть?
32. 1c-intelligence 10520 15.04.19 13:35 Сейчас в теме
(31) вероятно, у вас взведен флаг "Закрывать по окончании срока".
33. rush52 15.04.19 15:01 Сейчас в теме
34. 1c-intelligence 10520 15.04.19 15:03 Сейчас в теме
(33) можете как-то показать элемент справочника "Параметры автозадач"? Скриншоты закладок или выгрузить, если на типовой работать будет.
35. rush52 15.04.19 15:18 Сейчас в теме
На типовой не будет, есть свой документ.
Суть - проверка, чтобы у непроведенного заказа покупателя не было введенной на основании заявки на сборку.

Запрос:
ВЫБРАТЬ
ИСТИНА КАК КлючЗадачи,
ЗаказПокупателя.Ссылка КАК ЗаказПокупателя,
ЗаявкиНаСборку.Ссылка КАК ЗаявкаНаСборку,
ПеремещениеТоваров.Ссылка КАК Перемещение,
РеализацияТоваровУслуг.Ссылка КАК Реализация,
1 КАК ТекущийОстаток,
ЗаказПокупателя.Дата КАК ДатаЗаказа
ИЗ
Документ.стЗаявкаНаСборку КАК ЗаявкиНаСборку
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПеремещениеТоваров КАК ПеремещениеТоваров
ПО (ПеремещениеТоваров.стЗаявкаНаСборку = ЗаявкиНаСборку.Ссылка)
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя КАК ЗаказПокупателя
ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
ПО (РеализацияТоваровУслуг.Сделка = ЗаказПокупателя.Ссылка)
ПО ЗаявкиНаСборку.ДокументОснование = ЗаказПокупателя.Ссылка
ГДЕ
ЗаявкиНаСборку.Проведен
И НЕ ЗаказПокупателя.Проведен
И ЗаказПокупателя.Дата > &Дата
Прикрепленные файлы:
36. 1c-intelligence 10520 15.04.19 18:35 Сейчас в теме
(35) черт его знает, странно как-то...
Попробуйте ключ задачи числовым сделать, единичку например. Без отладки и только гадать могу.
TreeDogNight; +1 Ответить
37. rush52 16.04.19 10:16 Сейчас в теме
(36) Замена Истины на единичку помогло, спасибо)
Оставьте свое сообщение

См. также

Конфигурация Flowcon Промо

Обработка документов Управление бизнес-процессами (BPM) Управление проектом v8 1cv8.cf Платные (руб)

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

9000 руб.

08.01.2019    24220    23    63    

Парсинг Excel-файла

Загрузка и выгрузка в Excel Универсальные функции v8 Розница УНФ ERP2 БП3.0 УТ11 КА2 ЗУП3.x Абонемент ($m)

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

1 стартмани

15.09.2020    1329    4    LamerSoft    0    

Таблица значений в табличный документ (СКД)

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

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

1 стартмани

12.08.2020    3642    3    markivkin    2    

Нормализация адреса с помощью API Почты России

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

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

2 стартмани

11.08.2020    1991    5    Cerberdm    4    

[Расширение] Контроль отрицательных остатков по регистру бухгалтерии при проведении Промо

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

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

1 стартмани

17.08.2015    46571    156    ekaruk    32    

Выполнение кода и получение данных запросов через HTTP сервис

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

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

2 стартмани

19.07.2020    2103    3    vladnet    7    

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

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

Решаем следующую задачу. Например, в справочнике «Номенклатура» — 10 дополнительных реквизитов: "Материал", "Наименование на английском", "Наименование на французском" и т.д., и 20 дополнительных реквизитов в справочнике «Характеристики номенклатуры». Необходимо вывести все характеристики по ТЧ "Товары", так называемую «Спецификацию» по «Заказу клиента» или «Заказу поставщика».

2 стартмани

05.05.2020    1668    1    papche    7    

Универсальное хранилище настроек

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

Универсальная константа для хранения любых настроек, например интеграции с API. Легко вносить новые настройки без "ломания" выполнения кода в модулях.

1 стартмани

10.03.2020    5201    1    v.krivenko    17    

Отправка электронной почты с помощью локального почтового клиента из 1С, развернутой под удаленным рабочим столом Промо

Печатные формы документов Универсальные функции Email v8 КА1 БП2.0 УТ10 УПП1 Абонемент ($m)

Решение для интерактивной (нажал-отредактировал) отправки электронных писем и печатных форм через почтовый клиент (Thunderbird, Outlook) находящийся на локальном компьютере, из конфигурации 1С, развернутой под удаленным рабочим столом (RDP, remote-app). Подходит также для локального развертывания 1С. Представлен пример быстрой интеграции с конфигурациями "Управление торговлей 10.3", "Управление производственным предприятием 1.3", "Комплексная автоматизация 1.1", "Бухгалтерия предприятия 2.0".

1 стартмани

21.09.2018    23680    16    stvorl    0    

Шаблоны внешних обработок (БСП, управляемые формы)

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

Набор из шаблонов для создания внешних обработок вида: Внешняя печатная форма, Отчет на СКД, Схема СКД для сегмента, Внешняя обработка (Самостоятельная, Заполнение объектов, Создание связанных объектов). Предварительно наполнены базовым функционалом и некоторыми механизмами для отладки.

1 стартмани

01.03.2020    3166    24    riposte    2    

Выгрузка любого запроса или таблицы значений в текст JSON

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

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

1 стартмани

07.02.2020    8113    27    user796054    19    

Отмена выполнения задачи исполнителя и вложенных бизнес-процессов

Управление бизнес-процессами (BPM) v8::Бизнес-процессы УХ Россия УУ Абонемент ($m)

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

1 стартмани

15.01.2020    4136    6    dadel    9    

Лучшие методы сравнения таблиц значений Промо

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

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

1 стартмани

02.02.2015    107345    37    ildarovich    59    

Подпись PDF в новой версии 8.3.16

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

Проверяем новую возможность платформы 1С:Предприятие 8 по формированию подписей в PDF.

1 стартмани

23.12.2019    4816    8    kolya_tlt    7    

Канбан-доска для 1С:Предприятие 8.3

Управление бизнес-процессами (BPM) Agile (XP, SCRUM, Канбан) v8 v8::УФ 1cv8.cf ИТ-компания 1С:Франчайзи, автоматизация бизнеса УУ Абонемент ($m)

Scrum/agile board для 1С. Приложение для работы по методологиям scrum и agile - доска канбан (kanban board, scrum board).

8 стартмани

06.11.2019    21952    115    pfihr    56    

Простой способ загрузить файл Excel на тонком клиенте.

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

Самый простой способ загрузить файл Excel на тонком клиенте - это скопировать лист Excel в "табличный документ" на форме обработки и обрабатывать уже поля "табличного документа".

1 стартмани

30.10.2019    7613    2    John_d    16    

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

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

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

3 стартмани

04.02.2016    47275    173    TuneSoft    30    

Версионирование объеков УТ 10 с возможностью перехода к сохраненной версии

Журнал регистрации Универсальные функции v8 УТ10 Абонемент ($m)

Версионирование объектов УТ 10.3 с возможностью перехода к сохраненной версии. Взята стандартная система версионирования УПП, добавлена возможность восстановления ранее сохраненной версии.

1 стартмани

28.10.2019    6916    27    art.prm    8    

Картинка вместо кнопки без html

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

Вариант замены стандартных кнопок на форме для тех, кого не устраивают кнопки 1С и нет особых возможностей делать все с использованием html. Тестировал работу на платформах 8.3.10, 8.3.13, 8.3.14

1 стартмани

23.10.2019    5418    4    zatoichi    3    

Выгрузка данных из дерева значений 1С в формат JSON иерархический список (Сериализация ДереваЗначений в JSON)

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

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

1 стартмани

22.10.2019    5738    6    mwoleg    7    

Методы для группировки данных по полю,полям в Таблице Значений на примере универсального метода списания по партиям, а также отбора строк в ТЗ по произвольному условию. Для 8.x и 7.7 Промо

Универсальные функции Практика программирования v7.7 v8 1cv8.cf 1cv7.md Абонемент ($m)

Я очень часто использую группировку данных по полю и полям, как в восьмерке, так и в семерке. Это аналог запроса Итоги, но там строится дерево, а в большинстве случаев нужны "плоские данные". Да и делать запрос в большинстве случаев более накладный процесс, чем работа с ТЗ. Все достоинства такого подхода приведены на примере метода универсального списания по париям, а так же отбора строк в ТЗ по произвольному условию. Для 7.7 еще отчеты сравнения двух ТЗ. Работая с различными базами для упрощения сравнения номенклатуры, или как аналог джойнов(join), сделал сравнение двух таблиц значений по нескольким полям. Пока группировки полей должны быть уникальны. Часто приходится искать дубли, для универсального поиска есть ДублиВТзПоПолю и пример в Тест.ert.

1 стартмани

25.06.2015    27632    3    Serginio    1    

Универсальная подсистема ДМ

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

ДМ — дополнительные модули Это не альтернатива или дополнение БСП. Данная подсистема призвана быстро получить множество нужных функций в любой конфигурации. Для использования подсистемы изменения в конфигурацию вносить не надо. Обычные формы поддерживаются частично, т.к. с каждым годом таких конфигураций попадается всё реже. Разработка ведётся с 2009 года, но именно этот релиз был подготовлен на платформе 8.3.16.1063 и применяется на 8.3.15 с включенной совместимостью 8.2

1 стартмани

22.10.2019    4162    4    strange2007    10    

Вывод QR-кода типовыми средствами.

Универсальные печатные формы Сканер штрих-кода Универсальные функции v8 КА1 УТ10 УПП1 Абонемент ($m)

Вывод QR-кода типовыми средствами. На данный момент очень часто нужно вывести в печатную форму QR-код. Показываю как на примере типового кода из УТ11 это сделать. Можно использовать в любых конфигурациях с обычными формами.

1 стартмани

21.10.2019    16239    28    Емельянов Алексей    47    

Генерация QR кода для любых конфигураций 1С (обычные и управляемые формы)

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

Для генерации используется компонента типовой конфигурации УТ11, встроенная в общий макет "КомпонентаПечатиQRКода". Ниже приведены процедуры, чтобы сделать обработку самостоятельно (только для УФ).

1 стартмани

11.10.2019    10086    46    dm1try    0    

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

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

Функция, которая сама подставляет в текст запроса "УНИЧТОЖИТЬ" в местах последнего использования ВТ.

1 стартмани

14.11.2015    19926    0    SeiOkami    3    

Универсальное удаление движений регистров накопления по всем непроведенным документам

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

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

1 стартмани

27.09.2019    8737    12    John_d    16    

1С REST API клиент. Обмен из 1С с сайтом/магазином WordPress/WooCommerce с помощью REST API

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

Обмен 1С с сайтом на WordPress и магазином Woocommerce. Внешняя обработка сделана как REST API клиент сайта WordPress, позволяет разработчику публиковать/изменять/удалять/просматривать посты/страницы/товары/фотографии (в связке с товаром/страницей) на сайте/магазине WordPress/Woocommerce. Обработки сделаны с использованием обычных форм, демо-формы использования в комплекте.

10 стартмани

29.07.2019    7545    11    osivv    14    

Библиотека математических функций 1.1 Промо

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

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

1 стартмани

18.12.2014    25551    11    alex271    67    

Экспортные процедуры и функции общих модулей БП 3.0, ЗУП 3.1, УТ 11

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

Таблицы экспортных процедур и функций общих модулей конфигураций БП КОРП 3.0, ЗУП КОРП 3.1, УТ 11 + обработка по формированию такой таблицы из любой конфигурации.

14.06.2019    9221    22    SanchoD    29    

Создание и запуск скрипта для ввода текста на базе AutoHotkey

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

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

1 стартмани

28.01.2019    5703    1    Wezoowy    1    

Полезные функции БСП Промо

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

Список часто востребованных, по моему мнению, функций из состава Библиотеки стандартных подсистем 2.2.

1 стартмани

01.02.2015    63247    25    spec8s    31    

Подсистема Бизнес-процессы. Создание бизнес-процессов в пользовательском режиме (управляемые формы)

Управление бизнес-процессами (BPM) v8::УФ v8::Бизнес-процессы 1cv8.cf УУ Абонемент ($m)

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

1 стартмани

02.01.2019    8786    70    lesv    16    

Управление задачами в 1С - готовая подсистема с открытым кодом и широким базовым функционалом. Версия 1.0.6

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

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

2 стартмани

17.12.2018    19528    99    for_sale    38    

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

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

При использовании функции создания схемы компоновки данных согласно https://infostart.ru/public/575659/ было недостаточно возможности группировки колонок и вывода заголовка документа. Эти возможности и были добавлены в функцию.

1 стартмани

10.10.2018    5289    1    KLex    0    

Регулярные выражения без COM объектов и внешних компонент Промо

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

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

1 стартмани

09.02.2015    24332    8    boogie    38    

Универсальная функция - Сформировать результат СКД

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

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

1 стартмани

19.05.2018    8254    7    pavley2002    1    

Система по управлению задачами в 1С: УТ 11

Обработка документов Обработка справочников Управление бизнес-процессами (BPM) v8 v8::Бизнес-процессы УТ11 УУ Абонемент ($m)

В 1С: УТ 11 есть очень удобный механизм - задания. Можно создавать задание любому пользователю на основании справочника или документа. Например: "Исправить отчет о розничных продажах". Но можно прикреплять только один объект к задаче. А если необходимо обработать целый список документов? Данное расширение конфигурации позволяет прикреплять к задаче сразу несколько объектов. Благодаря этому механизму можно даже организовать передачу вопросов и обращений от пользователей к ИТ-службе.

2 стартмани

12.05.2018    14048    23    Kutuzov    3    

Подписка на события, преобразование объекта в JSONAPI, отправка в RabbitMQ

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

Обработка содержит функции: - сериализация объекта 1с в JSONAPI - отправка в RabbitMQ по HTTP

1 стартмани

26.02.2018    11262    21    yaxinr    3    

daСклонение: склонение ФИО, должностей, чисел, прилагательных, существительных на языке 1С + ТестЦентр Промо

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

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

1 стартмани

14.02.2015    103431    98    daMaster    90    

Свертка таблицы значений. С блэкджеком и всем остальным

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

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

1 стартмани

22.01.2018    10857    2    dusha0020    10    

Определение MIME-типа файла

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

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

1 стартмани

12.01.2018    10604    8    o.nikolaev    4    

Запуск приложений на клиенте из RDP-сессии

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

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

1 стартмани

30.10.2017    11747    6    GusevNA    4    

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

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

Небольшая функция, возвращающая таблицу значений со всеми датами за период. Интервал дат можно задать любой: Секунда, Минута, Час, День, Неделя, Месяц, Квартал, Полугодие, Год.

1 стартмани

14.06.2014    38235    17    mtv:)    6    

Простые подсистемы: Библиотека подсистем

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

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

1 стартмани

26.10.2017    11213    9    pbabincev    1    

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

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

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

1 стартмани

28.05.2017    25288    179    Bassgood    10    

Универсальная процедура по загрузке файла из интернета

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

Передаем в процедуру всего два параметра: откуда взять и куда положить. Остальное она сделает сама

1 стартмани

17.05.2017    16418    12    json    3    

Сравнение строк с выводом различий Промо

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

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

1 стартмани

15.05.2014    22219    21    bahbah    16    

Правильный вопрос

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

Заметили, что пользователи бездумно кликают по первой попавшейся кнопке, не удосужившись прочитать текст предупреждения или вопроса? Данная функция призвана решить данную проблему!

1 стартмани

15.05.2017    11517    0    SvoyakMartin    15    

Web сервис 1С

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

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

1 стартмани

21.03.2017    30790    93    hiduk    34