new
This commit is contained in:
parent
a530729b4b
commit
ced2000d52
BIN
public/bsp-gruppovoe-izmenenie-rekv/1.png
Normal file
BIN
public/bsp-gruppovoe-izmenenie-rekv/1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 29 KiB |
BIN
public/bsp-napominaniya/1.png
Normal file
BIN
public/bsp-napominaniya/1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 34 KiB |
BIN
public/bsp-prefiksaciya/1.png
Normal file
BIN
public/bsp-prefiksaciya/1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 41 KiB |
@ -0,0 +1,122 @@
|
||||
---
|
||||
title: Подключение к подсистеме Групповое изменение реквизитов
|
||||
slug: общие-бсп-стандартные-подсистемы-групповое-изменение-реквизитов/подключение-к-подсистеме-групповое-изменение-реквизитов
|
||||
---
|
||||
|
||||
По умолчанию для группового изменения собственных объектов метаданных с помощью стандартной обработки `Групповое изменение реквизитов` ничего дополнительно настраивать не нужно - доп.настройки нужны только для того, чтобы **обеспечить возможность вывода команд запуска обработки на форму списка** и **ограничить состав доступных реквизитов**
|
||||
|
||||
# Вывод команды на форму списка
|
||||
|
||||
## Общий модуль
|
||||
|
||||
В общем модуле `ГрупповоеИзменениеОбъектовПереопределяемый` дополняем процедуру `ПриОпределенииОбъектовСКомандойГрупповогоИзмененияОбъектов`
|
||||
```bsl
|
||||
// Определить объекты метаданных, в формах списков которых
|
||||
// будет выведена команда группового изменения выделенных объектов.
|
||||
// см. ГрупповоеИзменениеОбъектовКлиент.ИзменитьВыделенные
|
||||
//
|
||||
// Параметры:
|
||||
// Объекты - Массив из ОбъектМетаданных
|
||||
//
|
||||
// Пример:
|
||||
// Объекты.Добавить(Метаданные.Справочники.Номенклатура);
|
||||
// Объекты.Добавить(Метаданные.Справочники.Контрагенты);
|
||||
//
|
||||
Процедура ПриОпределенииОбъектовСКомандойГрупповогоИзмененияОбъектов(Объекты) Экспорт
|
||||
|
||||
Объекты.Добавить(Метаданные.Справочники.Номенклатура);
|
||||
|
||||
КонецПроцедуры
|
||||
```
|
||||
|
||||
## Форма списка
|
||||
|
||||
### Автоматическое создание команды
|
||||
|
||||
Форму списка нужно подключить к подсистеме `Подключаемые команды`
|
||||
|
||||

|
||||
|
||||
### Ручное создание команды
|
||||
|
||||
На форме списка для динамического списка задаем у поля `Ссылка` флаг `Использовать всегда`
|
||||
|
||||
Cоздаем команду со следующими **рекомендуемыми** свойствами:
|
||||
|Свойство|Значение|
|
||||
|-|-|
|
||||
|Имя|`ИзменитьВыделенные`|
|
||||
|Действие|`ИзменитьВыделенные`|
|
||||
|Подсказка|Изменить выделенные объекты|
|
||||
|Изменяет сохраняемые данные|`Нет`|
|
||||
|
||||
размещаем в произвольном месте
|
||||
|
||||
*(Опционально)* Настраиваем видимость команды. Например:
|
||||
```bsl
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
МожноРедактировать = ПравоДоступа("Редактирование", Метаданные.Справочники.Номенклатура);
|
||||
Элементы.ФормаИзменитьВыделенные.Видимость = МожноРедактировать;
|
||||
КонецПроцедуры
|
||||
```
|
||||
|
||||
Определяем обработчик команды
|
||||
```bsl
|
||||
&НаКлиенте
|
||||
Процедура ИзменитьВыделенные(Команда)
|
||||
// СтандартныеПодсистемы.ГрупповоеРедактированиеОбъектов
|
||||
ГрупповоеИзменениеОбъектовКлиент.ИзменитьВыделенные(Элементы.Список, Список);
|
||||
// Конец СтандартныеПодсистемы.ГрупповоеРедактированиеОбъектов
|
||||
КонецПроцедуры
|
||||
```
|
||||
|
||||
## Ограничение редактируемых реквизитов
|
||||
|
||||
Если необходимо точечно настроить состав реквизитов, которые будут доступны/недоступны в обработке `Групповое редактирование реквизитов` необходимо:
|
||||
|
||||
1. В процедуре `ПриОпределенииОбъектовСРедактируемымиРеквизитами` общего модуля `ГрупповоеИзменениеОбъектовПереопределяемый` указать, какие именно уточняющие процедуры (`РеквизитыРедактируемыеВГрупповойОбработке` и/или `РеквизитыНеРедактируемыеВГрупповойОбработке`) будут определены в **модуле менджера** целевого объекта:
|
||||
```bsl
|
||||
// Определить объекты метаданных, в модулях менеджеров которых ограничивается возможность
|
||||
// редактирования реквизитов при групповом изменении.
|
||||
//
|
||||
// Параметры:
|
||||
// Объекты - Соответствие из КлючИЗначение - в качестве ключа указать полное имя объекта метаданных,
|
||||
// подключенного к подсистеме "Групповое изменение объектов".
|
||||
// Дополнительно в значении могут быть перечислены имена экспортных функций:
|
||||
// "РеквизитыНеРедактируемыеВГрупповойОбработке",
|
||||
// "РеквизитыРедактируемыеВГрупповойОбработке".
|
||||
// Каждое имя должно начинаться с новой строки.
|
||||
// Если указано "*", значит, в модуле менеджера определены обе функции.
|
||||
//
|
||||
// Пример:
|
||||
// Объекты.Вставить(Метаданные.Документы.ЗаказПокупателя.ПолноеИмя(), "*"); // определены обе функции.
|
||||
// Объекты.Вставить(Метаданные.БизнесПроцессы.ЗаданиеСРолевойАдресацией.ПолноеИмя(), "РеквизитыРедактируемыеВГрупповойОбработке");
|
||||
// Объекты.Вставить(Метаданные.Справочники.Партнеры.ПолноеИмя(), "РеквизитыРедактируемыеВГрупповойОбработке
|
||||
// |РеквизитыНеРедактируемыеВГрупповойОбработке");
|
||||
//
|
||||
Процедура ПриОпределенииОбъектовСРедактируемымиРеквизитами(Объекты) Экспорт
|
||||
|
||||
//
|
||||
Объекты.Вставить(Метаданные.Справочники.Номенклатура, "*");
|
||||
|
||||
КонецПроцедуры
|
||||
```
|
||||
|
||||
2. В модуле менеджера определяем указанные функции:
|
||||
```bsl
|
||||
Функция РеквизитыРедактируемыеВГрупповойОбработке() Экспорт
|
||||
РедактируемыеРеквизиты = Новый Массив;
|
||||
РедактируемыеРеквизиты.Добавить("ИмяРеквизита"); // реквизит объекта
|
||||
РедактируемыеРеквизиты.Добавить("ИмяТабличнойЧасти.ИмяРеквизита"); // реквизит табличной части объекта
|
||||
РедактируемыеРеквизиты.Добавить("ИмяТабличнойЧасти.*"); // все реквизиты табличной части объекта
|
||||
РедактируемыеРеквизиты.Добавить("*"); // все реквизиты и табличные части объекта. Если не указать, то
|
||||
// оставшиеся реквизиты скрываются
|
||||
Возврат РедактируемыеРеквизиты;
|
||||
КонецФункции
|
||||
|
||||
Функция РеквизитыРедактируемыеВГрупповойОбработке() Экспорт
|
||||
РедактируемыеРеквизиты = Новый Массив;
|
||||
// аналогично функции выше
|
||||
Возврат РедактируемыеРеквизиты;
|
||||
КонецФункции
|
||||
```
|
@ -0,0 +1,73 @@
|
||||
---
|
||||
title: Подключение к подсистеме Напоминания пользователя
|
||||
slug: общие-бсп-стандартные-подсистемы-напоминания-пользователя/подключение-к-подсистеме-напоминания-пользователя
|
||||
---
|
||||
|
||||
## Общие настройки
|
||||
|
||||
Подсистема **Напоминания пользователя** предназначена для установки персональных напоминаний по поводу какого-либо объекта системы и оповещения пользователя в назначенное время.
|
||||
|
||||
Для использования подсистемы необходимо разместить в командном интерфейсе пользователя форму `МоиНапоминания` регистра сведений `НапоминанияПользователя`, а также выполнить следующие действия:
|
||||
|
||||
- Определить состав объектов ссылочного типа, по поводу которых пользователь должен иметь возможность вводить напоминания. Как правило, это большинство объектов конфигурации, с которыми работает пользователь.
|
||||
- В определяемых типах `ПредметНапоминания` и `ПредметНапоминанияОбъект` отметить выбранные типы объектов в свойстве `Тип`. (В `ПредметНапоминания` - все типы, а в `ПредметНапоминанияОбъект` - все кроме документов)
|
||||
- Подключить форму к подсистеме `Подключаемые команды`
|
||||
|
||||
Опционально. Для целей оптимизации производительности при открытии формы рекомендуется добавить в командную панель подменю для вывода команд напоминаний по шаблону:
|
||||
|
||||
Имя: `ПодменюОрганайзер`
|
||||
Заголовок: **Органайзер**
|
||||
Вид: `Подменю`
|
||||
Отображение: `Картинка`
|
||||
Картинка: `Органайзер` (картинка из конфигурации).
|
||||
|
||||
По умолчанию пользователю предлагается задать срок напоминания относительно любого реквизита типа `Дата`. В списке доступных для выбора реквизитов доступны только реквизиты, значения дат которых находятся в будущем. Этот список можно переопределить – например, убрать из него служебные реквизиты. Для этого необходимо вписать свою реализацию в процедуру `ПриЗаполненииСпискаРеквизитовИсточникаСДатамиДляНапоминания` модуля `НапоминанияПользователяПереопределяемый`.
|
||||
|
||||
## Размещение элементов настройки напоминания на форме объекта
|
||||
|
||||

|
||||
|
||||
На форме нужно создать/определить группу, в которую будет размещен новый создаваемый элемент. Например, группа `ГруппаДатаОптатыСНапоминанием`
|
||||
|
||||
В модуле формы сделать вставки:
|
||||
```bsl
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
// СтандартныеПодсистемы.НапоминанияПользователя
|
||||
ПараметрыРазмещения = НапоминанияПользователя.ПараметрыРазмещения();
|
||||
ПараметрыРазмещения.Группа = Элементы.ГруппаДатаОптатыСНапоминанием;
|
||||
ПараметрыРазмещения.ИмяРеквизитаСДатойСобытия = "ДатаОплаты";
|
||||
НапоминанияПользователя.ПриСозданииНаСервере(ЭтотОбъект, ПараметрыРазмещения);
|
||||
// Конец СтандартныеПодсистемы.НапоминанияПользователя
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
|
||||
// СтандартныеПодсистемы.НапоминанияПользователя
|
||||
НапоминанияПользователя.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
|
||||
// Конец СтандартныеПодсистемы.НапоминанияПользователя
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
|
||||
// СтандартныеПодсистемы.НапоминанияПользователя
|
||||
ТекстНапоминания = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Проверить оплату по счету %1'"), ТекущийОбъект.Номер);
|
||||
НапоминанияПользователя.ПриЗаписиНаСервере(ЭтотОбъект, Отказ, ТекущийОбъект, ПараметрыЗаписи, ТекстНапоминания);
|
||||
// Конец СтандартныеПодсистемы.НапоминанияПользователя
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
|
||||
// СтандартныеПодсистемы.НапоминанияПользователя
|
||||
НапоминанияПользователяКлиент.ОбработкаОповещения(ЭтотОбъект, ИмяСобытия, Параметр, Источник);
|
||||
// Конец СтандартныеПодсистемы.НапоминанияПользователя
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура Подключаемый_ПриИзмененииНастройкиНапоминания(Элемент)
|
||||
// СтандартныеПодсистемы.НапоминанияПользователя
|
||||
НапоминанияПользователяКлиент.ПриИзмененииНастройкиНапоминания(Элемент, ЭтотОбъект);
|
||||
// Конец СтандартныеПодсистемы.НапоминанияПользователя
|
||||
КонецПроцедуры
|
||||
```
|
@ -0,0 +1,92 @@
|
||||
---
|
||||
title: Подключение к подсистеме Префиксация объектов
|
||||
slug: общие-бсп-стандартные-подсистемы-префиксация-объектов/подключение-к-подсистеме-префиксация-объектов
|
||||
---
|
||||
|
||||
## Общее
|
||||
Подсистема `Префиксация объектов` предназначена для автоматического назначения префиксов объектам с учетом настроек приложения. `Префиксация объектов` ведется в разрезах информационных баз и элементов справочника `Организации`.
|
||||
|
||||
Назначение префикса номеру или коду объекта происходит в момент первой записи объекта, если код или номер не были назначены вручную. Назначение префикса также происходит, если номер или код объекта были очищены перед его записью.
|
||||
|
||||
Префикс имеет фиксированную длину: **3 или 5 символов**. В префиксе нельзя использовать символ «-» (дефис); он используется для разделения префикса c номером и добавляется автоматически. Соответственно, префикс формируется по одному из двух шаблонов:
|
||||
ОРИБ- или ИБ-, где
|
||||
- ОР – 2 символа префикса справочника Организации;
|
||||
- ИБ – 2 символа префикса информационной базы;
|
||||
- «-» (дефис) – разделитель префикса.
|
||||
|
||||
Для конфигураций, в которых используется подсистема префиксации, длину номеров документов и кодов справочников рекомендуется устанавливать **не менее 11 символов**.
|
||||
|
||||
Если префикс информационной базы или префикс организации не указан, то считается, что такой префикс отсутствует, он заменяется двумя нулями – **00**.
|
||||
|
||||
|
||||
> Префикс информационой базы используется только тогда, когда конфигурация опдключена к подсистеме `Обмен данными`
|
||||
|
||||
## Установка префикса ИБ
|
||||
|
||||
Префикс ИБ устанавливается в настройках конфигурации (в пользовательском режиме):
|
||||
`НСИ и Администрирование` -> `Синхронизация данных` -> `Префикс информационной базы`
|
||||

|
||||
|
||||
## Установка префикса организации
|
||||
|
||||
- Включить справочник `Организации` (создать, если нет) в состав определяемого типа `Организация`
|
||||
- В справочник `Организации` добавить реквизить `Префикс` (строка, 2 символа)
|
||||
- Создать **параметр функциональной опции** `Организация`. В свойстве `Использование` указать справочник `Организации`
|
||||
- Создать **функциональную опцию** `ПрефиксыОрганизаций`, в свойстве `Хранение` которой указать ссылку на созданный выше реквизит `Префикс`
|
||||
|
||||
Если объекту требуется устанавливать префикс организации, то в составе реквизитов шапки объекта должен присутствовать реквизит `Организация`. Обязательные значения свойств реквизита указаны в таблице:
|
||||
|
||||
| Свойство | Значение |
|
||||
| -------- | ------------------------------ |
|
||||
| **Имя** | `Организация` |
|
||||
| **Тип** | `СправочникСсылка.Организации` |
|
||||
|
||||
## Создание/дополнение подписок на события
|
||||
|
||||
### Установка нового номера
|
||||
Следует создать необходимое количество подписок на события для задания номера или кода объекта при его записи, если номер или код не заполнены. Значения свойств подписок задать согласно таблице:
|
||||
|
||||
|Имя свойства|Описание|
|
||||
|-|-|
|
||||
|`Имя`|Имя следует задавать для удобства визуального восприятия подписки и с учетом ограничений, налагаемых на имена объектов метаданных, например `УстановитьПрефиксИнформационнойБазыИОрганизацииНомеруДокумента`|
|
||||
|`Источник`|Источниками событий подписки могут быть только объекты типов: `Документы`, `Справочники`, `ПланыВидовХарактеристик`, `БизнесПроцессы`. В качестве источников для одной подписки могут быть использованы объекты только одного типа.|
|
||||
|`Событие`|`ПриУстановкеНовогоКода` или `ПриУстановкеНовогоНомера`|
|
||||
|`Обработчик`|В качестве процедур – обработчиков подписок следует выбирать экспортные процедуры общего модуля `ПрефиксацияОбъектовСобытия`|
|
||||
|
||||
*Важно!
|
||||
Для объектов `Задача` префикс номеров устанавливается подсистемой `Бизнес-процессы и задачи`. Использование подсистемы префиксации для объектов `Задача` будет вызывать ошибки в работе конфигурации.*
|
||||
|
||||
В общем модуле `ПрефиксацияОбъектовСобытия` предусмотрено 3 обработчика:
|
||||
- `УстановитьПрефиксОрганизации` - следует использовать в том случае, если требуется выполнять префиксацию объектов только в разрезе организаций.
|
||||
- `УстановитьПрефиксИнформационнойБазы` - следует использовать в том случае, если используется подсистема `Обмен данными`, а префиксацию объектов в разрезе организаций выполнять **не требуется**. К таким типам объектов в основном относятся справочники и планы видов характеристик.
|
||||
- `УстановитьПрефиксИнформационнойБазыИОрганизации` - следует использовать в том случае, если требуется выполнять префиксацию объектов в разрезе информационных баз и организаций одновременно. К таким типам объектов в основном относятся документы.
|
||||
|
||||
### Переопределение номера при изменении ключевых реквизитов
|
||||
|
||||
Следует создать необходимое количество подписок на события для переназначения номера (кода) объекта при изменении даты или значения реквизита Организация в шапке объекта. После очистки объекту будет назначен новый код или номер.
|
||||
|
||||
Значения свойств подписок надо задать согласно таблице:
|
||||
|
||||
| Имя свойства | Описание |
|
||||
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| **Имя** | Имя следует задавать для удобства визуального восприятия подписки и с учетом ограничений, налагаемых на имена объектов метаданных, например `ПроверитьНомерДокументаПоДатеИОрганизации`. |
|
||||
| **Источник** | Источниками событий подписки могут быть только объекты типов: Документы, Справочники, ПланыВидовХарактеристик, БизнесПроцессы. В качестве источников для одной подписки могут быть использованы объекты только одного типа. |
|
||||
| **Событие** | `ПередЗаписью`. |
|
||||
| **Обработчик** | В качестве процедур – обработчиков подписок следует выбирать экспортные процедуры общего модуля `ПрефиксацияОбъектовСобытия`. |
|
||||
|
||||
В общем модуле `ПрефиксацияОбъектовСобытия` предусмотрено пять процедур – обработчиков подписок, каждую из которых необходимо использовать исходя из типа объектов – источников подписок и наличия реквизита `Организация` в шапке этих объектов:
|
||||
|
||||
* `ПроверитьКодСправочникаПоОрганизации` – следует использовать для справочников, у которых нумерация кодов выполняется в разрезе справочника `Организации`.
|
||||
* `ПроверитьНомерБизнесПроцессаПоДате` – следует использовать для бизнес-процессов, у которых нумерация выполняется только в пределах заданной периодичности.
|
||||
* `ПроверитьНомерБизнесПроцессаПоДатеИОрганизации` – следует использовать для бизнес-процессов, у которых нумерация выполняется в пределах заданной периодичности и в разрезе справочника `Организации`.
|
||||
* `ПроверитьНомерДокументаПоДате` – следует использовать для документов, у которых нумерация выполняется только в пределах заданной периодичности.
|
||||
* `ПроверитьНомерДокументаПоДатеИОрганизации` – следует использовать для документов, у которых нумерация выполняется в пределах заданной периодичности и в разрезе справочника `Организации`.
|
||||
|
||||
В большинстве случаев в конфигурации требуется создание только трех подписок: двух для назначения префиксов справочникам и документам и одной для очистки номеров документов. Пример для создания таких подписок представлен в таблице:
|
||||
|
||||
| Имя подписки | Обработчик |
|
||||
| ---------------------------------------------------------------- | ---------------------------------------------------------------------------- |
|
||||
| `УстановитьПрефиксИнформационнойБазыКодуСправочника` | `ПрефиксацияОбъектовСобытия.УстановитьПрефиксИнформационнойБазы` |
|
||||
| `УстановитьПрефиксИнформационнойБазыИОрганизацииНомеруДокумента` | `ПрефиксацияОбъектовСобытия.УстановитьПрефиксИнформационнойБазыИОрганизации` |
|
||||
| `ПроверитьНомерДокументаПоДатеИОрганизации` | `ПрефиксацияОбъектовСобытия.ПроверитьНомерДокументаПоДатеИОрганизации` |
|
||||
|
Loading…
x
Reference in New Issue
Block a user