Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
шлюз_выгрузка:сформировать_хоз_субъект [2018/08/02 16:04]
misha
— (текущий)
Строка 1: Строка 1:
-====== Пример формирования хозяйствующего субъекта для выгрузки в АСП:​Шлюз ====== 
  
-<1c> 
-Функция СформироватьХозСубъект(Контрагент,​фабрика) 
-  
- ХозСубъект = Фабрика.Создать(Фабрика.Тип( ПространствоИмен(),"​ХозяйствующийСубъект"​));​ 
-  
- ХозСубъект.Наименование = Контрагент.Наименование;​ 
- ХозСубъект.НаименованиеПолное = Контрагент.НаименованиеПолное;​ 
- Если Контрагент.Ссылка.Метаданные().Реквизиты.Найти("​ЮридическоеФизическоеЛицо"​)=Неопределено Тогда //#1 
- ЮрФизЛицо = "​Физ";​ 
- Иначе 
- Если Контрагент.ЮридическоеФизическоеЛицо = Перечисления.ЮридическоеФизическоеЛицо.ЮридическоеЛицо Тогда //#1  
- ЮрФизЛицо = "​Юр"; ​                                                  
- ИначеЕсли Контрагент.ЮридическоеФизическоеЛицо = Перечисления.ЮридическоеФизическоеЛицо.ФизическоеЛицо Тогда //#1  
- ЮрФизЛицо = "​ИП";​ 
- КонецЕсли;​ 
- КонецЕсли;​ 
-  
- ХозСубъект.ЮрФизЛицо = ЮрФизЛицо;​ 
- ХозСубъект.ИНН = Контрагент.ИНН;​ // Метаданные.Справочники.Контрагенты.Реквизиты.Найти("​ИНН"​)<>​Неопределено 
- //​ХозСубъект.ОГРН = "";​ 
- ХозСубъект.Комментарий = "​перенесено через XDTO"; 
-  
-  
-  
- // Обычные формы //#2 
- ХозСубъект.Адрес = УправлениеКонтактнойИнформацией.ПолучитьАдресИзКонтактнойИнформации(Контрагент,​ "​Юридический"​);​ 
- Если НЕ ЗначениеЗаполнено(ХозСубъект.Адрес) Тогда 
- Сообщить("​Необходимо заполнить юридический адрес контрагента:​ " + Контрагент); ​ 
- Возврат Неопределено;​ 
- КонецЕсли;​  
- 
- //​ХозСубъект.Организация = Истина; ​ // Указывается,​ если выхружаемый Хоз. субъект является организацией 
- Возврат ХозСубъект;​ 
-КонецФункции 
-</1c> 
-| 
-++++#1 Заполнение поля ЮрФизЛицо 
-| 
-В зависимости от учетной системы,​ правовая форма контрагента может хранится в различных реквизитах. 
-| 
-<1c> 
-// Из поля ЮридическоеФизическоеЛицо ​ 
-ПолучитьТипХС(Ссылка) 
-   ​Если Ссылка.ЮридическоеФизическоеЛицо = Перечисления.ЮридическоеФизическоеЛицо.ЮридическоеЛицо Тогда 
-      Возврат Юр"; ​                                                  
-   ​ИначеЕсли Ссылка.ЮридическоеФизическоеЛицо = Перечисления.ЮридическоеФизическоеЛицо.ФизическоеЛицо Тогда ​ 
-      Возврат "​ИП";​ 
-   ​КонецЕсли;​ 
-  
-   ​Возврат Неопределено;​ 
-КонецФункции 
-</1c> 
-<1c> 
-// Из поля ЮрФизЛицо ​ 
-ПолучитьТипХС(Ссылка) 
-    Если Ссылка.ЮрФизЛицо = Перечисления.ЮрФизЛицо.ЮрЛицо Тогда 
-        Возврат "​Юр"; ​                                                  
-    ИначеЕсли Ссылка.ЮрФизЛицо = Перечисления.ЮрФизЛицо.ФизЛицо Тогда 
-        Возврат "​ИП";​ 
-    КонецЕсли;​ 
-  
-    Возврат Неопределено;​ 
-КонецФункции 
-</1c> 
-++++ 
- 
-++++#2 Заполнение адреса 
-| 
-На управляемых формах адрес Хоз. субъекта можно получить следующим способом ​ 
-<1c> 
-Если Контрагент.КонтактнаяИнформация.Количество() > 0 Тогда 
- Для Каждого Инф Из Контрагент.КонтактнаяИнформация Цикл ​ 
- Если Инф.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес И Инф.Вид = Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента Тогда //​Инф.Вид = Справочники.ВидыКонтактнойИнформации.ФактАдресКонтрагента 
-          ХозСубъект.Адрес = Инф.Представление;​ 
- Прервать;​ 
- КонецЕсли;​ 
- КонецЦикла;​ 
-Иначе 
- Возврат Строка(Контрагент.Наименование)+":​ необходимо заполнить контактную информацию.";​ 
-КонецЕсли;​ 
-</1c> 
-Для обычных форм это может быть: 
-<1c> 
-ХозСубъект.Адрес = УправлениеКонтактнойИнформацией.ПолучитьАдресИзКонтактнойИнформации(Контрагент,​ "​Юридический"​);​ 
-Если НЕ ЗначениеЗаполнено(ХозСубъект.Адрес) Тогда 
- Сообщить("​Необходимо заполнить юридический адрес контрагента:​ " + Контрагент); ​ 
- Возврат Неопределено;​ 
-КонецЕсли;​ 
-</1c> 
-или 
-<1c> 
-ХозСубъект.Адрес = УправлениеКонтактнойИнформацией.ПолучитьАдресИзКонтактнойИнформации(Контрагент,​ "​Фактический"​);​ 
-Если НЕ ЗначениеЗаполнено(ХозСубъект.Адрес) Тогда 
- Сообщить("​Необходимо заполнить фактическийадрес контрагента:​ " + Контрагент); ​ 
- Возврат Неопределено;​ 
-КонецЕсли;​ 
-</1c> 
-++++