rabota_s_planom_obmena

Работа с Планом Обмена

Функция ПолучитьУзелОбменаОтметокСБУХ()

	ЭтотУзел = ПланыОбмена.ОтметкиНДЗаказовКлиентовВБуХ.ЭтотУзел();
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	ОтметкиНДЗаказовКлиентовВБуХ.Ссылка,
		|	ОтметкиНДЗаказовКлиентовВБуХ.Наименование
		|ИЗ
		|	ПланОбмена.ОтметкиНДЗаказовКлиентовВБуХ КАК ОтметкиНДЗаказовКлиентовВБуХ
		|ГДЕ
		|	ОтметкиНДЗаказовКлиентовВБуХ.Ссылка <> &ЭтотУзел";
		
	Запрос.УстановитьПараметр("ЭтотУзел", ЭтотУзел);
	
	Результат = Запрос.Выполнить();
	
	Если Результат.Пустой() Тогда
		УзелОтметкиНДЗаказовКлиентовВБуХ = ПланыОбмена.ОтметкиНДЗаказовКлиентовВБуХ.СоздатьУзел();
		УзелОтметкиНДЗаказовКлиентовВБуХ.Наименование = "УзелОтметкиНДЗаказовКлиентовВБуХ";
		УзелОтметкиНДЗаказовКлиентовВБуХ.Код = 1;
		УзелОтметкиНДЗаказовКлиентовВБуХ.Записать();
		Узел = УзелОтметкиНДЗаказовКлиентовВБуХ.Ссылка;
	Иначе
		Выборка = Результат.Выбрать();
		Выборка.Следующий();
		Узел = Выборка.Ссылка;
	КонецЕсли;
	
	Возврат Узел;
	
КонецФункции

Вариант 1

ПланыОбменаМенеджер.ЗарегистрироватьИзменения(Узел, Метаданные.Справочники.Номенклатура);

или

Узел = ПланыОбмена.ОбменНоменклатурой_Тест.НайтиПоКоду("НазваниеПланаОбмена");
ПланыОбмена.ЗарегистрироватьИзменения(Узел, Источник);

Для регистрации конкретных данных различных типов необходимо вызвать метод ЗарегистрироватьИзменения() менеджера планов обмена, передав ему в качестве параметра Данные либо сами данные, либо ссылку на них. Например

узел	=	ПланыОбмена.ОбменУправлениеТорговлей31Бухгалтерия20.НайтиПоНаименованию("Бухгалтерия для Украины, редакция 2.0");		
ОбменДаннымиСобытия.ЗарегистрироватьИзмененияДанных(узел, Источник.ссылка, истина);

Вариант 2

Процедура ЗарегистрироватьВПланОбменОтметкиНДЗаказовКлиентовВБуХ(ТекущийЗаказ) Экспорт 
	ПланыОбмена.ЗарегистрироватьИзменения(ПолучитьУзелОбменаОтметокСБУХ(), ТекущийЗаказ);
КонецПроцедуры

Вариант 1

Процедура ПолучитьИзПланаОбменаОтметкиНДЗаказовКлиентовВБуХ(ТекущийЗаказ) Экспорт 
	Узел = ПланыОбмена.ОтметкиНДЗаказовКлиентовВБуХ.НайтиПоНаименованию("ОтметкиНДЗаказовКлиентовВБуХ",Истина);
	ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения();
	
	ВременнаяЗаписьXML = Новый ЗаписьXML();
	ВременнаяЗаписьXML.УстановитьСтроку();
	ЗаписьСообщения.НачатьЗапись(ВременнаяЗаписьXML, Узел);
	
	Выборка = ПланыОбмена.ВыбратьИзменения(Узел, ЗаписьСообщения.НомерСообщения);
	
	ЗаписьСообщения.ЗакончитьЗапись();
КонецПроцедуры

Вариант 2 Для формирования запроса к объекту с изменениями через конструктор необходимо включить опцию отображения таблиц с изменениями

	узел	=	ПолучитьУзелДляРегистрацииБУХ();
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	ФизическиеЛицаИзменения.Ссылка,
		|	ФизическиеЛицаИзменения.НомерСообщения
		|ИЗ
		|	Справочник.ФизическиеЛица.Изменения КАК ФизическиеЛицаИзменения
		|ГДЕ
		|	ФизическиеЛицаИзменения.Узел = &Узел";
	
	Запрос.УстановитьПараметр("Узел", узел);
	
	РезультатЗапроса = Запрос.Выполнить().Выгрузить();
Функция ПолучитьУзелДляРегистрацииБУХ() 
	
	УзелБух	=	Неопределено;
	
	ВыборкаУзлов	=	ПланыОбмена.ОбменЗУП21Бухгалтерия21.Выбрать();
	Пока ВыборкаУзлов.Следующий() Цикл			
		Если ВыборкаУзлов.Ссылка=ПланыОбмена.ОбменЗУП21Бухгалтерия21.ЭтотУзел() Тогда
			Продолжить;
		КонецЕсли;
		УзелБух	=	ВыборкаУзлов.Ссылка;
	КонецЦикла;
	
	Возврат УзелБух;
	
КонецФункции
Процедура ОчиститьВПланОбменаОтметкиНДЗаказовКлиентовВБуХ(ТекущийЗаказ) Экспорт
	Узел = ПланыОбмена.ОтметкиНДЗаказовКлиентовВБуХ.НайтиПоНаименованию("ОтметкиНДЗаказовКлиентовВБуХ",Истина);
	ПланыОбмена.УдалитьРегистрациюИзменений(Узел,ТекущийЗаказ);
КонецПроцедуры
  • /sites/data/pages/rabota_s_planom_obmena.txt
  • Последнее изменение: 2024/04/25 11:58
  • tro