Передача и возврат значений

1. Devilion 10.01.21 12:57 Сейчас в теме
Добрый день, нужна помощь, подскажите как я могу с основной формы передать нужные мне значения во вторую форму, и после обработав их, вернуть назад на первую форму? УФ, Открыть нужно с сервера
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. Xershi 1473 10.01.21 13:24 Сейчас в теме
(1) при закрытии написать оповещение и затем написать обработку оповещения в указанной форме.
А так есть и другие варианты.
3. Devilion 10.01.21 13:27 Сейчас в теме
(2)Подскажите пожалуйста, как я могу с сервера открыть форму?
я уже полдня сижу и не могу понять, при изменении реквизита у идёт запрос, при разных условиях разные действия, при соблюдении одного из условий, нужно чтобы открывалась другая форма
4. Xershi 1473 10.01.21 13:29 Сейчас в теме
(3) на сервере форма не открывается. Форма это клиентский объект.
На сервере ее можно заполнить только.
5. Devilion 10.01.21 13:30 Сейчас в теме
(4)а как я могу открыть форму вообще в моём случае? к клиенту я обратиться с сервера не смогу, а проверку могу сделать только на сервере
6. Xershi 1473 10.01.21 13:31 Сейчас в теме
(5) форму на сервере открыть нельзя потому что на сервере она не существует.
Вы можете заполнить форму, а на клиенте открыть.
7. Devilion 10.01.21 13:32 Сейчас в теме
(6)это я понял уже, у меня проблема такая, что при изменении реквизита, либо он заполняется, либо пользователю даётся возможность выбрать тот или иной заполненный вариант, я не пойму как мне это сделать (((
8. Xershi 1473 10.01.21 13:35 Сейчас в теме
(7) на сервере никак, там нет пользователя.
Переписывайте логику на клиент, если заполнять не нужно, то на клиенте выполнится проверка и алгоритм уйдет на сервер работать дальше.
11. Devilion 10.01.21 13:39 Сейчас в теме
(8)Проблема в том, что он должен будет заполниться 100%, я просто не понимаю, как мне сделать так, чтобы после выполнения кода на сервере, когда будет допустим истина у условия(которое должно открывать форму другую), оно сделает возврат структуры на клиент, а на клиенте проверится, если не пустая структура тогда котроется форма, если пустая то завершит работу?
12. Xershi 1473 10.01.21 13:40 Сейчас в теме
(11) проверку нужно делать до закрытия.
Или предусматривать отмену заполнения.
Devilion; +1 Ответить
9. viplelik 34 10.01.21 13:36 Сейчас в теме
(1)
// В вызывающей форме
&НаКлиенте
Процедура ВашаПроцедура()
	ПараметрыФормы = ВашиДанные;
	ОбработчикОповещения = Новый ОписаниеОповещения("ИмяПроцедурыЗавершение", ЭтотОбъект);
	ОткрытьФорму("Ваша форма",ПараметрыФормы,ЭтаФорма,,,,ОбработчикОповещения);
КонецПроцедуры


&НаКлиенте
Процедура ИмяПроцедурыЗавершение(Результат, ДополнительныеПараметры) Экспорт
	ДанныеПолучены = Результат;
КонецПроцедуры


// В новой форме
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	ВашиДанные = Параметры;
КонецПроцедуры

&НаКлиенте
Процедура ЗакрытьФорму(Команда)
	Результат = ОбработанныеДанные;
	ЭтаФорма.Закрыть(Результат);
КонецПроцедуры
Показать


Примерно так
10. Xershi 1473 10.01.21 13:38 Сейчас в теме
(9) криво но работать должно.
13. Devilion 10.01.21 14:01 Сейчас в теме
(9) у меня такой вопрос, после закрытия формы, как я к данным обращаться смогу?
14. viplelik 34 10.01.21 14:08 Сейчас в теме
(13) передавайте данные в структуре.

Результат = Новый Структура;
Результат.Вставить("Данные1", Данные1);
Результат.Вставить("Данные2", Данные2);

При получении
МоиДанные1 = Результат.Данные1;
15. Devilion 10.01.21 14:14 Сейчас в теме
(14)Я правильно понимаю, что после закрытия формы, я смогу спокойно создать новую процедуру(нажатие кнопки) и как я там смогу обращаться к ним? что-то немного не понял пример выше, форма закрывается, мне нужно мои данные, которые были переданы из 2й формы уже вставить в процедуре кнопки
16. Devilion 10.01.21 14:16 Сейчас в теме
(14)и еще последний вопрос, при создании на сервере, я передавал структуру, а там допустим 10 значений в Номенклатуре(колонка), как мне их все перебрать и сразу добавить куда мне нужно?
17. viplelik 34 10.01.21 14:26 Сейчас в теме +1 $m
(16) в список значений или через массив. Можно во ВременноеХранилище
СписокНоменклатуры = Новый Массив;
// или
СписокНоменклатуры = Новый СписокЗначений; 


СписокНоменклатуры.Добавить(Номенклатура1);
СписокНоменклатуры.Добавить(Номенклатура2);

ПараметрыФормы.Вставить("СписокНоменклатуры", СписокНоменклатуры);
Показать
18. Devilion 10.01.21 14:32 Сейчас в теме
(17)Спасибо, пойду дальше разбираться как всё работает
19. viplelik 34 10.01.21 14:36 Сейчас в теме
(18) Пожалуйста.
Колонку можно выгрузить всю сразу, если Таблица значений например.
СписокНоменклатуры = ТЗ.ВыгрузитьКолонку("Номеннклатура");


Либо в цикле
Для Каждого Строка Из ТЗ Цикл
	СписокНоменклатуры.Добавить(Строка.ИмяПоля)
КонецЦикла;
Devilion; +1 Ответить
20. Devilion 10.01.21 14:43 Сейчас в теме
Оставьте свое сообщение
Вакансии
Технический архитектор
Москва
зарплата от 300 000 руб. до 380 000 руб.
Полный день

Программист 1С
Казань
зарплата от 150 000 руб.
Полный день

Программист 1С:ERP
Москва
зарплата от 100 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 200 000 руб. до 300 000 руб.
Полный день

Программист 1С (удаленно)
Самара
зарплата от 230 000 руб. до 230 000 руб.
Полный день