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