Видимость элемента формы по условию

1. user_NP 21.08.24 13:42 Сейчас в теме
Подскажите пожалуйста как реализовать в типовой КА снятие доступности вкладки.

Подробнее: Есть форма "РегистрацияСерийТоваров", в ней есть 2 вкладки: ввод серий и вторая - выбор. В документе "РасходныйОрдерНаТовары", нужно чтобы вкладка ввод была не доступаная, только если вызывается из "ПриходногоОрдераНаТовары"... Форма вызывается одна и та же, т.к. в расширении пыталась убрать доступность, "убирается" в обоих случаях и в расходных ордерах и в приходных.

Нашла процедуру документа РасходныйОрдерНаТовары, в которой вызывается форма регистраци:
&НаКлиенте
Процедура ОткрытьПодборСерий(ИмяТЧ, Текст = "", ТекущиеДанные = Неопределено)
	Если НоменклатураКлиент.ДляУказанияСерийНуженСерверныйВызов(ЭтаФорма,ПараметрыУказанияСерий[ИмяТЧ],Текст, ТекущиеДанные) Тогда
		Если ТекущиеДанные = Неопределено Тогда
			ТекущиеДанныеИдентификатор = Элементы[ИмяТЧ].ТекущиеДанные.ПолучитьИдентификатор();
		Иначе
			ТекущиеДанныеИдентификатор = ТекущиеДанные.ПолучитьИдентификатор();
		КонецЕсли;
		
		ПараметрыФормыУказанияСерий = ПараметрыФормыУказанияСерий(ТекущиеДанныеИдентификатор, ИмяТЧ);
		
		ОписаниеОповещения = Новый ОписаниеОповещения("ОткрытьПодборСерийЗавершение",
														ЭтотОбъект,
														Новый Структура("ИмяТЧ,ПараметрыФормыУказанияСерий", ИмяТЧ,ПараметрыФормыУказанияСерий));

		ОткрытьФорму(ПараметрыФормыУказанияСерий.ИмяФормы,
					ПараметрыФормыУказанияСерий,
					ЭтаФорма,
					,
					,
					,
					ОписаниеОповещения,
					РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
	КонецЕсли;
	
КонецПроцедуры
Показать


Форму и код обработки, где открывается эта форма...

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	Если Параметры.Свойство("АвтоТест") Тогда
		Возврат;
	КонецЕсли;
	
	Если Не ЭтоАдресВременногоХранилища(Параметры.АдресВоВременномХранилище) Тогда
		ТекстСообщения = НСтр("ru='Предусмотрено открытие обработки только из документов.'");
		
		ВызватьИсключение ТекстСообщения;
	КонецЕсли;
	
	ПараметрыУказанияСерий    = Параметры.ПараметрыУказанияСерий;
	
	ЗначенияПолейСвязиСтруктура = Новый Структура(СтрСоединить(ПараметрыУказанияСерий.ПоляСвязи,","));
	ЗначенияПолейСвязиСтруктура.Вставить("Номенклатура");
	ЗначенияПолейСвязиСтруктура.Вставить("Характеристика");
	ЗначенияПолейСвязиСтруктура.Вставить("Склад");
	ЗаполнитьЗначенияСвойств(ЗначенияПолейСвязиСтруктура, Параметры);
	ЗначенияПолейСвязи = Новый ФиксированнаяСтруктура(ЗначенияПолейСвязиСтруктура);
	
	РеквизитыНоменклатуры = Новый Структура;
	РеквизитыНоменклатуры.Вставить("ВидНоменклатуры", "ВидНоменклатуры");
	РеквизитыНоменклатуры.Вставить("ЕдиницаИзмеренияПредставление", "ЕдиницаИзмерения.Наименование");
	РеквизитыНоменклатуры.Вставить("СрокГодности", "СрокГодности");
	РеквизитыНоменклатуры.Вставить("ЕдиницаИзмеренияСрокаГодности", "ЕдиницаИзмеренияСрокаГодности");
	РеквизитыНоменклатуры.Вставить("ТипИзмеряемойВеличиныНоменклатуры", "ЕдиницаИзмерения.ТипИзмеряемойВеличины");
	
	РеквизитыНоменклатуры = Новый ФиксированнаяСтруктура(
		ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ЗначенияПолейСвязи.Номенклатура, РеквизитыНоменклатуры));
	
	НастройкиИспользованияСерий = Новый ФиксированнаяСтруктура(
		Справочники.ВидыНоменклатуры.НастройкиИспользованияСерий(
			РеквизитыНоменклатуры.ВидНоменклатуры, ПараметрыУказанияСерий, ЗначенияПолейСвязи));
	
	НоменклатураСервер.ПроверитьВозможностьОткрытияФормыУказанияСерий(
		НастройкиИспользованияСерий, ПараметрыУказанияСерий, ЗначенияПолейСвязи);
	
	УстановитьУсловноеОформление();
	
	ТолькоПросмотр = Параметры.ТолькоПросмотр;
	ТолькоРедактированиеКоличества = Параметры.ТолькоРедактированиеКоличества;
	
	АвторизованВнешнийПользователь = ОбщегоНазначенияУТКлиентСервер.АвторизованВнешнийПользователь();
	
	ОбщегоНазначенияУТ.НастроитьПодключаемоеОборудование(ЭтаФорма, "Серии");
	
	
	АдресВоВременномХранилище = Параметры.АдресВоВременномХранилище;
	КоличествоВДокументе      = Параметры.Количество;
	НомераСтрокПредставление  = Параметры.НомераСтрокДокумента;
	Склад					  = Параметры.Склад;
	Помещение 				  = Параметры.Помещение;
	Регистратор				  = Параметры.Регистратор;
	ЕстьУпаковки = ПараметрыУказанияСерий.ПоляСвязи.Найти("Упаковка") <> Неопределено;
	
	Упаковка                  = Параметры.Упаковка;
	Если Не ЗначениеЗаполнено(Упаковка) Тогда
		Если ЗначениеЗаполнено(Параметры.УпаковкаДляПодстановки) Тогда 
			
			Если РеквизитыНоменклатуры.ТипИзмеряемойВеличиныНоменклатуры <> Перечисления.ТипыИзмеряемыхВеличин.КоличествоШтук 
				Или РеквизитыНоменклатуры.ТипИзмеряемойВеличиныНоменклатуры = Перечисления.ТипыИзмеряемыхВеличин.КоличествоШтук
				И ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Параметры.УпаковкаДляПодстановки, "ТипИзмеряемойВеличины") = Перечисления.ТипыИзмеряемыхВеличин.Упаковка Тогда
				Упаковка = Параметры.УпаковкаДляПодстановки;
			КонецЕсли;
			
		КонецЕсли;
	КонецЕсли;
	ИсходнаяУпаковка = Упаковка;
	
	Заголовок = НСтр("ru = 'Регистрация серий товаров'");
	
	ТоварПредставление = НоменклатураСервер.ПредставлениеТовараВФормеУказанияСерий(ЗначенияПолейСвязи);
	
	Параметры.Свойство("ЗаголовокКолонкиКоличество", ПараметрЗаголовокКолонкиКоличество);
	
	Элементы.Упаковка.Доступность = Не ЕстьУпаковки;
	
	Элементы.Серии.ИзменятьСоставСтрок              = Не ТолькоПросмотр;
	Элементы.СерииКоличествоУпаковок.ТолькоПросмотр = ТолькоПросмотр;
	Элементы.ГруппаКоманднаяПанельТаблицы.Видимость = Не ТолькоПросмотр;
	
	Элементы.Количество.Видимость              = Не ТолькоПросмотр;
	
	Элементы.ОстаткиСерийКоличествоУпаковок.ТолькоПросмотр = ТолькоПросмотр;

	ЗаписыватьПоляМетки = Новый Структура("RFIDEPC,RFIDUser", Ложь, Ложь);
		
	Для Каждого Описание Из НастройкиИспользованияСерий.ОписанияИспользованияРеквизитовСерии Цикл
		Если Описание.ИмяНастройки = "ИспользоватьRFIDМеткиСерии" Тогда
			
			Если Описание.ИмяРеквизита = "RFIDTID" Тогда
				Если Описание.Использование Тогда
					Считыватели = МенеджерОборудованияВызовСервера.ОборудованиеПоПараметрам("СчитывательRFID");
					Если Считыватели.Количество() = 0 Тогда
						ПодключатьСчитывательRFID = Ложь;
					ИначеЕсли Считыватели.Количество() = 1 Тогда
						ПодключатьСчитывательRFID = Истина;
						СчитывательRFID = Считыватели[0].Ссылка;
					Иначе
						ТекстСообщения = НСтр("ru = 'К рабочему месту подключено несколько считывателей RFID. Работа одновременно с несколькими считывателями не поддерживается. Оставьте только один считываетель.'");
						ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения);
						ПодключатьСчитывательRFID = Ложь;
					КонецЕсли;
				Иначе
					ПодключатьСчитывательRFID = Ложь;
				КонецЕсли;
				Элементы.СерииСтатусРаботыRFID.Видимость = Описание.Использование;
				
				Элементы.СчитатьRFID.Видимость = Описание.Использование
												 И ПодключатьСчитывательRFID
												 И Не АвторизованВнешнийПользователь;
				
			ИначеЕсли (Описание.ИмяРеквизита = "RFIDEPC"
				Или Описание.ИмяРеквизита = "RFIDUser")
				И Описание.Использование Тогда	
				
				ЗаписыватьПоляМетки[Описание.ИмяРеквизита] = Описание.МожноРедактировать;
				
			КонецЕсли;
			
		Иначе
			
			НазванияЭлементовСерий = Обработки.ПодборСерийВДокументы.НазванияЭлементовСерий(Описание.ИмяРеквизита);
			
			ПолеФормыСерии        = Элементы[НазванияЭлементовСерий.Серии]; // ПолеФормы
			ПолеФормыОстаткиСерий = Элементы[НазванияЭлементовСерий.ОстаткиСерий]; // ПолеФормы
			
			ПолеФормыСерии.ТолькоПросмотр            = Не Описание.МожноРедактировать; 	
			ПолеФормыСерии.АвтоОтметкаНезаполненного = Описание.ПроверятьЗаполнение; 	
			
			ПолеФормыСерии.Видимость        = Описание.Использование; 
			ПолеФормыОстаткиСерий.Видимость = Описание.Использование;
			
			Если Не ПустаяСтрока(Описание.Формат) Тогда
				ПолеФормыСерии.Формат               = Описание.Формат;
				ПолеФормыСерии.ФорматРедактирования = Описание.Формат;
				ПолеФормыОстаткиСерий.Формат        = Описание.Формат;
			КонецЕсли;	
	
			Если Описание.ИмяРеквизита = "Номер" Тогда
				
				Элементы.СерииЗагрузитьДанныеИзТСД.Видимость = Элементы.СерииНомер.Видимость;
				Элементы.СгенерироватьНомер.Видимость        = Элементы.СерииНомер.Видимость;
				Элементы.ЗаполнитьНомера.Видимость           = Элементы.СерииНомер.Видимость;
				
				Если Не Элементы.СерииНомер.ТолькоПросмотр
					И Элементы.СерииНомер.Видимость Тогда
					Элементы.СерииДобавить.Заголовок = НСтр("ru = 'Ввести номер'");
				Иначе
					Элементы.СерииДобавить.Заголовок = НСтр("ru = 'Ввести'");
				КонецЕсли;
																	
				Элементы.СгенерироватьНомер.Доступность  = Не Элементы.СерииНомер.ТолькоПросмотр;
				Элементы.ЗаполнитьНомера.Доступность     = Не Элементы.СерииНомер.ТолькоПросмотр;
		
			КонецЕсли;
			
			Если Не ПустаяСтрока(Описание.ПредставлениеФорматнойСтрокиВЗаголовке) Тогда
				
				ПредставлениеЗаголовкаКолонки = НСтр("ru = '%ПредставлениеРеквизита% (%ПредставлениеФормата%)'");
				ПредставлениеЗаголовкаКолонки = СтрЗаменить(ПредставлениеЗаголовкаКолонки, "%ПредставлениеРеквизита%", Описание.ПредставлениеРеквизита);
				ПредставлениеЗаголовкаКолонки = СтрЗаменить(ПредставлениеЗаголовкаКолонки, "%ПредставлениеФормата%", Описание.ПредставлениеФорматнойСтрокиВЗаголовке);
				
				ПолеФормыСерии.Заголовок        = ПредставлениеЗаголовкаКолонки; 
				ПолеФормыОстаткиСерий.Заголовок = ПредставлениеЗаголовкаКолонки;
				
			КонецЕсли;

		КонецЕсли;
	КонецЦикла;
	
	Элементы.ЗаписатьВRFID.Видимость = (ЗаписыватьПоляМетки.RFIDEPC
										Или ЗаписыватьПоляМетки.RFIDUser)
										И ПодключатьСчитывательRFID
										И Не АвторизованВнешнийПользователь;
	
	Элементы.ЗаполнитьПоFEFO.Видимость  = НастройкиИспользованияСерий.УчетСерийПоFEFO 
										И Перечисления.СкладскиеОперации.ЕстьОтгрузка(ПараметрыУказанияСерий.СкладскиеОперации)
										И Не ЕстьУпаковки
										И Не ТолькоРедактированиеКоличества;
	
	Элементы.ГруппаПечать.Видимость = Не АвторизованВнешнийПользователь;
	Элементы.ФормаНастроитьПорядокСканированияСерий.Видимость = Не АвторизованВнешнийПользователь;
	Если АвторизованВнешнийПользователь Тогда
		Элементы.СерииЗагрузитьДанныеИзТСД.Видимость = Ложь;
	КонецЕсли;
	
	РежимОтображенияСерий = "СерииВДокументе";
	
	Распоряжение = Обработки.ПодборСерийВДокументы.РаспоряжениеПоПараметрамФормы(Параметры);
	
	ВариантПолучениеДанныхИзРегистров = Обработки.ПодборСерийВДокументы.ВариантПолучениеДанныхИзРегистровПоПараметрамФормы(ПараметрыУказанияСерий,
				Распоряжение,
				Параметры.Склад,
				НастройкиИспользованияСерий.ВладелецСерий);
	Заголовки = Обработки.ПодборСерийВДокументы.ЗаголовкиПоВариантуПолучениеДанныхИзРегистров(ВариантПолучениеДанныхИзРегистров);
	ЗаголовокСвободногоОстаткаПоУмолчанию = Заголовки.ЗаголовокСвободногоОстатка;
	
	Если ВариантПолучениеДанныхИзРегистров <> "ВсеСерииНоменклатуры" Тогда
		Элементы.РежимОтображенияСерий.СписокВыбора[1].Представление = Заголовки.ЗаголовокКнопки;
	Иначе	
		Элементы.ОстаткиСерийСвободныйОстаток.Видимость = Ложь;
		Элементы.РежимОтображенияСерий.СписокВыбора.Удалить(Элементы.РежимОтображенияСерий.СписокВыбора[1]);
	КонецЕсли;
	
	
	// Ввод серий
	ТаблицаСерий = ПолучитьИзВременногоХранилища(АдресВоВременномХранилище);
	
	Запрос = Новый Запрос;
	ТекстЗапроса =
	"ВЫБРАТЬ
	|	ТаблицаСерий.Серия,
	|	ТаблицаСерий.Количество,
	|	ТаблицаСерий.КоличествоУпаковок
	|ПОМЕСТИТЬ ТаблицаСерий
	|ИЗ
	|	&ТаблицаСерий КАК ТаблицаСерий
	|;
	|
	|////////////////////////////////////////////////////////////­////////////////////
	|ВЫБРАТЬ
	|	ТаблицаСерий.Серия,
	|	СУММА(ТаблицаСерий.Количество) КАК Количество,
	|	СУММА(ТаблицаСерий.КоличествоУпаковок) КАК КоличествоУпаковок,
	|	&ТекстЗапросаРеквизитыСерий
	|ИЗ
	|	ТаблицаСерий КАК ТаблицаСерий
	|ГДЕ
	|	(&ИспользоватьКоличествоСерии
	|			ИЛИ ТаблицаСерий.Серия <> ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка))
	|
	|СГРУППИРОВАТЬ ПО
	|	ТаблицаСерий.Серия
	|
	|УПОРЯДОЧИТЬ ПО
	|	ГоденДо,
	|	Номер";
	ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ТекстЗапросаРеквизитыСерий",
		Обработки.ПодборСерийВДокументы.ТекстЗапросаРеквизитыСерий("ТаблицаСерий", НастройкиИспользованияСерий));
	
	Запрос.Текст = ТекстЗапроса;
	Запрос.УстановитьПараметр("ТаблицаСерий", ТаблицаСерий);
	Запрос.УстановитьПараметр("ИспользоватьКоличествоСерии", НастройкиИспользованияСерий.ИспользоватьКоличествоСерии);
	
	Объект.Серии.Загрузить(Запрос.Выполнить().Выгрузить());
	
	КоэффициентУпаковки = Справочники.УпаковкиЕдиницыИзмерения.КоэффициентУпаковки(Упаковка, ЗначенияПолейСвязи.Номенклатура);
	
	Если Не НастройкиИспользованияСерий.ИспользоватьКоличествоСерии Тогда
		
		Если ТолькоРедактированиеКоличества Тогда
			Элементы.СерииКоличествоУпаковок.Вид = ВидПоляФормы.ПолеФлажка;
		Иначе
			Элементы.СерииКоличествоУпаковок.Видимость = Ложь;
		КонецЕсли;
		Элементы.ОстаткиСерийКоличествоУпаковок.Вид = ВидПоляФормы.ПолеФлажка;
		Элементы.Упаковка.Видимость = Ложь;
		
		Если КоэффициентУпаковки <> 1 Тогда
			Упаковка = Справочники.УпаковкиЕдиницыИзмерения.ПустаяСсылка();
		КонецЕсли;
		
	КонецЕсли;
	
	Если Не Обработки.ПодборСерийВДокументы.ЕстьПраваНаЧтениеДанныхРегистров(ВариантПолучениеДанныхИзРегистров, Склад) Тогда
		Элементы.СтраницыСерий.ОтображениеСтраниц = ОтображениеСтраницФормы.Нет;
	КонецЕсли;
	
	ОбновитьКартинкуПечати();
	
	ПравоДобавленияСерий = ПравоДоступа("Добавление", Метаданные.Справочники.СерииНоменклатуры);
	
	Если Не ПравоДобавленияСерий
		//++ НЕ УТ
		Или Параметры.ПараметрыУказанияСерий.СкладскиеОперации.Найти(Перечисления.СкладскиеОперации.ПотреблениеМатериаловПриПроизводстве) <> Неопределено
		//-- НЕ УТ
			Тогда
		Элементы.СтраницыСерий.ТекущаяСтраница = Элементы.СтраницаОстаткиСерий;
		Элементы.СтраницаВводСерии.Видимость = Ложь;
		Элементы.СтраницыСерий.ОтображениеСтраниц = ОтображениеСтраницФормы.Нет;
		Если Объект.Серии.Итог("КоличествоУпаковок") = 0 Тогда
			Если Элементы.РежимОтображенияСерий.СписокВыбора.НайтиПоЗначению("ТолькоОстатки") <> Неопределено Тогда
				РежимОтображенияСерий = "ТолькоОстатки";
			Иначе
				РежимОтображенияСерий = "ВсеСерии";
			КонецЕсли;
		КонецЕсли; 
		Если ТипЗнч(Склад) = Тип("СправочникСсылка.СтруктураПредприятия") Тогда
			Заголовок = НСтр("ru = 'Подбор серий по остаткам в производстве'");
		Иначе
			Заголовок = НСтр("ru = 'Подбор серий по остаткам на складе'");
		КонецЕсли;
	КонецЕсли;
	
	УпаковкаПриИзмененииСервер();
		
	// Доп. реквизиты
	УправлениеСвойствамиУТ.ДобавитьКолонкиДополнительныхРеквизитов(
		НастройкиИспользованияСерий,
		ЭтаФорма,
		"Объект.Серии",
		"Серии",
		"СерииКоличествоУпаковок");
	УправлениеСвойствамиУТ.ЗаполнитьКолонкиДополнительныхРеквизитов(
		ЭтаФорма,
		"Объект.Серии",
		"Серия");
	
	Если ТолькоРедактированиеКоличества Тогда
		
		Элементы.СерииДобавить.Видимость = Ложь;
		Элементы.СгенерироватьНомер.Видимость = Ложь;
		Элементы.ЗаполнитьНомера.Видимость = Ложь;
		Элементы.СерииСкопировать.Видимость = Ложь;
		Элементы.СерииИзменить.Видимость = Ложь;
		Элементы.СерииУдалить.Видимость = Ложь;
		Элементы.СерииЗагрузитьДанныеИзТСД.Видимость = Ложь;
		
		Элементы.СерииКонтекстноеМенюДобавить.Видимость = Ложь;
		Элементы.СерииКонтекстноеМенюСкопировать.Видимость = Ложь;
		Элементы.СерииКонтекстноеМенюУдалить.Видимость = Ложь;
			
		Для Каждого Элемент Из Элементы.ОстаткиСерий.ПодчиненныеЭлементы Цикл
			Если Не Элемент = Элементы.ОстаткиСерийКоличествоУпаковок Тогда
				Элемент.ТолькоПросмотр = Истина;
			КонецЕсли;
		КонецЦикла;
		Для Каждого Элемент Из Элементы.Серии.ПодчиненныеЭлементы Цикл
			Если Не Элемент = Элементы.СерииКоличествоУпаковок Тогда
				Элемент.ТолькоПросмотр = Истина;
			КонецЕсли;
		КонецЦикла;
	КонецЕсли;
	
КонецПроцедуры

Показать


Но как написать и где - не пойму, надо проверять сначала из какого документа открывается эта форма (расходного или приходного), если из расходного что-то типа: ЭлементФормы.СтраницаВводСерии.Доступность = Ложь... ?
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
7. spacecraft 26.08.24 11:34 Сейчас в теме
(5)
Процедура Расш1_ПриОткрытииПеред(Отказ)

ПриОткрытии уже нет параметров, если только они не ключевые.
Перехватывайте параметры в обработчике ПриСозданииНаСервере.
user_NP; electr1chka; +2 Ответить
3. Anton_new01 21.08.24 14:25 Сейчас в теме
нужно в параметры открытия передать параметр который будет отличать один случай от другого.
и в одном случае делать видимость папки ложь.

как вариант:

&НаКлиенте
Процедура ОткрытьПодборСерий(ИмяТЧ, Текст = "", ТекущиеДанные = Неопределено)
...
        
        ПараметрыФормыУказанияСерий = ПараметрыФормыУказанияСерий(ТекущиеДанныеИдентификатор, ИмяТЧ);
        ПараметрыФормыУказанияСерий.Вставить("ВидДокумента", "РасходныйОрдерНаТовары");
        
...
    
КонецПроцедуры
Показать


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    
    ...
    Если Параметры.Свойство("ВидДокумента") 
            И  Параметры.ВидДокумента = "РасходныйОрдерНаТовары" Тогда
        Элементы.СтраницаВводСерии.Видимость = Ложь;
    КонецЕсли; 
    ...

КонецПроцедуры
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. yispepotri 21.08.24 13:54 Сейчас в теме
(1) Регистратор при создании на сервере, я так понимаю это как раз расходный/приходный, проверить тип регистратора, если расходный, то

Элементы.СтраницаВводСерии.Видимость = Ложь;
3. Anton_new01 21.08.24 14:25 Сейчас в теме
нужно в параметры открытия передать параметр который будет отличать один случай от другого.
и в одном случае делать видимость папки ложь.

как вариант:

&НаКлиенте
Процедура ОткрытьПодборСерий(ИмяТЧ, Текст = "", ТекущиеДанные = Неопределено)
...
        
        ПараметрыФормыУказанияСерий = ПараметрыФормыУказанияСерий(ТекущиеДанныеИдентификатор, ИмяТЧ);
        ПараметрыФормыУказанияСерий.Вставить("ВидДокумента", "РасходныйОрдерНаТовары");
        
...
    
КонецПроцедуры
Показать


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    
    ...
    Если Параметры.Свойство("ВидДокумента") 
            И  Параметры.ВидДокумента = "РасходныйОрдерНаТовары" Тогда
        Элементы.СтраницаВводСерии.Видимость = Ложь;
    КонецЕсли; 
    ...

КонецПроцедуры
Показать
4. electr1chka 22.08.24 15:52 Сейчас в теме
(3) Можно даже удалить условие

Параметры.ВидДокумента = "РасходныйОрдерНаТовары"


Если в параметрах уже есть свойство "ВидДокумента", то дальше и спрашивать не нужно. Конечно если во всех документах не вставлять такой параметр.

Да и сделать это можно одной строкой в процедуре "ПриСозданииНаСервере" обработки.

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    
    ...
    Элементы.СтраницаВводСерии.Видимость = Параметры.Свойство("ВидДокумента");
    ...

КонецПроцедуры
6. user_NP 26.08.24 11:32 Сейчас в теме
(4) Параметр тоже не передает(((

Элементы.СтраницаВводСерии.Видимость = Параметры.Свойство("ВидДокумента"); - команда срабатывает, но в обоих случаях и при приходном ордере и при расходном...
8. user2033930 26.08.24 11:34 Сейчас в теме
(6)
но в обоих случаях и при приходном ордере и при расходном...
А использовать два условия - не халяль?
5. user_NP 26.08.24 11:30 Сейчас в теме
(3) Спасибо! Но к сожалению не срабатывает(( Не передает параметр...
Процедура ОткрытьПодборСерий(ИмяТЧ, Текст = "", ТекущиеДанные = Неопределено)
	Если НоменклатураКлиент.ДляУказанияСерийНуженСерверныйВызов(ЭтаФорма,ПараметрыУказанияСерий[ИмяТЧ],Текст, ТекущиеДанные) Тогда
		Если ТекущиеДанные = Неопределено Тогда
			ТекущиеДанныеИдентификатор = Элементы[ИмяТЧ].ТекущиеДанные.ПолучитьИдентификатор();
		Иначе
			ТекущиеДанныеИдентификатор = ТекущиеДанные.ПолучитьИдентификатор();
		КонецЕсли;
		
		ПараметрыФормыУказанияСерий = ПараметрыФормыУказанияСерий(ТекущиеДанныеИдентификатор, ИмяТЧ);  
		ПараметрыФормыУказанияСерий.Вставить("ВидДокумента", "РасходныйОрдерНаТовары");	
			
		
		ОписаниеОповещения = Новый ОписаниеОповещения("ОткрытьПодборСерийЗавершение",
														ЭтотОбъект,
														Новый Структура("ИмяТЧ,ПараметрыФормыУказанияСерий", ИмяТЧ,ПараметрыФормыУказанияСерий));

		ОткрытьФорму(ПараметрыФормыУказанияСерий.ИмяФормы,
					ПараметрыФормыУказанияСерий,
					ЭтаФорма,
					,
					,
					,
					ОписаниеОповещения,
					РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
	КонецЕсли;
	
КонецПроцедуры
Показать



Процедура Расш1_ПриОткрытииПеред(Отказ)       

   Если Параметры.Свойство("ВидДокумента") 
            И  Параметры.ВидДокумента = "РасходныйОрдерНаТовары" Тогда
     	   Сообщить("2");
 //Элементы.СтраницаВводСерии.Видимость = Ложь;  
	Иначе 
		Сообщить("1");
	КонецЕсли; 

КонецПроцедуры 
Показать



Или я что-то делаю не так?
7. spacecraft 26.08.24 11:34 Сейчас в теме
(5)
Процедура Расш1_ПриОткрытииПеред(Отказ)

ПриОткрытии уже нет параметров, если только они не ключевые.
Перехватывайте параметры в обработчике ПриСозданииНаСервере.
user_NP; electr1chka; +2 Ответить
9. user_NP 26.08.24 13:35 Сейчас в теме
(7) Да, большое спасибо. ПриСозданииНаСервере работает так как надо!
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот