Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / [игнор отключен] [закрыт для гостей] / Параметры на форме / 25 сообщений из 36, страница 1 из 2
10.12.2012, 12:49
    #38072258
Lupo2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметры на форме
Передаю на др. форму ПараметрыНаФорму = Новый Структура;
Управляемые формы 8.2. В ПриСозданииНаСервере в новой форме вижу эти переданные параметры, а вот потом ПриОткрытии эти параметры не видно ?! А мне нужно потом ещё их и изменить
...
Рейтинг: 0 / 0
10.12.2012, 13:16
    #38072326
Программист 1с
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметры на форме
В форме размещаете реквизит ТАкойто

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



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

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

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

если надо обновить динамический список с параметрами то их можно просто после обработки выбора "переприсвоить" и данные обновятся в нем
...
Рейтинг: 0 / 0
10.01.2013, 17:19
    #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
11.01.2013, 10:10
    #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
11.01.2013, 11:19
    #38106024
Lupo2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметры на форме
DmitriyZ, по п.1) Да, это сделано было, форма указана была, по п.2. Через ПараметрыВыбора отбор не происходит, п.3 сделан так же и у меня см.код .

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

Непонятно отчего не выбирается в отфильтрованном спискеФормыВыбораСправочника значение. А дин. списку справочника установлена основная таблица?
...
Рейтинг: 0 / 0
11.01.2013, 11:56
    #38106100
Lupo2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметры на форме
DmitriyZ, да установлена
...
Рейтинг: 0 / 0
11.01.2013, 11:58
    #38106106
Lupo2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметры на форме
По ощущениям что-то с формой моей собственной, т.к. при открытии 2-х окон (если не отключать СтандартнуюОбработку), то из того окна при стандартном вызове выбирается элемент (но там неправильно отбор работает).
...
Рейтинг: 0 / 0
11.01.2013, 12:58
    #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
11.01.2013, 13:50
    #38106332
Lupo2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметры на форме
Last1Cmen, вот здесь
Код: html
1.
2.
3.
4.
5.
 &НаКлиенте
Процедура Реквиз1НачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
	     Оповестить (??? ,Параметр1, ???  );
		 //
КонецПроцедуры


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



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


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



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

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

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

извините если резко
...
Рейтинг: 0 / 0
11.01.2013, 14:22
    #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
11.01.2013, 14:40
    #38106445
Last1Cmen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметры на форме
"при создании на сервере" один раз отработает это раз
убери переменную и работай через передачу значения в вызове процедуры/функции чтобы избежать одинаковых имен и не ошибаться
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / Параметры на форме / 25 сообщений из 36, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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