powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / Параметры на форме
36 сообщений из 36, показаны все 2 страниц
Параметры на форме
    #38072258
Lupo2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Передаю на др. форму ПараметрыНаФорму = Новый Структура;
Управляемые формы 8.2. В ПриСозданииНаСервере в новой форме вижу эти переданные параметры, а вот потом ПриОткрытии эти параметры не видно ?! А мне нужно потом ещё их и изменить
...
Рейтинг: 0 / 0
Параметры на форме
    #38072326
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В форме размещаете реквизит ТАкойто

присозданиинасервере
Такойто=Параметры.что-то
...
Рейтинг: 0 / 0
Параметры на форме
    #38072470
Lupo2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема вообщем-то в другом. Как потом обратно вернуть на форму исходную новые значения ? Из Формы1 открывается модально Форма2. Внутри Формы2 делаю Форма1.Реквизит1 = Форма2.Реквизит....Теперь надо, чтобы Форма1 имела обновлённое значение. Пока после закрытия Формы2, данные не сохраняются :(.
...
Рейтинг: 0 / 0
Параметры на форме
    #38072486
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lupo2,Внутри Формы2 делаю Форма1.Реквизит1 = Форма2.Реквизит Возвращайте реквизит при закрытии модальной формы (форма2). И его в Форме1 обрабатывайте как хотите. А то разведете паутину и сами в ней запутаетесь.
...
Рейтинг: 0 / 0
Параметры на форме
    #38072560
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оповестить()
...
Рейтинг: 0 / 0
Параметры на форме
    #38072893
Lupo2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никак не получается ни одним способом.
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
&НаКлиенте
Процедура ПриЗакрытии()
	// Вставить содержимое обработчика.
	ФормаВладелец = ДокументыДок1.ПолучитьФорму("Форма1" );
	ФормаВладелец.Рекв1 = Рекв2  ;
	Оповестить("ЗакрытьФорму",ФормаВладелец.Рекв1 , ЭтаФорма);	
	
КонецПроцедуры



Рекв1 - Это на главной форме, а Рекв2 на вызванной модально.
...
Рейтинг: 0 / 0
Параметры на форме
    #38073849
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ФормаВладелец=ЭтаФорма.Владелец. Если конечно при открытии этой формы указали владельца.

Оповестить работает только в связке с обработкойоповещения. Где она?
...
Рейтинг: 0 / 0
Параметры на форме
    #38074145
Lupo2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем cпасибо получилось !
...
Рейтинг: 0 / 0
Параметры на форме
    #38104560
Lupo2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Новая проблема возникла , поможите ! Если кратко : Как передать параметр в запрос динамического списка другой открываемой формы ?
...
Рейтинг: 0 / 0
Параметры на форме
    #38104570
Lupo2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Их на ФормеДокумента есть реквизитаОбъекта открывается ФормаВыбора (управляемая) Справочника. На ФормеВыбора Справочника есть реквизит ДинамическийСписок (используется ПроизвольныйЗапрос с Параметром). Вот этот Параметр в Запрос надо передать из данных ФормыДокумента. Явно ОткрытьФорму справочника с Параметрами не могу, т.к. формаВыбора открывается сама по умолчанию, через Оповестить не получается :(
...
Рейтинг: 0 / 0
Параметры на форме
    #38104637
DmitriyZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Их на ФормеДокумента есть реквизитаОбъекта открывается ФормаВыбора (управляемая) Справочника" скриншот приложите, или пишите по русски.
...
Рейтинг: 0 / 0
Параметры на форме
    #38104678
Lupo2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmitriyZ, ну описАлся человек.... :) Короче через ПараметрыНаФорму + Открыть получилось вызвать Форму выбора однократно (надо было отключить СтандартнаяОбработка) с нужной фильтрацией....НО вот выбор элемента из ФормыВыбора Справочника не могу сделать (не подставляется значение в формуДокумента) :(
...
Рейтинг: 0 / 0
Параметры на форме
    #38104685
DmitriyZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lupo2DmitriyZ, ну описАлся человек.... :) Короче через ПараметрыНаФорму + Открыть получилось вызвать Форму выбора однократно (надо было отключить СтандартнаяОбработка) с нужной фильтрацией....НО вот выбор элемента из ФормыВыбора Справочника не могу сделать (не подставляется значение в формуДокумента) :( опять ничего не понятно. Откуда идет выбор элемента (открывается форма выбора)? Почему возникли трудности переопределить стандартное поведение?
...
Рейтинг: 0 / 0
Параметры на форме
    #38104726
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ничего не понял

есть возможность открыть форму из другой формы... при открытии указать форму владельца
в форме выбора после выбора надо оповестить о выборе форму владельца и там отработает процедура которая отвечает за обработку этого выбора

если надо обновить динамический список с параметрами то их можно просто после обработки выбора "переприсвоить" и данные обновятся в нем
...
Рейтинг: 0 / 0
Параметры на форме
    #38105238
Lupo2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В модуле Формы Документа есть код :
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
&НаКлиенте
Процедура Реквиз1НачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
	////// Вставить содержимое обработчика.
		 ОтборРекв1 = "Наим1"; 		
		 СтандартнаяОбработка = Ложь;	    
		 ПараметрыНаФорму = Новый Структура;
		 ПараметрыНаФорму.Вставить("Параметр1",ОтборРекв1);		 
		 ФормаВыборРекв = ПолучитьФорму("Справочник.Справ1.Форма.ФормаВыбораРекв1Управляемая",ПараметрыНаФорму);
		 ФормаВыборРекв1.Открыть();
		 //
КонецПроцедуры



P.S. СтандартнаяОбработка =Ложь, т.к. если не Ложь, то окноФормы открывается по умолчанию и без отбора, а мне надо открыть с Отбором и один раз.

В модуле ФормыВыбораСправочника
Код: html
1.
2.
3.
4.
5.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	// Вставить содержимое обработчика.
	ЭтаФорма.Список.Параметры.УстановитьЗначениеПараметра("Параметр1",ЭтаФорма.Параметры.Параметр1);	
КонецПроцедуры



На ФормеСправочника есть Реквизит-ДинамическийСписок, использующий ПроизвольныйЗапрос
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
ВЫБРАТЬ
	
	СправочникСправ1.Колонка1,
	СправочникСправ1.Колонка2.Наименование
ИЗ
	Справочник.Справ1 КАК СправочникСправ1
ГДЕ
	СправочникСправ1.Колонка1 = &Параметр1


Колонка1 и Колонка2.Наименование данные типа Строка.

Так вот , если в запросе
Код: html
1.
2.
ГДЕ
	СправочникСправ1.Колонка1 = "Наим1"

, т.е явно подставлять значение и не использовать код для передачи данных через параметр, то всё работает прекрасно, если же передавать строковое значение "Наим" через параметр, то в открытой Форме выбора Справочника при щелчке мыши на нужной строке, значение не выбирается в Форму документа (просто висит форма , никаких действий не происходит), подозреваю, что это из-за того отключена СтандартнаяОбработка, если не писать
Код: html
1.
СтандартнаяОбработка =Ложь

, то окрываются сразу 2 окна ( одно пустое, а др. отфильтрованное), но также не могу выбрать ничего.
Вроде подробно всё теперь.

Параметр вроде правильно передаю ?! Как мне добиться выбора элемента справочника из Формы или же может по другому можно (через Отбор вместо запроса не предлагать, интересует именно вариант с запросом)
...
Рейтинг: 0 / 0
Параметры на форме
    #38105908
DmitriyZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lupo2, очень рекомендую скачать демо базу с с сайта 1С там есть пример, как это делать.
Вкратце:
1) У реквизита формы "Реквиз1" свойство "ФормаВыбора" (здесь выбрать форму справочника).
2) У реквизита метаданных объекта "Реквиз1" установить "Связи параметров выбора" - здесь выбрать то, что будет передаваться в открывающуюся форму как параметр отбора.
3) В модуле формы выбора поместь примерно следующий код:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

		// Установка параметра Склад динамического списка.
		Если Параметры.Свойство("ОстаткиПоСкладу") Тогда

			СправочникСписок.Параметры.УстановитьЗначениеПараметра("ПоВсемСкладам", Ложь);
			СправочникСписок.Параметры.УстановитьЗначениеПараметра("Склад", Параметры.ОстаткиПоСкладу); 

		Иначе

			Отказ = Истина; 

		КонецЕсли

КонецПроцедуры
...
Рейтинг: 0 / 0
Параметры на форме
    #38106024
Lupo2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmitriyZ, по п.1) Да, это сделано было, форма указана была, по п.2. Через ПараметрыВыбора отбор не происходит, п.3 сделан так же и у меня см.код .

Непонятно отчего не выбирается в отфильтрованном спискеФормыВыбораСправочника значение.
...
Рейтинг: 0 / 0
Параметры на форме
    #38106043
DmitriyZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lupo2DmitriyZ, по п.1) Да, это сделано было, форма указана была, по п.2. Через ПараметрыВыбора отбор не происходит, п.3 сделан так же и у меня см.код .

Непонятно отчего не выбирается в отфильтрованном спискеФормыВыбораСправочника значение. А дин. списку справочника установлена основная таблица?
...
Рейтинг: 0 / 0
Параметры на форме
    #38106100
Lupo2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmitriyZ, да установлена
...
Рейтинг: 0 / 0
Параметры на форме
    #38106106
Lupo2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По ощущениям что-то с формой моей собственной, т.к. при открытии 2-х окон (если не отключать СтандартнуюОбработку), то из того окна при стандартном вызове выбирается элемент (но там неправильно отбор работает).
...
Рейтинг: 0 / 0
Параметры на форме
    #38106223
Lupo2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Точнее не с самой формой, а видимо, что-то с вызовом или ??? Вот на эту процедуру
Код: html
1.
2.
3.
4.
5.
&НаКлиенте
Процедура Реквиз1тОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
	// Вставить содержимое обработчика.
	
КонецПроцедуры



вообще не выходит после открытия Формы

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
&НаКлиенте
Процедура Реквиз1НачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
	////// Вставить содержимое обработчика.
		 ОтборРекв1 = "Наим1"; 		
		 СтандартнаяОбработка = Ложь;	    
		 ПараметрыНаФорму = Новый Структура;
		 ПараметрыНаФорму.Вставить("Параметр1",ОтборРекв1);		 
		 ФормаВыборРекв = ПолучитьФорму("Справочник.Справ1.Форма.ФормаВыбораРекв1Управляемая",ПараметрыНаФорму);
		 ФормаВыборРекв1.Открыть();
		 //
КонецПроцедуры



, а должна выходить при нормальном выборе. Что не так ?
...
Рейтинг: 0 / 0
Параметры на форме
    #38106332
Lupo2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Last1Cmen, вот здесь
Код: html
1.
2.
3.
4.
5.
 &НаКлиенте
Процедура Реквиз1НачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
	     Оповестить (??? ,Параметр1, ???  );
		 //
КонецПроцедуры


мне надо оповестить др.форму: ФормуВыбора Справочника , чтобы передать в неё параметр1, который будет использоваться в этой ФормеВЫбораСправочника при СозданииФормы
Код: html
1.
2.
3.
4.
5.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	// Вставить содержимое обработчика.
	ЭтаФорма.Список.Параметры.УстановитьЗначениеПараметра("Параметр1",ЭтаФорма.Параметры.Параметр1);	
КонецПроцедуры



Что мне надо написать в последнем параметре, и где указать в какую Форму?
...
Рейтинг: 0 / 0
Параметры на форме
    #38106386
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lupo2Last1Cmen, вот здесь
Код: html
1.
2.
3.
4.
5.
 &НаКлиенте
Процедура Реквиз1НачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
	     Оповестить (??? ,Параметр1, ???  );
		 //
КонецПроцедуры


мне надо оповестить др.форму: ФормуВыбора Справочника , чтобы передать в неё параметр1, который будет использоваться в этой ФормеВЫбораСправочника при СозданииФормы
Код: html
1.
2.
3.
4.
5.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	// Вставить содержимое обработчика.
	ЭтаФорма.Список.Параметры.УстановитьЗначениеПараметра("Параметр1",ЭтаФорма.Параметры.Параметр1);	
КонецПроцедуры



Что мне надо написать в последнем параметре, и где указать в какую Форму?

я опять не вьехал зачем так и почему
но если хочется через оповещение то добавить в форму где список слушателя этого оповещения (стандартная процедура) а в начало выбора (почему начало ????) вызов сделать оповещения... параметры передавать как по описанию процедуры
Оповестить(<ИмяСобытия>, < Параметр >, <Источник>), принимать ОбработкаОповещения(<ИмяСобытия>, <Параметр>, <Источник>)

а вообще мне кажется что не мешало бы пересмотреть задачу так сказать архитектурно... как то через одно место имхо выходит (скажем кто в здравом уме будет вызывать оповещение при начале выбора значения) :)

извините если резко
...
Рейтинг: 0 / 0
Параметры на форме
    #38106399
Lupo2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Перем А1 Экспорт;

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	// Вставить содержимое обработчика.
	ЭтаФорма.Параметры.Парам1 = А1;
	ЭтаФорма.Список.Параметры.УстановитьЗначениеПараметра("Парам1",Парам1);	
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	// Вставить содержимое обработчика.
КонецПроцедуры

&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
	// Вставить содержимое обработчика.
	А1 = Параметр;
	Парам1 = Параметр;
КонецПроцедуры



Оповещение проходит, НО как мне сохранить переданное сюда Значение, что б передать в
Код: html
1.
ЭтаФорма.Список.Параметры.УстановитьЗначениеПараметра("Парам1",Парам1);	



На форме заведён реквизит Парам1 и здесь перемен А1. В процедуре ОбработкаОповещения А1 и Парам1 имеют нужные значения, а потом всё сбрасывается :( ....
???
...
Рейтинг: 0 / 0
Параметры на форме
    #38106445
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"при создании на сервере" один раз отработает это раз
убери переменную и работай через передачу значения в вызове процедуры/функции чтобы избежать одинаковых имен и не ошибаться
...
Рейтинг: 0 / 0
Параметры на форме
    #38106486
Lupo2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Last1Cmen, переменная была создана просто как вариант, естественно уберу её.
Код: html
1.
2.
3.
4.
5.
&НаКлиенте
Процедура КонтрагентНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
         Парам1 = ОтборХолдинг;		
         Оповестить("ПриСозданииНаСервере", Парам1 , ?????);		
КонецПроцедуры



непонятно, что является Источником. Если пишу форму текущую (ЭтаФорма), то выходит на текущую форму, если пишу форму СправочникаВыбора, кот. и надо показывать потом и в кот. нало передать текущиё параметр, то ЕЁ ещё не существует !!
...
Рейтинг: 0 / 0
Параметры на форме
    #38106507
DmitriyZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lupo2, я правильно понимаю задачу:
1)Есть реквизит в форме документа.
2)При выборе значения в этот реквизит должна открыться форма справочника с установленным в дин. списке отбором.
3)Дин. список справочника - это призвольный запрос с параметрами.
4)Стоит задача передать значение(я) параметра в форму этого справочника при открытии ее из реквизита документа.
Все так, я ничего не упустил?
...
Рейтинг: 0 / 0
Параметры на форме
    #38106554
Lupo2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmitriyZ, всё правильно, именно так. Не могу передать из формыДокумента через Оповестить Знач1
Код: html
1.
2.
3.
4.
5.
6.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	// Вставить содержимое обработчика.
	ЭтаФорма.Параметры.Парам1 = Знач1;
	ЭтаФорма.Список.Параметры.УстановитьЗначениеПараметра("Парам1",ЭтаФорма.Параметры.Парам1);	
КонецПроцедуры
...
Рейтинг: 0 / 0
Параметры на форме
    #38106628
DmitriyZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lupo2, в таком случае:
1) Все таки скачать демо - конфу с сайта и посмотреть как сделано.
2) Почитать http://its.1c.ru/db/metod81#content:4140:1
3) Прочитать 13751861
4) Сделать в своей базе все сначала внимательно и аккуратно
...
Рейтинг: 0 / 0
Параметры на форме
    #38106744
Lupo2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmitriyZ, cпасибо, реальная помощь ...
...
Рейтинг: 0 / 0
Параметры на форме
    #38106747
Lupo2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
особенно п.4)
...
Рейтинг: 0 / 0
Параметры на форме
    #38106776
DmitriyZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lupo2особенно п.4) таки помогло? :)
...
Рейтинг: 0 / 0
Параметры на форме
    #38107191
Lupo2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmitriyZ, если честно, то ни один ваш ответ мне не помог, к сожалению
...
Рейтинг: 0 / 0
Параметры на форме
    #38107193
Lupo2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проблема актуальна
...
Рейтинг: 0 / 0
Параметры на форме
    #38107520
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lupo2Last1Cmen, переменная была создана просто как вариант, естественно уберу её.
Код: html
1.
2.
3.
4.
5.
&НаКлиенте
Процедура КонтрагентНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
         Парам1 = ОтборХолдинг;		
         Оповестить("ПриСозданииНаСервере", Парам1 , ?????);		
КонецПроцедуры



непонятно, что является Источником. Если пишу форму текущую (ЭтаФорма), то выходит на текущую форму, если пишу форму СправочникаВыбора, кот. и надо показывать потом и в кот. нало передать текущиё параметр, то ЕЁ ещё не существует !!

сложно как-то у вас извините ещё не до конца понимание что вы именно хотите

выбор можно делать по большому счету двумя путями

1) через механизм подбора (обработка выбора)
2) через обработки оповещения

второй вариант не совсем подходит для стандартных обработок поскольку он больше предназначен для задач где необходима связка событий и "подписчиков" на эти события... т.е. сделать то можно но танцев будет неоправданно много да и довольно затратный механизм в целом (ВСЕ объекты каких либо "подписок" будут оповещены)

первый же вариант подразумевает открытие формы выбора с передачей туда как параметров (в вашем случае отбора) так и данных о владельце выбора\подбора (владельцем скажем может быть элемент формы.... Элементы.СписокНоменклатуры например)
в свойствах этого элемента можете указать процедуру обработки выбора значения (того что вернется из открытой формы)
в самой открытой форме надо вызвать после выбора процедуру ОповеститьОВыборе() которая вернет в процедуру обработки выбора формы владельца выбранное значение

параметр в динамических список передавайте в параметрах вызова открытия формы выбора (заведя в параметры формы) ну и обратно в ОповеститьОВыборе() передавайте ссылку того что выбрали... вот в принципе и всё
...
Рейтинг: 0 / 0
Параметры на форме
    #38108765
DmitriyZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lupo2DmitriyZ, если честно, то ни один ваш ответ мне не помог, к сожалению Вы читали статьи по моим ссылкам? Качали демо базу? Если нет - тогда я пас.
...
Рейтинг: 0 / 0
36 сообщений из 36, показаны все 2 страниц
Форумы / [игнор отключен] [закрыт для гостей] / Параметры на форме
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]