Оглавление
- 1. Общие сведения
- 2. Системные требования
- 3. Порядок действий
- 3.1. Настройка состава дополнительных сведений об абонентах
- 3.2. Наименование публичного идентификатора абонента
- 3.3. Правило для заполнения сведений о юридических лицах на основе данных сервиса 1С:Контрагент
- 3.4. Правило для заполнения сведений о физических лицах на основе данных сервиса 1С:Контрагент
- 3.5. Правило для заполнения сведений об абонентах на основе данных приглашений
- 3.6. Добавление источников заполнения абонентов
- 4. Проверка
- 5. Порядок возврата к исходному состоянию
1. Общие сведения
В настоящей инструкции описывается пример настройки заполнения дополнительных сведений об абонентах в облачном сервисе Фреш на основании:
- данных сервиса 1С:Контрагент по указанному ИНН (индивидуальному номеру налогоплательщика);
- данных, указанных в приглашении в сервис.
С помощью сервиса 1С:Контрагент заполняются следующие дополнительные свойства абонентов-организаций:
- ИНН абонента
- КПП
- Наименование организации
- Индекс
- Город (ДополнительныеСведения)
- Улица
- Дом
- Корпус
- Контактное лицо абонента
И следующие свойства абонентов-физических лиц:
- ИНН абонента
- КПП
- Наименование организации
На основании данных приглашения заполняются следующие дополнительные свойства абонентов:
Код города
- Телефон
- Электронная почта
2. Системные требования
Для использования настроек заполнения требуются:
- менеджер сервиса версии 1.0.90.8 или более новой;
- действительные логин и пароль Портала 1С:ИТС для доступа к сервису 1С:Контрагент. Их необходимо использовать в правилах трансляции (см. разделы 3.3 и 3.4 ниже) вместо строк login и password
3. Порядок действий
3.1. Настройка состава дополнительных сведений об абонентах
Администратор сервиса должен настроить состав дополнительных сведений об абонентах, как описано в документе «1С:Облачная подсистема Фреш», раздел «Дополнительные сведения об абонентах». И включить в состав дополнительных сведений сведения, указанные выше в разделе 1 «Общие сведения».
3.2. Наименование публичного идентификатора абонента
Зададим для публичного идентификатора абонента наименование ИНН:
- Администратор сервиса должен в менеджере сервиса вызвать настройки конфигурации: Главное → Настройки конфигурации.
- Перейти на вкладку Абоненты, а в ней на вложенную вкладку Регистрация.
- В поле Заголовок публичного идентификатора абонента указать значение ИНН.
- Нажать кнопку Записать и закрыть.
3.3. Правило для заполнения сведений о юридических лицах на основе данных сервиса 1С:Контрагент
- Администратор сервиса должен в менеджере сервиса выполнить команду: Интеграция → Правила трансляции объектов.
- Нажать кнопку Создать и создать правило трансляции объектов с параметрами:
- Наименование = Заполнение с помощью 1С:Контрагент (ЮЛ)
- Тип объекта = Абоненты (Справочник)
- Операция = Загрузка
Перед обработкой =
Если СтрДлина(Источник.public_id) = 10 Тогда Соединение = Новый HTTPСоединение("api.orgregister.1c.ru", 443, "login", "password", , 60, Новый ЗащищенноеСоединениеOpenSSL); Запрос = Новый HTTPЗапрос(СтрШаблон("rest/corporation/v1/find-corporation-by-inn?inn=%1", Источник.public_id)); ИменаСвойствДат = СтрРазделить("registrationDate,fromDate,effectiveDate", ","); РезультатЗапроса = Соединение.ВызватьHTTPМетод("GET", Запрос); Если РезультатЗапроса.КодСостояния = 200 Тогда Источник = УниверсальнаяИнтеграция.СтруктураИзСтрокиJSON(РезультатЗапроса.ПолучитьТелоКакСтроку(), ИменаСвойствДат); Иначе СтандартнаяОбработка = Ложь; КонецЕсли; Иначе СтандартнаяОбработка = Ложь; КонецЕсли;;
(здесь вместо login и password надо указать действительные логин и пароль Портала 1С:ИТС для доступа к сервису 1С:Контрагент).
- На вкладке Правила обработки задать следующие правила:
- ИНН абонента
- Из свойства JSON-объекта:
inn
- КПП
- Из свойства JSON-объекта:
kpp.value
- Наименование организации
- Из свойства JSON-объекта:
name.fullName
Город
Из выражения на встроенном языке:
Индекс
Из свойства JSON-объекта:
address.postalCode
Улица
Из выражения на встроенном языке:
Если Источник.Свойство("address") И Источник.address.Свойство("street") Тогда Значение = Источник.address.street + " " + Источник.address.streetType; КонецЕсли;
Дом
Из выражения на встроенном языке:
Если Источник.Свойство("address") И Источник.address.Свойство("house") Тогда Значение = ?(Источник.address.houseType = "дом", "", Источник.address.houseType + " ") + Источник.address.house; КонецЕсли;
Корпус
Из выражения на встроенном языке:
Если Источник.Свойство("address") И Источник.address.Свойство("buildings") И Источник.address.buildings.Количество() > 0 Тогда Здание = Источник.address.buildings[0]; Значение = ?(Здание.type = "корпус", "", Здание.type + " ") + Здание.number; КонецЕсли;
- Квартира
Из выражения на встроенном языке:
Если Источник.Свойство("address") И Источник.address.Свойство("apartments") И Источник.address.apartments.Количество() > 0 Тогда Апартаменты = Источник.address.apartments[0]; Значение = ?(Апартаменты.type = "квартира", "", Апартаменты.type + " ") + Апартаменты.number; КонецЕсли;
Контактное лицо абонента
Из выражения на встроенном языке:
Если Источник.Свойство("headPersonInfo") И Источник.headPersonInfo.Свойство("director") Тогда ФИО = Источник.headPersonInfo.director; Значение = ФИО.lastName + " " + ФИО.name + ?(ФИО.Свойство("patronymic"), " " + ФИО.patronymic, ""); КонецЕсли;
- ИНН абонента
Должен получиться следующий результат:
3.4. Правило для заполнения сведений о физических лицах на основе данных сервиса 1С:Контрагент
- Администратор сервиса должен в менеджере сервиса выполнить команду: Интеграция → Правила трансляции объектов.
- Нажать кнопку Создать и создать правило трансляции объектов с параметрами:
- Наименование = Заполнение с помощью 1С:Контрагент (ФЛ)
- Тип объекта = Абоненты (Справочник)
- Операция = Загрузка
Перед обработкой =
Если СтрДлина(Источник.public_id) = 12 Тогда Соединение = Новый HTTPСоединение("api.orgregister.1c.ru", 443, "login", "password", , 60, Новый ЗащищенноеСоединениеOpenSSL); Запрос = Новый HTTPЗапрос(СтрШаблон("rest/person/v1/find-person-by-inn?inn=%1", Источник.public_id)); ИменаСвойствДат = СтрРазделить("registrationDate,fromDate,effectiveDate", ","); РезультатЗапроса = Соединение.ВызватьHTTPМетод("GET", Запрос); Если РезультатЗапроса.КодСостояния = 200 Тогда Источник = УниверсальнаяИнтеграция.СтруктураИзСтрокиJSON(РезультатЗапроса.ПолучитьТелоКакСтроку(), ИменаСвойствДат); Иначе СтандартнаяОбработка = Ложь; КонецЕсли; Иначе СтандартнаяОбработка = Ложь; КонецЕсли;
(здесь вместо login и password надо указать действительные логин и пароль Портала 1С:ИТС для доступа к сервису 1С:Контрагент).
- На вкладке Правила обработки задать следующие правила:
- ИНН абонента
- Из свойства JSON-объекта:
- inn
- Контактное лицо абонента
- Из свойства JSON-объекта:
person.fio
- ИНН абонента
- Наименование организации
Из выражения на встроенном языке:
Если Источник.Свойство("person") Тогда Значение = Источник.person.fio; Если Источник.registrationInfo.typeCode = "1" Тогда Значение = "ИП " + Значение; КонецЕсли; КонецЕсли;
- Наименование организации
Должен получиться следующий результат:
3.5. Правило для заполнения сведений об абонентах на основе данных приглашений
- Администратор сервиса должен в менеджере сервиса выполнить команду: Интеграция → Правила трансляции объектов.
- Нажать кнопку Создать и создать правило трансляции объектов с параметрами:
- Наименование = Заполнение по данным приглашения
- Тип объекта = Абоненты (Справочник)
- Операция = Загрузка
Перед обработкой =
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1 Т.ПриглашениеДляРегистрации ИЗ Справочник.Абоненты КАК Т ГДЕ Т.Код = &КодАбонента"; Запрос.УстановитьПараметр("КодАбонента", Приемник.Код); Данные = Запрос.Выполнить().Выгрузить(); Если Данные.Количество() > 0 Тогда Приемник.ПриглашениеДляРегистрации = Данные[0].ПриглашениеДляРегистрации; КонецЕсли;
- На вкладке Правила обработки задать следующие правила:
Код города
Из выражения на встроенном языке:
Если Приемник.ПриглашениеДляРегистрации.КонтактнаяИнформация.Количество() > 0 Тогда Значение = Приемник.ПриглашениеДляРегистрации.КонтактнаяИнформация[0].Представление; Числа = СтроковыеФункцииКлиентСервер.ЧислаИзСтроки(Значение); Если Числа.Количество() = 1 Тогда Значение = Сред(Числа[0], 2, 3); ИначеЕсли Числа.Количество() > 1 Тогда Числа.Удалить(0); Значение = Лев(СтрСоединить(Числа, ""), 3); КонецЕсли; КонецЕсли;
- Телефон
Из выражения на встроенном языке:
Если Приемник.ПриглашениеДляРегистрации.КонтактнаяИнформация.Количество() > 0 Тогда Значение = Приемник.ПриглашениеДляРегистрации.КонтактнаяИнформация[0].Представление; КонецЕсли;
- Электронная почта
Из выражения на встроенном языке:
Если Не ПустаяСтрока(Приемник.ПриглашениеДляРегистрации.АдресЭлектроннойПочты) Тогда Значение = Приемник.ПриглашениеДляРегистрации.АдресЭлектроннойПочты; КонецЕсли;
Должен получиться следующий результат:
3.6. Добавление источников заполнения абонентов
- Администратор сервиса должен в менеджере сервиса выполнить команду: Интеграция → Источники заполнения абонентов.
- Нажимая кнопку Создать, добавить источники заполнения абонентов:
4. Проверка
Для проверки правил заполнения администратор сервиса может:
- Открыть справочник Абоненты (команда меню Обслуживание → Абоненты).
- Открыть любой элемент этого справочника.
- Перейти на вкладку Свойства
- Заполнить значение поля ИНН , например 7714017115
- Нажать кнопку Заполнить сведения.
- Свойства абонента будут заполнены данными организации.
- Закрыть элемент справочника Абоненты, не записывая сделанные изменения.
- Повторить действия п.п. 2–7, указав любой ИНН физического лица — индивидуального предпринимателя.
5. Порядок возврата к исходному состоянию
Для возврата к исходному состоянию достаточно удалить добавленные источники заполнения абонентов (см. раздел 3.6).