Различия

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

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

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