Инструменты пользователя

Инструменты сайта


dev1c:ref_1cpark_integration

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
dev1c:ref_1cpark_integration [2023/09/15 07:56] – создано admin16dev1c:ref_1cpark_integration [2023/09/15 12:47] (текущий) admin16
Строка 1: Строка 1:
 ====== Интеграция 1СПАРК Риски в произвольный справочник ====== ====== Интеграция 1СПАРК Риски в произвольный справочник ======
  
-Настройка объектов подсистемы+===== Настройка объектов подсистемы =====
  
 Настроить типы справочников контрагентов в определяемых типах подсистемы «Базовая функциональность Интернет-поддержки»: Настроить типы справочников контрагентов в определяемых типах подсистемы «Базовая функциональность Интернет-поддержки»:
 + 
 +  * Включить в состав определяемого типа **КонтрагентБИП** один или несколько типов ссылки справочника контрагентов: **СправочникСсылка.<Имя справочника>**;
 +  * Включить в состав определяемого типа **КонтрагентБИПОбъект** один или несколько типов объектов справочника контрагентов: **СправочникОбъект.<Имя справочника>**;
 +  * (пропустил) Включить в состав определяемого типа **ШаблонСообщенияБИП** один или несколько типов объектов справочника контрагентов: **СправочникОбъект.<Имя справочника ШаблоныСообщений>**;
 +
 +В общем модуле **СПАРКРискиПереопределяемый**:
 +
 +  * Заполнить реализацию метода **ПриОпределенииСвойствСправочниковКонтрагентов()**. Заполнение реализации метода обязательно для работы подсистемы;
 +  * Заполнить реализацию методов **ПараметрыНачальногоЗаполненияДанных1СПАРКРискиЮридическихЛиц()** и **ПараметрыНачальногоЗаполненияДанных1СПАРКРискиИндивидуальныхПредпринимателей()**. Методы вызывается при переходе на новую версию конфигурации с внедренной подсистемой 1СПАРК Риски и выполняется начальное заполнение данных подсистемы. Заполнение реализации метода обязательно для работы подсистемы;
 +  * Для определения списка контрагентов, по которым необходимо получать события мониторинга, заполнить реализацию метода **КонтрагентыДляМониторинга()**. Метод вызывается один раз в сутки регламентным заданием, выполняющим постановку выбранных контрагентов на мониторинг в сервисе 1СПАРК Риски;
 +
 +В общем модуле **СПАРКРискиКлиентСерверПереопределяемый**:
 +
 +  * Элемент ненумерованного спискаЗаполнить реализацию метода **ПриОпределенииСвойствКонтрагентаВОбъекте()**. Заполнение реализации метода требуется для корректной работы подсистемы;
 +
 +В общем модуле **РаботаСКонтрагентамиПереопределяемый**:\\ 
 +Заполнить реализацию метода **ПриОпределенииСвойствСправочниковКонтрагентов()**. Заполнение реализации метода обязательно для работы подсистемы
 +<code>
 + НоваяСтрока = СвойстваСправочников.Добавить();
 + НоваяСтрока.Имя = "ФЕС_CCRF";
 + НоваяСтрока.Иерархический = Ложь;
 + НоваяСтрока.РеквизитИНН = "ИНН";
 + НоваяСтрока.РеквизитКПП = "";
 + НоваяСтрока.ОтключитьСозданиеИзДосьеКонтрагента = Истина;
 +
 +</code>
 +
 +===== Настройка форм справочников контрагентов и документов =====
 +
 +==== Внедрение функциональности в формы ====
 +
 +Создать в форме реквизиты **ИндексыСПАРКРиски** и **НастройкиСПАРКРиски**, назначить тип Произвольный.
 +
 +В обработчик **ПриСозданииНаСервере()** вставить фрагмент кода:
 +<code>
 + // ИнтернетПоддержкаПользователей.СПАРКРиски
 + Контрагент = ?(Параметры.Ключ.Пустая(), Объект.ИНН, Объект.Ссылка);
 +
 + ВидКонтрагентаСПАРКРиски = ВидКонтрагентаСПАРКРиски(Объект.ИНН);
 +
 + ПараметрыПроцедуры = Новый Структура("ВариантОтображения", "Многострочный");
 + СПАРКРиски.ПриСозданииНаСервере(
 + ЭтотОбъект,
 + Объект,
 + Контрагент,
 + ВидКонтрагентаСПАРКРиски,
 + ПараметрыПроцедуры);
 + // Конец ИнтернетПоддержкаПользователей.СПАРКРиски
 +
 +</code>
 +
 +Для отображения стандартным способом (см. р. «Вариант стандартного отображения индексов в формах») допускаются значения параметра **ВариантОтображения**:
 +  * «**Многострочный**» - отображение индексов в многострочном варианте;
 +  * «**Однострочный**» - отображение индексов в однострочном (компактном варианте).
 +
 +Для определения типа проверки, необходимо передавать **ВидКонтрагента**. Значение вида контрагента определяется перечислением **ВидыКонтрагентовСПАРКРиски**.\\ 
 +Если в форме нет реквизита **ВидКонтрагента**, то нужно добавить функции **ВидКонтрагентаПоИНН** и **ВидКонтрагентаСПАРКРиски**
 +<code>
 +&НаКлиентеНаСервереБезКонтекста
 +Функция ВидКонтрагентаПоИНН(ИНН)
 + Если СтрДлина(СокрЛП(ИНН)) = 10 тогда
 + Возврат "ЮрЛицо";
 + ИначеЕсли СтрДлина(СокрЛП(ИНН)) = 10 тогда
 + Возврат "ИндивидуальныйПредприниматель";
 + Иначе
 + Возврат "";
 + КонецЕсли;
 +КонецФункции // ВидКонтрагентаПоИНН()
 +
 +&НаКлиентеНаСервереБезКонтекста
 +Функция ВидКонтрагентаСПАРКРиски(ИНН)
 + ЮрФизЛицо = ВидКонтрагентаПоИНН(ИНН);
 + Если ЮрФизЛицо = "ЮрЛицо" Тогда
 + ВидКонтрагента = ПредопределенноеЗначение("Перечисление.ВидыКонтрагентовСПАРКРиски.ЮридическоеЛицо");
 + ИначеЕсли ЮрФизЛицо = "ИндивидуальныйПредприниматель" Тогда
 + ВидКонтрагента = ПредопределенноеЗначение("Перечисление.ВидыКонтрагентовСПАРКРиски.ИндивидуальныйПредприниматель");
 + Иначе
 + ВидКонтрагента = ПредопределенноеЗначение("Перечисление.ВидыКонтрагентовСПАРКРиски.ПустаяСсылка");
 + КонецЕсли;
 + Возврат ВидКонтрагента;
 +КонецФункции
 +</code>
 +
 +В обработчик **ПриОткрытии()** вставить фрагмент кода:
 +<code>
 + // ИнтернетПоддержкаПользователей.СПАРКРиски
 + СПАРКРискиКлиент.ПриОткрытии(ЭтотОбъект, Объект);
 + // Конец ИнтернетПоддержкаПользователей.СПАРКРиски
 +</code>
 +
 +В обработчик **ОбработкаОповещения()** вставить фрагмент кода:
 +<code>
 + // ИнтернетПоддержкаПользователей.СПАРКРиски
 + СПАРКРискиКлиент.ОбработкаОповещения(ЭтотОбъект, Объект, ИмяСобытия, Параметр, Источник);
 + // Конец ИнтернетПоддержкаПользователей.СПАРКРиски
 +</code>
 +
 +В обработчик **ПослеЗаписиНаСервере()** вставить фрагмент кода:
 +<code>
 + ПараметрыЗаписиСПАРКРиски = ПараметрыЗаписи;
 + // ИнтернетПоддержкаПользователей.СПАРКРиски
 + СПАРКРиски.ПослеЗаписиНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписиСПАРКРиски);
 + // Конец ИнтернетПоддержкаПользователей.СПАРКРиски
 +</code>
 +
 +Во все обработчики формы, в которых изменяются свойства контрагента (ИНН, юридическое лицо, иностранный контрагент), вставить фрагмент кода:
 +<code>
 + // ИнтернетПоддержкаПользователей.СПАРКРиски
 + ЭтотОбъект.ИндексыСПАРКРиски = Неопределено;
 + ОбновитьОтображениеИндексыСПАРК();
 + // Конец ИнтернетПоддержкаПользователей.СПАРКРиски
 +</code>
 +
 +В обработчик события **ОбработкаНавигационнойСсылки()** декораций, предназначенных для отображения значений индексов, вставить фрагмент кода:
 +<code>
 +&НаКлиенте
 +Процедура ДекорацияИндексыСПАРКРискиОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
 + // ИнтернетПоддержкаПользователей.СПАРКРиски
 + СПАРКРискиКлиент.ОбработкаНавигационнойСсылки(ЭтотОбъект, Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка);
 + // Конец ИнтернетПоддержкаПользователей.СПАРКРиски
 + Возврат;
 +КонецПроцедуры
 +</code>
 +
 +Добавить в модуль формы процедуры:
 +<code>
 +// ИнтернетПоддержкаПользователей.СПАРКРиски
 +&НаКлиенте
 +Процедура Подключаемый_ОбновитьОтображениеИндексыСПАРК()
 + ОбновитьОтображениеИндексыСПАРК();
 +КонецПроцедуры
 + 
 +&НаКлиенте
 +Процедура ОбновитьОтображениеИндексыСПАРК()
 + ВидКонтрагентаБИП = ВидКонтрагентаСПАРКРиски(Объект.ИНН);
 +  
 + ПараметрыОтображения = Новый Структура("ВариантОтображения", "Многострочный");
 + СПАРКРискиКлиент.ОтобразитьИндексыСПАРК(
 + ЭтотОбъект.ИндексыСПАРКРиски,
 + Объект,
 + Объект.ИНН, // Искать по ИНН
 + ВидКонтрагентаБИП,
 + ЭтотОбъект,
 + ПараметрыОтображения,
 + Истина
 + );
 + КонецПроцедуры
 + // Конец ИнтернетПоддержкаПользователей.СПАРКРиски
 +</code>
 +
 +==== Стандартное отображение индексов в формах ====
 +
 +См. пример встраивания в форме элемента справочника _ДемоОрганизации, в форме документа _ДемоПлатежноеПоручение в демонстрационной конфигурации.
 +
 +На форме необходимо разместить элементы управления:
 +
 +Группа **ГруппаИндексыСПАРКРиски**, внутри которой будут расположены:
 +
 +  * Декорация «**ДекорацияИндексыСПАРКРиски**»
 +  * Декорация-иконка «**КартинкаОжиданиеЗагрузкиИндексовСПАРКРиски**» с вставленной иконкой «**ДлительнаяОперация16**»
 +
 +==== Подключаемые команды в форме справочника контрагентов ====
 +
 +Создать в форме группу командной панели.
 +
 +Для формы элемента:
 +
 +В обработчик **ПриСозданииНаСервере()** вставить фрагмент кода:
 +<code>
 + ДополнительныеПараметрыСПАРК = Неопределено;
 + // ИнтернетПоддержкаПользователей.СПАРКРиски
 + СПАРКРиски.ДобавитьПодключаемыеКомандыКонтрагента(ЭтотОбъект, Объект, Элементы.ПодменюСПАРК, ДополнительныеПараметрыСПАРК);
 + // Конец ИнтернетПоддержкаПользователей.СПАРКРиски
 +</code>
 +
 +На форму в командную панель поместить группу (подменю) "ПодменюСПАРК"/"1СПАРК Риски". Туда будут размещены подключаемые команды подсистемы.
 +
 +В модуль формы вставить процедуру:
 +<code>
 +&НаКлиенте
 +Процедура Подключаемый_ВыполнитьКоманду1СПАРКРиски(Команда)
 + СПАРКРискиКлиент.ВыполнитьПодключаемуюКоманду(Команда, ЭтотОбъект, Объект);
 +КонецПроцедуры
 +</code>
 +
 +Для формы списка:
 +
 +В обработчик **ПриСозданииНаСервере()** вставить фрагмент кода:
 +<code>
 + // Команды1СПАРКРиски
 + СПАРКРиски.ДобавитьПодключаемыеКомандыКонтрагента(ЭтотОбъект, Список, Элементы.ПодменюСПАРК);
 + // Конец Команды1СПАРКРиски
 +</code>
 +
 +На форму в командную панель поместить группу (подменю) "ПодменюСПАРК"/"1СПАРК Риски". Туда будут размещены подключаемые команды подсистемы.
 +
 +В модуль формы вставить процедуру:
 +<code>
 +// ИнтернетПоддержкаПользователей.СПАРКРиски
 +&НаКлиенте
 +Процедура Подключаемый_ВыполнитьКоманду1СПАРКРиски(Команда)
 + СПАРКРискиКлиент.ВыполнитьПодключаемуюКоманду(Команда, ЭтотОбъект, Элементы.Список);
 +КонецПроцедуры
 +// Конец ИнтернетПоддержкаПользователей.СПАРКРиски
 +</code>
 +
  
-Включить в состав определяемого типа КонтрагентБИП один или несколько типов ссылки справочника контрагентов: СправочникСсылка.<Имя справочника Контрагенты>; 
-Включить в состав определяемого типа КонтрагентБИПОбъект один или несколько типов объектов справочника контрагентов: СправочникОбъект.<Имя справочника Контрагенты>; 
dev1c/ref_1cpark_integration.1694764616.txt.gz · Последнее изменение: 2023/09/15 07:56 — admin16

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki