Автозадачи

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

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

162
Универсальный механизм управления потоками задач в информационной базе 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% случаев об этом будет молчать до тех пор, пока не спросят. А чтобы спросили - есть автозадача для снабженца. Подошел или прошел срок - звони поставщику, выясняй что не так, договаривайся о новом сроке. Автозадача закроется в двух случаях - если срок станет адекватным или если заказ приедет к нам. Чтобы не хулиганили - изменение сроков через начальника снабжения.

162

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

Наименование Файл Версия Размер
Конфигурация Автозадачи
.cf 95,58Kb
01.08.17
63
.cf 95,58Kb 63 Скачать
Демобаза Автозадачи
.dt 107,80Kb
01.08.17
115
.dt 107,80Kb 115 Скачать

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

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

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

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

Возможно, это просто мертворожденный тип объектов метаданных. Равно как и железобетонные бизнес-процессы, карты которых рисуются в конфигураторе.
13. genayo 02.08.17 12:33 Сейчас в теме
(12) Вы видимо близко не смотрели ДО2, там все на задачах, бизнес-процессах и справочниках. И бизнес-процессы в конфигураторе там уже давно не рисуются, в последней версии даже сделана попытка обеспечить графический интерфейс создания новых бизнес-процессов в режиме предприятия.
Кстати, сейчас ДО2 внедряется на Почте России, и по результатам внедрения обещают новую прорывную версию :)
14. 1c-intelligence 8627 02.08.17 12:42 Сейчас в теме
(13) ладно, хрен с ними, с задачами этими :)
5. dock 35 02.08.17 10:30 Сейчас в теме
в демо базе поправьте режим совместимости интерфейса :)
что-то вообще какая-то странная демо-база... вроде как все под УФ, а пришлось пошаманить для правильного запуска
6. 1c-intelligence 8627 02.08.17 10:53 Сейчас в теме
(5) там все правильно вроде. Режим совместимости интерфейса такой же, как в УПП, в которой автозадачи разрабатывались изначально.
15. dock 35 02.08.17 15:55 Сейчас в теме
(6) да, всё верно. Просто уже привык к УФ (даже не к УФ, а Такси) и мои необоснованные ожидания были не оправданы....
16. EarlyBird 6 02.08.17 17:16 Сейчас в теме
У меня один вопрос: зачем конфигурацию и демо-базу выкладывать двумя разными архивами, почему не объединить в один?
Они что, весят по гигу?
TreeDogNight; evgefremov; astrius; +3 2 Ответить
17. 1c-intelligence 8627 03.08.17 07:36 Сейчас в теме
(16) даже не знаю, что ответить. Не мелькнула такая мысль в голове.
18. antoklio 04.08.17 17:00 Сейчас в теме
Получается, что на любую конфигурацию можно накатить? например, мне нужно на УТ10.3 и на Розницу 2.1.
19. 1c-intelligence 8627 04.08.17 18:22 Сейчас в теме
(18) на УТ 10.3 и Розницу точно встанет.
А вообще - да, на любую, кроме самописанных - там минут 10 рихтануть придется.
Будут трудности - пишите.
20. 1c-intelligence 8627 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 8627 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 8627 07.09.17 10:30 Сейчас в теме
(23) обновил публикацию, дописал раздел про мою практику использования автозадач.
Задавайте вопросы, буду рад ответить.
Прям точный список дать не могу, т.к. у меня нет доступа к базе.
TreeDogNight; romankoav; aeteros; +3 Ответить
25. 1c-intelligence 8627 11.10.17 12:09 Сейчас в теме
На днях, обсуждая развитие недавно начатого проекта flowcon, вспомнили про автозадачи.
Похоже, найдется им место во флаконе, как одному из ответвлений - управлению задачами, которых еще нет.

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

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

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

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

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

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

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

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

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

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

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

И все это - на бесплатных компонентах. Тру-ля-ля. Картинку приложил. Задачи еще и разукрашиваются, в зависимости от просрочки.
Прикрепленные файлы:
TreeDogNight; +1 Ответить
29. 1c-intelligence 8627 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 8627 15.04.19 13:35 Сейчас в теме
(31) вероятно, у вас взведен флаг "Закрывать по окончании срока".
33. rush52 15.04.19 15:01 Сейчас в теме
34. 1c-intelligence 8627 15.04.19 15:03 Сейчас в теме
(33) можете как-то показать элемент справочника "Параметры автозадач"? Скриншоты закладок или выгрузить, если на типовой работать будет.
35. rush52 15.04.19 15:18 Сейчас в теме
На типовой не будет, есть свой документ.
Суть - проверка, чтобы у непроведенного заказа покупателя не было введенной на основании заявки на сборку.

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

См. также

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

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

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

1 стартмани

27.09.2019    1180    2    John_d    14       

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

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

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

10 стартмани

29.07.2019    1996    4    osivv    14       

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

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

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

14.06.2019    3475    329    SanchoD    29       

Работа с графической схемой в объектной модели DOM 41

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

Пример кода для работы с графической схемой в объектной модели DOM, платформа 8.3.12.

1 стартмани

04.06.2019    3527    4    botokash    19       

Программное формирование картинки в 1С:Предприятие 8.3.9 (ПотокВПамяти / ЗаписьДанных) 50

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

В статье представлен код программного формирования картинки (двоичные данные) без всяких внешних компонент, без формирования строки Base64, используя лишь встроенные механизмы 1С предприятие 8.3.9 (объекты ПотокВПамяти и ЗаписьДанных). Сам по себе код формирования картинки не несёт ничего нового. Всё описано в википедии. Захотелось попробовать новые методы, но никак не доходитили руки. В приложении обработка практически с этим же кодом.

1 стартмани

16.05.2019    4293    5    yku    7       

Коннектор: удобный HTTP-клиент для 1С:Предприятие 8 512

Инструменты и обработки Программист Конфигурация (md, cf) v8 1cv8.cf Абонемент ($m) Практика программирования Внешние источники данных WEB Универсальные функции Инструментарий разработчика Универсальные обработки

Коннектор - библиотека для работы с HTTP запросами. Библиотека берет на себя всю рутину работы с HTTP запросами. Буквально в одну строку можно получать данные, отправлять, не заботясь о необходимости конструирования URL, кодирования данных и т.п.

1 стартмани

31.01.2019    25237    243    bonv    108       

Альтернатива внешним печатным формам. ЗУП 3.1 23

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

Как в ЗУП 3.1.8 отказаться от внешних печатных форм и расширением увеличить количество полей, доступных при редактировании макетов, для изменения печатных форм Т1, Т5, Т8 и аналогичные пользователями.

1 стартмани

30.01.2019    5920    10    Mogilnikova    2       

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

Инструменты и обработки Программист Пользователь Конфигурация (md, cf) v8::УФ v8::Бизнес-процессы 1cv8.cf УУ Windows Абонемент ($m) Управление бизнес-процессами (BPM)

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

1 стартмани

02.01.2019    3697    23    lesv    14       

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

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

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

2 стартмани

17.12.2018    9926    73    for_sale    36       

Использование подсистемы БСП "Заполнение объектов" 134

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

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

1 стартмани

23.11.2018    13016    8    ids79    22       

Применение цифровой подписи при организации учёта ТМЦ и ГСМ 10

Статья Программист Архив с данными v8::Mobile v8::Бизнес-процессы 1cv8.cf Абонемент ($m) Защита и шифрование Управление бизнес-процессами (BPM) Мобильная разработка

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

1 стартмани

25.10.2018    4019    2    ikekoval    2       

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

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8::СКД 1cv8.cf Абонемент ($m) Универсальные функции

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

1 стартмани

10.10.2018    3610    1    KLex    0       

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

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

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

1 стартмани

21.09.2018    11149    10    stvorl    0       

"Простые регламенты" - помощник создания правильных регламентов ваших бизнес-процессов !БЕСПЛАТНО! 29

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

В статье - презентация нового БЕСПЛАТНОГО продукта для регламентации ваших бизнес-процессов. С нашей методикой ваши регламенты будут работать!

1 стартмани

06.09.2018    8992    21    siddy    0       

Пропорциональное распределение в запросе 35

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

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

1 стартмани

28.06.2018    8018    1    invertex    7       

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

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

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

1 стартмани

19.05.2018    6216    7    pavley2002    1       

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

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

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

2 стартмани

12.05.2018    8820    19    Kutuzov    1       

Проверка таблицы на дублирование строк (ТаблицаЗначений, ТабличнаяЧасть) и получение массива таких строк 9

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

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

1 стартмани

05.02.2018    7785    6    uri1978    27       

Программное создание динамического списка на управляемой форме. (Динамическое создание динамического списка). Готовая процедура + обработка - демонстрационный пример 269

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

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

1 стартмани

19.01.2018    37886    55    rpgshnik    26       

Расширение возможностей печати: Вывод произвольного нижнего и верхнего колонтитула 8

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

Расширяем функционал вывода нижнего / верхнего колонтитула. Стандартно 1С имеет достаточно ограничений по выводу и наполнению колонтитулов содержимым, взять хотя бы такие, как вывод только текста и отсутствие ограничения на номер конечной страницы. А при разработке кода сталкиваешься с тем, что свой блок с нижним колонтитулом нужно прижимать к низу страницы. Казалось бы быстро решаемый вопрос, но и в нем есть нюансы. Сейчас я расскажу о том, как решалась эта задача. UPD 15.02.2018. Добавлен вывод верхнего колонтитула; Вывод колонтитулов на первой и последней странице управляется параметрами; Научился считать страницы: Добавлено заполнение переменных аналогичных стандартным из колонтитулов; Задаются форматы даты и времени. Ограничения прежние: 1. Повторно сформировать табличный документ после смены параметров страницы интерактивно.; 2. Передавать данные для более плотной печати как можно более мелко нарезанными кусками.

1 стартмани

29.12.2017    21485    21    agent00mouse    0       

Бизнес-процессы: Процесс заключения договора с клиентом 10

Статья Программист Руководитель проекта Архив с данными v8 1cv8.cf УУ Управление взаимоотношениями с клиентами (СRM) Абонемент ($m) Управление бизнес-процессами (BPM)

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

1 стартмани

30.11.2017    14468    13    siddy    0       

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

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

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

1 стартмани

30.10.2017    8405    5    GusevNA    4       

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

Инструменты и обработки Системный администратор Программист Конфигурация (md, cf) v8 Абонемент ($m) Инструментарий разработчика Универсальные обработки Универсальные функции

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

1 стартмани

26.10.2017    7886    7    pbabincev    1       

Размеры управляемой формы 101

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

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

1 стартмани

08.10.2017    17690    51    json    8       

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

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

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

1 стартмани

28.05.2017    17452    144    Bassgood    10       

Многопоточность. Универсальный «Менеджер потоков» (фреймворк) с отслеживанием зависимости объектов 175

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

Восстановление партий, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

26.05.2017    38415    166    DarkAn    86       

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

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

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

1 стартмани

17.05.2017    11708    9    json    2       

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

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

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

1 стартмани

15.05.2017    9126    SvoyakMartin    15       

Web сервис 1С 24

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

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

1 стартмани

21.03.2017    22189    74    hiduk    33       

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

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

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

1 стартмани

12.01.2017    26082    42    dbachinsky    30       

Набор математических функций 19

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

Небольшой набор математических функций для работы с массивами чисел.

1 стартмани

12.01.2017    10982    2    SvoyakMartin    17       

Отладка/доработка модуля менеджера "на лету" 89

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

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

1 стартмани

23.10.2016    22767    19    json    22       

Автоматическое разбиение строки на подстроки по ширине колонки / ячейки или по количеству символов 12

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

Длинный адрес контрагента или нестандартная фамилия не входит в одну строку, а РазмещениеТекста = Переносить по какой-либо причине не устраивает? Что можно сделать? Вот пара полезных функций для решения данного вопроса с примерами применения.

1 стартмани

21.10.2016    11781    2    SvoyakMartin    3       

Сверка таблиц при разработке через тестирование 14

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

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

1 стартмани

09.10.2016    12139    11    json    1       

Вывод Таблицы Значений или Дерева Значений на экран управляемой формы без объявления колонок в реквизитах формы 49

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

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

1 стартмани

13.09.2016    28283    47    pavley2002    11       

Алгоритм по переносу вложенных запросов в пакеты 15

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

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

1 стартмани

26.08.2016    7947    19    ostapchenko.alexandr    20       

Согласование (подсистема). Для любого справочника и документа в 1С. Встраивается в любые конфигурации 128

Инструменты и обработки Пользователь Руководитель проекта Архив с данными v8 1cv8.cf БП3.0 КА2 УУ Документооборот и делопроизводство Абонемент ($m) Управление бизнес-процессами (BPM) Обработка документов Обработка справочников

Подсистема для согласования в 1С. Для настройки нового согласования не требуется программировать, все делается в режиме исполнения. Открытый код. Бизнес-процессы. Документооборот. Проект выложен на GitHub.

1 стартмани

25.08.2016    36915    218    BlizD    179       

7 правил RFC 4180 22

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

Что такое CSV? Описание правил формата RFC4180 и пара функций чтения/записи CSV текста в ТЗ согласно этим рекомендациям (с экранированием и _поддержкой многострочных полей_).

1 стартмани

22.08.2016    12730    15    kuzyara    2       

Консоль и функция рекурсивного запроса 9

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

Консоль предназначена для отладки и просмотра результатов выполнения РЕКУРСИВНОГО ЗАПРОСА в режиме 1С:Предприятие. В консоли реализована универсальная функция для выполнения рекурсивных запросов.

1 стартмани

10.02.2016    10616    5    sereginseregin    1       

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

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

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

3 стартмани

04.02.2016    35672    153    tunesoft    24       

Динамический отбор динамического списка. Управляемая форма 1С: 8.3 11

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

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

1 стартмани

25.01.2016    16907    23    1prog@bk.ru    3       

Торговля глазами ветврача. Оформление ветеринарно-сопроводительных документов в системе Меркурий (Часть 3) 10

Статья Бизнес-аналитик Бухгалтер Пользователь Архив с данными v8 Сельское хозяйство и рыболовство Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Пищевая промышленность Беларусь Россия Казахстан УУ Windows Учет ТМЦ Абонемент ($m) Управление бизнес-процессами (BPM) Управленческий учет (прочее)

Для торговой компании объясняется, как выполнять типовые операции в системе Меркурий. Зачем нужен Меркурий? C его помощью можно оформлять ветсвидетельства бесплатно. Уточните у руководства, сколько денег платите ветеринарам. Например, сеть Перекресток платит 400 млн. руб. в год.

5 стартмани

22.01.2016    48294    10    axxell    5       

Производство глазами ветврача. Оформление ветеринарно-сопроводительных документов в системе Меркурий (Часть 2) 22

Статья Программист Бухгалтер Архив с данными v7.7 v8 1С7:Комплекс УПП1 1С7:ПУБ Сельское хозяйство и рыболовство Пищевая промышленность Беларусь Россия Казахстан УУ Производство готовой продукции (работ, услуг) Учет ТМЦ Абонемент ($m) Управление бизнес-процессами (BPM) Управленческий учет (прочее) Бухгалтерский учет

Для предприятия по производству пищевых продуктов объясняется, как выполнять типовые операции в системе Меркурий. Зачем нужен Меркурий? C его помощью можно оформлять ветсвидетельства бесплатно. Уточните у руководства, сколько денег платите ветеринарам. Например, сеть Перекресток платит 400 млн. руб. в год.

5 стартмани

19.01.2016    71228    10    axxell    9       

Расчет интегралов 8

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

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

1 стартмани

27.11.2015    8312    sojuznik    12       

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

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

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

1 стартмани

14.11.2015    15084    SeiOkami    3