add slug n new

This commit is contained in:
wakadakawaka 2025-07-09 21:58:17 +05:00
parent 1b85260b2e
commit 92acc1d139
15 changed files with 290 additions and 12 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

View File

@ -1,3 +1,7 @@
---
title: Установка и настройка телеграм-бота для отправки HTTP-запросов в 1с
slug: администрирование/установка-и-настройка-телеграм-бота-для-отправки-http-запросов-в-1с
---
# 📘 Инструкция по установке и обслуживанию Telegram JSON File Bot
## 🧩 Зависимости

View File

@ -1,3 +1,7 @@
---
title: Внешняя печатная форма (С ручным созданием элементов формы)
slug: общие-дополнительные-отчеты-и-обработки-настройки/внешняя-печатная-форма-с-ручным-созданием-элементов-формы
---
# Настройка обработки

View File

@ -1,3 +1,7 @@
---
title: Внешняя печатная форма (Только программно)
slug: общие-дополнительные-отчеты-и-обработки-настройки/внешняя-печатная-форма-только-программно
---
# Настройка обработки

View File

@ -1,3 +1,7 @@
---
title: Механизм доп.отчетов и обработок
slug: общие-подключение-объектов-к-бсп-подключение-к-подсистемам/механизм-доп-отчетов-и-обработок
---
# Постановка задачи

View File

@ -1,6 +1,6 @@
---
title: Варианты отчетов
slug: общие-подключение-объектов-к-бсп-подключение-к-подсистемам/варианты-отчетов
title: Подключение к подсистеме Варианты отчетов
slug: общие-подключение-объектов-к-бсп-подключение-к-подсистемам/подключение-к-подсистеме-варианты-отчетов
---
# Порядок действий
## Хранилище вариантов

View File

@ -1,6 +1,6 @@
---
title: Версионирование
slug: общие-подключение-объектов-к-бсп-подключение-к-подсистемам/версионирование
title: Подключение к подсистеме Версионирование
slug: общие-подключение-объектов-к-бсп-подключение-к-подсистемам/подключение-к-подсистеме-версионирование
---
## Настройка объектов метаданных

View File

@ -1,6 +1,6 @@
---
title: Взаимодействия
slug: общие-подключение-объектов-к-бсп-подключение-к-подсистемам/взаимодействия
title: Подключение к подсистеме Взаимодействия
slug: общие-подключение-объектов-к-бсп-подключение-к-подсистемам/подключение-к-подсистеме-взаимодействия
---
# Настройка объекта
Создаем новый документ/справочник. В документе должны быть реквизит `Ответственный` (СправочникСсылка.Пользователи) и табличная часть `ПартнерыИКонтактныеЛица`.

View File

@ -1,6 +1,6 @@
---
title: Дата запрета изменений
slug: общие-подключение-объектов-к-бсп-подключение-к-подсистемам/дата-запрета-изменений
title: Подключение к подсистеме Дата запрета изменений
slug: общие-подключение-объектов-к-бсп-подключение-к-подсистемам/подключение-к-подсистеме-дата-запрета-изменений
---
# Общие модули
В процедуре `ЗаполнитьИсточникиДанныхДляПроверкиЗапретаИзменения` общего модуля `ДатыЗапретаИзмененияПереопределяемый` дополнить:

View File

@ -0,0 +1,257 @@
---
title: Подключение к подсистеме Контактная информация
slug: общие-подключение-объектов-к-бсп-подключение-к-подсистемам/подключение-к-подсистеме-контактная-информация
---
> [Подсистема БСП «Контактная информация» (ИТС)](https://its.1c.ru/db/pubcloud1c#content:80:hdoc:p513)
## 1. Создать в объекте ТЧ "Контактная информация"
Копируем из любого объекта БСП, который подключен к этой подсистеме. Например, справочник "Пользователи"
## 2. Включить объект в определяемый тип "ВладелецКонтактнойИнформации"
## 3. В справочнике ВидыКонтактнойИнформации добавить предопределенные элементы
В конфигураторе обязательно необходимо добавить __предопределенную группу__. Предопределенные элементы можно будет добавить в обработчиках обновления.
Имя группы рекомендуется создавать по шаблону **ВидОбъектаМетаданныхОбъектМетаданных**, например __СправочникКонтрагенты__
## 4. Добавить/заполнить реквизиты новых видов контактной информации
Есть несколько вариантов создания предопределенных элементов справочника `ВидыКонтактнойИнформации`:
- при начальном заполнении базы. Вариант, если база пустая и только внедряется
- при обновлении базы.
- без обновления
### ВАРИАНТ 1. Обновление "ручками". Самый простой способ
Создаем внешнюю обработку с одной кнопкой, в серверный обработчик кнопки добавляем блок кода
```bsl
// Добавление нового предопределенного вида контактной информации Мессенджеры.
ПараметрыВида = УправлениеКонтактнойИнформацией.ПараметрыВидаКонтактнойИнформации(Перечисления.ТипыКонтактнойИнформации.Телефон);
ПараметрыВида.Наименование = НСтр("ru = 'Телефон'");
ПараметрыВида.Вид = "ТелефонКонтрагента";
ПараметрыВида.Имя = "ТелефонКонтрагента";
ПараметрыВида.Группа = УправлениеКонтактнойИнформацией.ВидКонтактнойИнформацииПоИмени("СправочникКонтрагенты");
ПараметрыВида.Порядок = 5;
ПараметрыВида.МожноИзменятьСпособРедактирования = Истина;
ПараметрыВида.ОтображатьВсегда = Истина;
ПараметрыВида.РазрешитьВводНесколькихЗначений = Истина;
УправлениеКонтактнойИнформацией.УстановитьСвойстваВидаКонтактнойИнформации(ПараметрыВида);
// и т.д.
```
Выполняем. Мы великолепны.
### ВАРИАНТ 2. При обновлении
Если добавление/обновление видов контактной информации допускается объединить с обновлением информационной базы, тогда нужно дополнить процедуру `ПриДобавленииОбработчиковОбновления` общего модуля `ОбновлениеИнформационнойБазы<ИмяПодсистемы>`.
```bsl
// См. ОбновлениеИнформационнойБазыБСП.ПриДобавленииОбработчиковОбновления.
Процедура ПриДобавленииОбработчиковОбновления(Обработчики) Экспорт
Обработчик = Обработчики.Добавить();
// версия библиотеки, на которую переходим. Укажите "*" чтобы обработчик
// выполнялся всегда при запуске обновления
Обработчик.Версия = "3.1.10.17";
// описываем имя обработчика, который будет заполнять вид контактной информации
Обработчик.Процедура = "ОбновлениеИнформационнойБазы<ИмяПодсистемы>.ДобавитьВидКонтактнойИнформацииКонтрагентаТелефон";
Обработчик.ВыполнятьВГруппеОбязательных = Истина;
Обработчик.РежимВыполнения = "Оперативно";
КонецПроцедуры
...
Процедура ДобавитьВидКонтактнойИнформацииКонтрагентаТелефон() Экспорт
// Добавление нового предопределенного вида контактной информации Мессенджеры.
ПараметрыВида = УправлениеКонтактнойИнформацией.ПараметрыВидаКонтактнойИнформации(Перечисления.ТипыКонтактнойИнформации.Телефон);
ПараметрыВида.Наименование = НСтр("ru = 'Телефон'");
ПараметрыВида.Вид = "ТелефонКонтрагента";
ПараметрыВида.Имя = "ТелефонКонтрагента";
ПараметрыВида.Группа = УправлениеКонтактнойИнформацией.ВидКонтактнойИнформацииПоИмени("СправочникКонтрагенты");
ПараметрыВида.Порядок = 5;
ПараметрыВида.МожноИзменятьСпособРедактирования = Истина;
ПараметрыВида.ОтображатьВсегда = Истина;
ПараметрыВида.РазрешитьВводНесколькихЗначений = Истина;
УправлениеКонтактнойИнформацией.УстановитьСвойстваВидаКонтактнойИнформации(ПараметрыВида);
// и т.д.
КонецПроцедуры
```
Теперь можно запустить конфигурацию с флагом __/ЗапуститьОбновлениеИнформационнойБазы__ и все обновится
### ВАРИАНТ 3. При начальном заполнении (не рекомендуется на заполненной базе)
Этот вариант подойдет только тогда, когда база данных только что была развернута из шаблона и при __первом__ запуске выполняются обработчики __начального заполнения__. В этом варианте предопределенные элементы __нужно создавать вручную в конфигураторе__
В `ОбщийМодуль.УправлениеКонтактнойИнформациейПереопределяемый` в процедуре `ПриНачальномЗаполненииЭлементов` для заполнения необходимых реквизитов созданных предопределенных элементов нужно прописать что-то вроде:
```bsl
// Смотри также ОбновлениеИнформационнойБазыПереопределяемый.ПриНачальномЗаполненииЭлементов
//
// Параметры:
// КодыЯзыков - см. ОбновлениеИнформационнойБазыПереопределяемый.ПриНачальномЗаполненииЭлементов.КодыЯзыков
// Элементы - см. ОбновлениеИнформационнойБазыПереопределяемый.ПриНачальномЗаполненииЭлементов.Элементы
// ТабличныеЧасти - см. ОбновлениеИнформационнойБазыПереопределяемый.ПриНачальномЗаполненииЭлементов.ТабличныеЧасти
//
Процедура ПриНачальномЗаполненииЭлементов(КодыЯзыков, Элементы, ТабличныеЧасти) Экспорт
// Не забываем, что у нас уже есть предопределенная группа
// СправочникКонтрагенты и элемент ТелефонКонтрагента,
// которые созданы ручками в конфигураторе. Тут только обновление реквизитов
Элемент = Элементы.Добавить();
Элемент.ИмяПредопределенногоВида = "ТелеофонКонтрагента";
Элемент.Родитель = "СправочникКонтрагенты";
Элемент.ИмяГруппы = "СправочникКонтрагенты";
Элемент.Тип = Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты;
Элемент.РазрешитьВводНесколькихЗначений = Истина;
Элемент.ОтображатьВсегда = Истина;
Элемент.Используется = Истина;
**КонецПроцедуры**
```
## 4. Настройка форм
### Форма элемента
Для отображения группы элементов контактной информации на форме нужно создать группу. Например - `ГруппаКонтактнаяИнформация`.
__В модуле формы добавляем:__
```bsl
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
// СтандартныеПодсистемы.КонтактнаяИнформация
УправлениеКонтактнойИнформацией.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
// Конец СтандартныеПодсистемы.КонтактнаяИнформация
КонецПроцедуры
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
// СтандартныеПодсистемы.КонтактнаяИнформация
ДополнительныеПараметры = УправлениеКонтактнойИнформацией.ПараметрыКонтактнойИнформации();
ДополнительныеПараметры.Вставить("ИмяЭлементаДляРазмещения", "ГруппаКонтактнаяИнформация");
УправлениеКонтактнойИнформацией.ПриСозданииНаСервере(ЭтотОбъект, Объект, ДополнительныеПараметры);
// Конец СтандартныеПодсистемы.КонтактнаяИнформация
КонецПроцедуры
&НаСервере
Процедура ОбработкаПроверкиЗаполненияНаСервере(Отказ, ПроверяемыеРеквизиты)
// СтандартныеПодсистемы.КонтактнаяИнформация
УправлениеКонтактнойИнформацией.ОбработкаПроверкиЗаполненияНаСервере(ЭтотОбъект, Объект, Отказ);
// Конец СтандартныеПодсистемы.КонтактнаяИнформация
КонецПроцедуры
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
// СтандартныеПодсистемы.КонтактнаяИнформация
УправлениеКонтактнойИнформацией.ПередЗаписьюНаСервере(ЭтотОбъект, ТекущийОбъект);
// Конец СтандартныеПодсистемы.КонтактнаяИнформация
КонецПроцедуры
&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
// СтандартныеПодсистемы.КонтактнаяИнформация
УправлениеКонтактнойИнформацией.ПослеЗаписиНаСервере(ЭтотОбъект, ТекущийОбъект);
// Конец СтандартныеПодсистемы.КонтактнаяИнформация
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
// СтандартныеПодсистемы.КонтактнаяИнформация
&НаКлиенте
Процедура Подключаемый_КонтактнаяИнформацияПриИзменении(Элемент)
УправлениеКонтактнойИнформациейКлиент.НачатьИзменение(ЭтотОбъект, Элемент);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_КонтактнаяИнформацияНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
УправлениеКонтактнойИнформациейКлиент.НачатьВыбор(ЭтотОбъект, Элемент, , СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_КонтактнаяИнформацияПриНажатии(Элемент, СтандартнаяОбработка)
УправлениеКонтактнойИнформациейКлиент.НачатьВыбор(ЭтотОбъект, Элемент, , СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_КонтактнаяИнформацияОчистка(Элемент, СтандартнаяОбработка)
УправлениеКонтактнойИнформациейКлиент.НачатьОчистку(ЭтотОбъект, Элемент.Имя);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_КонтактнаяИнформацияВыполнитьКоманду(Команда)
УправлениеКонтактнойИнформациейКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда.Имя);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_КонтактнаяИнформацияАвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка)
УправлениеКонтактнойИнформациейКлиент.АвтоПодборАдреса(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_КонтактнаяИнформацияОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
УправлениеКонтактнойИнформациейКлиент.ОбработкаВыбора(ЭтотОбъект, ВыбранноеЗначение, Элемент.Имя, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_КонтактнаяИнформацияОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
УправлениеКонтактнойИнформациейКлиент.НачатьОбработкуНавигационнойСсылки(ЭтотОбъект, Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПродолжитьОбновлениеКонтактнойИнформации(Результат, ДополнительныеПараметры) Экспорт
ОбновитьКонтактнуюИнформацию(Результат);
КонецПроцедуры
&НаСервере
Процедура ОбновитьКонтактнуюИнформацию(Результат)
УправлениеКонтактнойИнформацией.ОбновитьКонтактнуюИнформацию(ЭтотОбъект, Объект, Результат);
КонецПроцедуры
// Конец СтандартныеПодсистемы.КонтактнаяИнформация
#КонецОбласти
```
__Не забываем привязать события формы к обработчикам__
### Форма списка
Для того, чтобы можно было вывести в форму списка элементы контактной информации нужно настроить в конфигураторе __характеристики__
Создаем форму списка, выводим `ссылку` и устанавливаем `ПользовательскаяВидимость = Ложь`
![Характеристики](/bsp_kontaktnaya_informaciya/harakteristiki.png)
Что мы настраиваем:
В части __Виды характеристик__
1. Виды характеристик - тот элемент, где хранятся характеристики объекта. В нашем случае `Характеристика` - это __вид контактной информации__
2. Поле ключа - `ссылка`
3. Поле отбора - `Родитель`, т.к. мы все виды контактной информации этого элемента находятся в одной группе
4. Значение отбора - выбираем предопределенную группу, куда мы поместили все виды контактной информации этого объекта
5. Поле пути к данным - `ссылка`
В части __Значения характеристик__
1. Значения характеристик - табличная часть `КонтактнаяИнформация` нашего объекта
2. Поле объекта - `ссылка`
3. Поле вида - `ВидДляСписка`
4. Поле значения - `представление`
Теперь через меню `Ещё > Изменить форму` можно в форму списка добавить контакты через поле `Ссылка`
![Итог](/bsp_kontaktnaya_informaciya/result.png)

View File

@ -1,6 +1,6 @@
---
title: Подключаемые команды
slug: общие-подключение-объектов-к-бсп-подключение-к-подсистемам/подключаемые-команды
title: Подключение к подсистеме Подключаемые команды
slug: общие-подключение-объектов-к-бсп-подключение-к-подсистемам/подключение-к-подсистеме-подключаемые-команды
---
## Форма объекта
```bsl

View File

@ -1,6 +1,6 @@
---
title: Присоединенные файлы
slug: общие-подключение-объектов-к-бсп-подключение-к-подсистемам/присоединенные-файлы
title: Подключение к подсистеме Присоединенные файлы
slug: общие-подключение-объектов-к-бсп-подключение-к-подсистемам/подключение-к-подсистеме-присоединенные-файлы
---
## Настройка определяемых типов

View File

@ -1,5 +1,6 @@
---
title: Ссылка на объект из навигационной ссылки
slug: типовые-erp-общего-назначения-ух/ссылка-на-объект-из-навигационной-ссылки
---
# Пример вызова
```bsl

View File

@ -1,3 +1,7 @@
---
title: Текущий статус согласования объекта
slug: типовые-erp-согласования-ух/текущий-статус-согласования-объекта
---
# Описание