Сформировать поднадзорного

Материал из База знаний АО АСП
Перейти к навигации Перейти к поиску

Пример формирования поднадзорного объекта для выгрузки в АСП.Шлюз

В примере используется функция: СформироватьХозСубъект

Функция СформироватьПоднадзорного(Партнер, Контрагент, Фабрика)
	ПоднадзорныйОбъект = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(), "ПоднадзорныйОбъект"));
	
	ПоднадзорныйОбъект.Наименование = Партнер.Наименование;
	ПоднадзорныйОбъект.НаименованиеПолное = Партнер.Наименование; // #1
	
	ПоднадзорныйОбъект.Тип = 1; // #2
	ПоднадзорныйОбъект.Комментарий = ""; // Партнер.ДополнительнаяИнформация;
	ПоднадзорныйОбъект.Код = Партнер.Код;
	
	Результат = СформироватьХозСубъект(Контрагент, Фабрика);
	Если ТипЗнч(Результат) = Тип("Строка") Тогда
		Возврат Результат;
	Иначе
		ПоднадзорныйОбъект.ХозСубъект = Результат;
	КонецЕсли;
	
	// Обычные формы #3
	ПоднадзорныйОбъект.Адрес = УправлениеКонтактнойИнформацией.ПолучитьАдресИзКонтактнойИнформации(Контрагент, "Фактический");
	Если НЕ ЗначениеЗаполнено(ПоднадзорныйОбъект.Адрес) Тогда
		Сообщить("Необходимо заполнить фактический адрес контрагента: " + Партнер);
		Возврат Неопределено;
	КонецЕсли;
	
	Возврат ПоднадзорныйОбъект;
КонецФункции

Примечания

Заполнение полного наименования

В данное поле заполняется наименование для печати. Возможные варианты:

ПоднадзорныйОбъект.НаименованиеПолное = Партнер.Наименование;
ПоднадзорныйОбъект.НаименованиеПолное = Партнер.НаименованиеПолное;

Или любое другое поле, отвечающее за наименование поднадзорного объекта.

Заполнение типа поднадзорного

Существуют следующие типы поднадзорных:

  • 1 - предприятие
  • 2 - рынок
  • 3 - СББЖ
  • 4 - судно

Заполнение адреса

На управляемых формах адрес можно получить следующим способом:

Если Партнер.КонтактнаяИнформация.Количество() > 0 Тогда
	Для Каждого Инф Из Партнер.КонтактнаяИнформация Цикл 
		Если Инф.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес 
		   И Инф.Вид = Справочники.ВидыКонтактнойИнформации.ФактАдресКонтрагента Тогда
			// Или Инф.Вид = Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента 
			ПоднадзорныйОбъект.Адрес = Инф.Представление;
			Прервать;
		КонецЕсли;
	КонецЦикла;
Иначе
	Возврат Строка(Контрагент.Наименование) + ": необходимо заполнить контактную информацию.";
КонецЕсли;

Для обычных форм это может быть:

ПоднадзорныйОбъект.Адрес = УправлениеКонтактнойИнформацией.ПолучитьАдресИзКонтактнойИнформации(Партнер, "Юридический");
Если НЕ ЗначениеЗаполнено(ПоднадзорныйОбъект.Адрес) Тогда
	Сообщить("Необходимо заполнить юридический адрес контрагента: " + Партнер); 
	Возврат Неопределено;
КонецЕсли;

Или:

ПоднадзорныйОбъект.Адрес = УправлениеКонтактнойИнформацией.ПолучитьАдресИзКонтактнойИнформации(Партнер, "Фактический");
Если НЕ ЗначениеЗаполнено(ПоднадзорныйОбъект.Адрес) Тогда
	Сообщить("Необходимо заполнить фактический адрес контрагента: " + Партнер); 
	Возврат Неопределено;
КонецЕсли;
0.00
(0 голосов)