Различия

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

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

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