Сформировать поднадзорного: различия между версиями

Материал из База знаний АО АСП
Перейти к навигации Перейти к поиску
Нет описания правки
Нет описания правки
Строка 1: Строка 1:
====== Пример формирования поднадзорного объекта для выгрузки в АСП.Шлюз ======
====== Пример формирования поднадзорного объекта для выгрузки в АСП.Шлюз ======
В примере используются следующие функции: [[шлюз_выгрузка:сформировать_хоз_субъект|СформироватьХозСубъект]]
В примере используются следующие функции: [[шлюз_выгрузка:сформировать_хоз_субъект|СформироватьХозСубъект]]
<1c>
<syntaxhighlight lang='1c'>
Функция СформироватьПоднадзорного(Партнер, Контрагент, Фабрика)
Функция СформироватьПоднадзорного(Партнер, Контрагент, Фабрика)
ПоднадзорныйОбъект = Фабрика.Создать(Фабрика.Тип( ПространствоИмен(),"ПоднадзорныйОбъект"));
ПоднадзорныйОбъект = Фабрика.Создать(Фабрика.Тип( ПространствоИмен(),"ПоднадзорныйОбъект"));
Строка 32: Строка 32:
Возврат ПоднадзорныйОбъект;
Возврат ПоднадзорныйОбъект;
КонецФункции
КонецФункции
</1c>
</syntaxhighlight>
|
|
#1 Заполнение полного наименования
#1 Заполнение полного наименования
Строка 38: Строка 38:
В данное поле заполняется наименование для печати. Возможное варианты:
В данное поле заполняется наименование для печати. Возможное варианты:
|
|
<1c>
<syntaxhighlight lang='1c'>
ПоднадзорныйОбъект.НаименованиеПолное = Партнер.Наименование;
ПоднадзорныйОбъект.НаименованиеПолное = Партнер.Наименование;
</1c>
</syntaxhighlight>
<1c>
<syntaxhighlight lang='1c'>
ПоднадзорныйОбъект.НаименованиеПолное = Партнер.НаименованиеПолное;
ПоднадзорныйОбъект.НаименованиеПолное = Партнер.НаименованиеПолное;
</1c>
</syntaxhighlight>
или любое другое поле, отвечающее за наименование поднадзорного объекта.
или любое другое поле, отвечающее за наименование поднадзорного объекта.


Строка 59: Строка 59:
|
|
На управляемых формах адрес можно получить следующим способом  
На управляемых формах адрес можно получить следующим способом  
<1c>
<syntaxhighlight lang='1c'>
Если Партнер.КонтактнаяИнформация.Количество() > 0 Тогда
Если Партнер.КонтактнаяИнформация.Количество() > 0 Тогда
Для Каждого Инф Из Партнер.КонтактнаяИнформация Цикл  
Для Каждого Инф Из Партнер.КонтактнаяИнформация Цикл  
Строка 70: Строка 70:
Возврат Строка(Контрагент.Наименование)+": необходимо заполнить контактную информацию.";
Возврат Строка(Контрагент.Наименование)+": необходимо заполнить контактную информацию.";
КонецЕсли;
КонецЕсли;
</1c>
</syntaxhighlight>
Для обычных форм это может быть:
Для обычных форм это может быть:
<1c>
<syntaxhighlight lang='1c'>
ПоднадзорныйОбъект.Адрес = УправлениеКонтактнойИнформацией.ПолучитьАдресИзКонтактнойИнформации(Партнер, "Юридический");
ПоднадзорныйОбъект.Адрес = УправлениеКонтактнойИнформацией.ПолучитьАдресИзКонтактнойИнформации(Партнер, "Юридический");
Если НЕ ЗначениеЗаполнено(ПоднадзорныйОбъект.Адрес) Тогда
Если НЕ ЗначениеЗаполнено(ПоднадзорныйОбъект.Адрес) Тогда
Строка 78: Строка 78:
Возврат Неопределено;
Возврат Неопределено;
КонецЕсли;
КонецЕсли;
</1c>
</syntaxhighlight>
или
или
<1c>
<syntaxhighlight lang='1c'>
ПоднадзорныйОбъект.Адрес = УправлениеКонтактнойИнформацией.ПолучитьАдресИзКонтактнойИнформации(Партнер, "Фактический");
ПоднадзорныйОбъект.Адрес = УправлениеКонтактнойИнформацией.ПолучитьАдресИзКонтактнойИнформации(Партнер, "Фактический");
Если НЕ ЗначениеЗаполнено(ПоднадзорныйОбъект.Адрес) Тогда
Если НЕ ЗначениеЗаполнено(ПоднадзорныйОбъект.Адрес) Тогда
Строка 86: Строка 86:
Возврат Неопределено;
Возврат Неопределено;
КонецЕсли;
КонецЕсли;
</1c>
</syntaxhighlight>


[[Category:Асп.шлюз выгрузка]]
[[Category:Асп.шлюз выгрузка]]


<vote type=1 />
<vote type=1 />

Версия от 13:05, 2 апреля 2025

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

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

Функция СформироватьПоднадзорного(Партнер, Контрагент, Фабрика)
	ПоднадзорныйОбъект	= Фабрика.Создать(Фабрика.Тип( ПространствоИмен(),"ПоднадзорныйОбъект"));
	
	ПоднадзорныйОбъект.Наименование = Партнер.Наименование;
	ПоднадзорныйОбъект.НаименованиеПолное = Партнер.Наименование; //#1
	
	ПоднадзорныйОбъект.Тип = 1; //#2
	<syntaxhighlight lang='bash'>
ПоднадзорныйОбъект.Комментарий 	= "";

Партнер.ДополнительнаяИнформация;

ПоднадзорныйОбъект.Код = Партнер.Код;

Результат = СформироватьХозСубъект(Контрагент,фабрика); Если ТипЗнч(Результат)= Тип("Строка") Тогда Возврат Результат; Иначе ПоднадзорныйОбъект.ХозСубъект = Результат; КонецЕсли;

Обычные формы

#3

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

Возврат ПоднадзорныйОбъект; КонецФункции </syntaxhighlight> |

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

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

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

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


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

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

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


  1. 3 Заполнение адреса

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

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

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

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

или

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