Настраиваемые действия при изменении доп. реквизита в открытой форме и условия проверки при записи (2.1 и 3.0))

05.10.24

Задачи пользователя - Адаптация типовых решений

В расширении реализованы 2 механизма для 1С Документооборот 2.1 и 3.0 (под каждую версию документооборота свое расширение): 1. Действия при изменении дополнительного реквизита на форме документов (внутренних, входящих и исходящих для 2.1 и для документов предприятия 3.0) 2. Условия проверки при записи документов (внутренних, входящих и исходящих и для документов предприятия 3.0)

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Настраиваемые действия при изменении доп. реквизита в открытой форме и условия проверки при записи (1С Документооборот 3.0):
.cfe 277,92Kb
4
4 Скачать (10 SM) Купить за 4 550 руб.
Настраиваемые действия при изменении дополнительного реквизита в открытой форме (1С Документооборот 2.1):
.cfe 395,12Kb
1
1 Скачать (10 SM) Купить за 4 550 руб.

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

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

В статье есть видео, на которых постарался детально рассказать и показать на что направлено разработанное расширение. Видео записаны на примере разбора задач в 1С Документооборот 2.1.  Для 1С Документооборот 3.0 действия аналогичны. 

 

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

1. Действие при изменении дополнительного реквизита на форме (внутреннего, входящего и исходящего документа)

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

В форме внутреннего документа - Приказ о направлении в командировку, при изменении дополнительного реквизита «Дата начала» необходимо заполнить следующие данные:

  1. Значение доп.реквизита «Дата окончания» рассчитать + 1 день, от даты начала
  2. Значение доп.реквизита «Длительность» рассчитать разницу между «Дата начала» и «Дата окончания» в часах
  3. Значение доп.реквизита «Сотрудник», установить текущего пользователя
  4. Значение в типовой реквизит «Содержание» любой текст.

  На видео ниже, подробно рассказываю и показываю, как данная задача реализовывается с помощью расширения:

 

2. Условие проверки при записи документа (внутреннего, входящего и исходящего документа)

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

При интерактивной записи внутреннего документа - Приказ о направлении в командировку, необходимо выполнить следующие проверки:

  1. Содержание документа должно быть  заполнено
  2. Дата указанная в дополнительном реквизита "Дата начала" должна быть больше текущей даты.

На видео ниже, подробно рассказываю и показываю, как данная задача реализовывается с помощью расширения:

 

Описание и характеристики тестирования:

  1. Вкладка «Встроенный язык» — это поле HTML представление. Редактировать текст в нем нельзя. При написании кода на вкладке "Тест", скрипт автоматически раскрашивается и помещается на вкладку "Встроенный язык". Сделано для удобства просмотра написанного скрипта. Весь код пишется на вкладке «Текст».
  2. Изменения в форм ах справочников:
    • R03;R03;R03;R03;R03;R03;R03;Документооборот 2.1
      1. Виды внутренних
      2. Виды входящих
      3. Виды исходящих
    • Документооборот 3.0
      1. Виды документов

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

  1. Тестирование проводилось на платформе (1С:Предприятие 8.3 (8.3.23.1782)), конфигурации - Документооборот 8 КОРП, редакция 2.1 (2.1.34.1) и Документооборот КОРП, редакция 3.0 (3.0.14.31)

 

Текстовое описание реализации задачи 1:

Необходимо в справочнике «Действия при изменении дополнительного реквизита на форме» создать новый объект, указать наименование, в моем случае название «При изменении – Дата начала».

 

 

Далее в поле «Свойство» нужно выбрать дополнительный реквизит, при изменении которого, будет выполняться указанный в поле «Алгоритм» скрипт. Реквизит нужно выбирать тот, который есть в документе - Приказ о направлении в командировку.

При выборе в поле свойство доп.реквизита, в поле «Алгоритм» вкладки «Текст» автоматически добавиться скрипт, с помощью которого выполняется чтение выбранного значения. (Название переменной сформируется автоматически на основании имени доп.реквизита).

 

 

Для удобства написания скрипта, в части обращения к доп. реквизитам нужного объекта, в поле «Список видов объектов» можно выбрать требуемый вид документа. В нашем случае это вид документа – Приказ о направлении в командировку.

 

 

Для реализации пункта

1) Значение доп.реквизита «Дата окончания» рассчитать + 1 день, от даты начала

выполняем следующие действия:

В сформированном списке доп.реквизитов (который сформируется после выбора в поле «Список видов объектов»), ищем реквизит «Дата окончания» и нажимаем по нему два раза. Откроется окно выбора варианта действия:

 

 

  1. Вариант Скрипт для чтения – добавит скрипт, который будет читать значение доп.реквизита на форме
  2. Вариант Скрипт для заполнения – добавит скрипт, который будет заполнять нужным значение доп.реквизит на форме.

В нашем случае, нам нужно доп.реквизит «Дата окончания» заполнить, поэтому выбираем – Скрипт для заполнения.

В поле «Алгоритм» вкладки «Текст» автоматически добавится скрипт:

  

 

Теперь необходимо выполнить расчет в соответствии с заданием, в итоге получим скрипт:

 

 

Аналогично выполняются последующие пункты, в итоге общий скрипт имеет следующий вид:

 

 

Далее необходимо нажать «Записать и закрыть».

Открываем в «Виды внутренних документов (Справочники)» вид – Приказ о направлении в командировку.

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

 

 

Далее записываем изменения.

В результате в открытой форме внутреннего документа с видом Приказ о направлении в командировку при изменении «Дата начала» выполниться расчет и установка значений в доп.реквизиты и не только:

 

 

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

Для этого нужно развернуть группу в нижней части экрана – Используется в следующих объектах.

 

 

 

 

 

Проверено на следующих конфигурациях и релизах:

  • Документооборот КОРП, релизы 2.1.34.1
  • Документооборот КОРП, редакция 3.0, релизы 3.0.14.31

дополнительные реквизиты изменение на форме расширение обработчики изменений доп.реквизита условия проверки при записи проверка при записи Документооборот 2.1 Документооборот 3.0

См. также

Адаптация типовых решений Платформа 1С v8.3 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

29400 руб.

29.06.2023    6133    15    5    

24

Логистика, склад и ТМЦ Адаптация типовых решений Пользователь Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Чтобы не допустить путаницы с обещаниями клиентам и для четкого контроля исполнения заказов мы используем резервирование товаров. Мы доработали УНФ, чтобы она автоматически отменяла старые резервы и не мешала эффективно продавать.

7200 руб.

02.08.2023    4256    15    1    

33

Печатные формы Адаптация типовых решений Бухгалтер Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Расширение позволяет вывести в табличном документе факсимиле печати и подписей и/или вывести произвольную картинку из прикреплённых файлов организации для 1С УТ 11.5, КА 2.5, ERP 2.5, УНФ 3, Розница 3. Вывод факсимиле возможен в табличные документы УПД, УКД, Счёт-фактура, ТОРГ-12 и другие. Возможно настроить вывод для любых типовых макетов (Акт сверки, М-15, ТТН), для этого потребуется отредактировать макет и разместить на нём картинки с установленными именами. Редактирование осуществляется через типовой механизм в пользовательском интерфейсе.

3000 руб.

07.02.2023    6803    73    10    

30

Адаптация типовых решений Программист Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Абонемент ($m)

Каждый из нас сталкивается с ситуацией, когда какой-нибудь менеджер показывает свой Excel и рассказывает, как он что-то из 1С копирует в него, снабжает пояснениями, выделяет цветом и т.д. и т.п. Заканчивается все просьбой сделать вот чтобы также было в 1С. И оказывается такой человек (почти с гарантией) либо лучшим продажником, либо каким-то важным, за все отвечающим, - на ком все держится.

2 стартмани

22.04.2024    5319    dimanich70    15    

22

БСП (Библиотека стандартных подсистем) Адаптация типовых решений Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

Понадобилось в подменю "Создать на основании" добавить свою команду, которая открывает обработку. В процессе доработок появилась проблема двух подменю "Создать на основании". В статье о том, как решились проблемы.

01.03.2024    7214    dimanich70    10    

19

Адаптация типовых решений Программист Платформа 1С v8.3 1С:Управление торговлей 11 Россия Абонемент ($m)

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

1 стартмани

27.10.2023    3666    30    TempTablesManager    14    

54
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. dsv2295 03.10.24 14:03 Сейчас в теме
А на редакции 3.0 (3.0.15.41) будет работать?
2. Steffan 30 04.10.24 21:03 Сейчас в теме
(1) Добрый вечер, данное расширение в указанной редакции работать не будет.
В ближайшее время подготавливается расширение для 3.0
3. Steffan 30 05.10.24 23:11 Сейчас в теме
(1) Расширение для 3.0 добавлено в публикацию. Да, на редакции 3.0 (3.0.15.41) будет работать.
4. dsv2295 07.10.24 10:20 Сейчас в теме
5. chng 10.10.24 16:38 Сейчас в теме
(3) Скажите, а нет ли возможности в доп реквизитах сделать установку значения по умолчанию?
Ну то есть при добавлении нового допреквизита, установить в нем значение которое будет устанавливаться по умолчанию при создании каждого экземпляра объекта.
6. Steffan 30 10.10.24 17:40 Сейчас в теме
(5) Добрый вечер! В данном расширении такой возможности нет.
Для реализации данного момента, необходимо понимать, устанавливать значение по умолчанию в доп.реквизит требуется при интерактивном создании объекта (т.е. при открытии формы нового объекта) ?
7. dsv2295 11.10.24 16:12 Сейчас в теме
(6) Например, создаем для документа "договор" дополнительный реквизит "сотрудник", с типом "Справочник сотрудников"
В форме создания допреквизита, в добавленное поле "Значение по умолчанию" выбираем ссылку на конкретного сотрудника Иванов И.И. Записываем.
Далее
При создании нового документа договор, в доп реквизите мы должны увидеть уже предустановленного Иванов И.И.
Примерно так.
Или проще пример. Булевый допреквизит с условием заполнять обязательно. При сохранении документа, стандартно ругнется ибо допреквизит в состоянии "неопределено" и надо ткнуться в него, чтобы выбрать Ложь/Истина.
А было бы неплохо иметь возможность изначально установить его например в "ложь".

P.S. Не понимаю, чего такую фичу сама 1С не додумалась реализовать.
8. Steffan 30 11.10.24 16:22 Сейчас в теме
(7) Этот момент сделать можно. К вопросу, о том, почему не сделали сами 1С, скорее всего не всем этот механизм нужен. И может возникнуть ситуация, когда один доп.реквизит используется в нескольких наборах (т.е. в разных , допустим, видах документов). Предопределив какое либо значение по умолчанию для одного вида документа, не факт что оно подойдет для другого вида.
В данном случае, считаю, что корректнее будет реализовать возможность завадать значение по умолчанию доп.реквизиту непосредственно в виде документа(если эта потребность есть именно в видах документа), а не в плане видов характеристик. Это позволит завать разные предопределенные значения у одного и того же доп. реквизита но для разных видов документов.
9. chng 14.10.24 12:37 Сейчас в теме
(8)
В данном случае, считаю, что корректнее будет реализовать возможность завадать значение по умолчанию доп.реквизиту непосредственно в виде документа


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

P.S. юзер dsv2295 выше это я же, просто через подписку 1С-администратор взяли ваше расширение и оно очень полезным оказалось. Еще раз спасибо за вашу работу!
12. Steffan 30 28.10.24 22:32 Сейчас в теме
(7)
В форме создания допреквизита, в добавленное поле "Значение по умолчанию" выбираем ссылку на конкретного сотрудника Иванов И.И. Записываем.
Далее
При создании нового документа договор, в доп реквизите мы должны увидеть уже предустановленного Иванов И.И.
Примерно так.
Или проще пример. Булевый допреквизит с условием заполнять обязательно. При сохранении документа, стандартно ругнется ибо допреквизит в состоянии "неопределено" и надо ткнуться в него, чтобы выбрать Ложь/Истина.


Появилось немного времени. Глянул. Описываемые Вами варианты, имеют функциональные пересечения, при использовании тех или иных данных и в разные события с объектом:
1. Если требуется,при открытии формы нового объекта, по умолчанию задавать доп. реквизит, который будет содержать не пустое значение и не Ложь, то этот вариант более менее реализуем. Т.е., при открытии нового документа, установиться не пустое значение по умолчанию и не Ложь. В этом случае, при записи (интерактивно), оно сохраниться у объекта. Но если задать по умолчанию пустое значение или Ложь, то при открытии нового документа, значение также установиться, но при записи, сработает описанный ниже типовой механизм, который его удалит.
2. Если же требуется возможность задавать по умолчанию еще и пустые значения или Ложь, то тут, по мимо реализации пункта 1, нужно доработать механизм оптимизации при записи объекта, который не подразумевает хранение пустых значений в доп.реквизитах. Он попросту сначала удаляет, а потом не добавляет доп.реквизиты у которых не заполнено значение (пустая строка, количество элементов в массиве и других коллекций 0, либо значение Ложь).

Тут получается как бы в одной разрабатываемой функциональной опциональности, нужно предусмотреть опциональность на вложенный механизм) Думаю, как время появиться, попробую еще посидеть и более детально углубиться.
10. Bezon-81 21.10.24 18:30 Сейчас в теме
11. Steffan 30 22.10.24 10:58 Сейчас в теме
Оставьте свое сообщение