1. user1063763 11.11.19 17:40 Сейчас в теме

Экспорт переменных

Добрый день! Ситуация следующая, есть две формы во внешней обработке. Хочу передать данные из 1 формы во 2, но он ругается что переменная не определена.

Подскажите пожалуйста начинающему 1с-нику.

Вот текст обработки:

Это форма1

&НаКлиенте
Перем Приветствие Экспорт;


&НаКлиенте
Процедура ПриОткрытии(Отказ)
	
	Сообщить(Приветствие);
	
КонецПроцедуры

&НаКлиенте
Процедура Форма2(Команда)
	
	ОткрытьФорму("ВнешняяОбработка.ТестЭкспортПеременной.Форма.Форма2");
	
КонецПроцедуры

Приветствие = "Привет мир!";
Показать


Это форма2

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	
	Сообщить(Приветствие);
	
КонецПроцедуры


P.S. Сильно не грызите.
Найденные решения
2. Xershi 762 11.11.19 17:44 Сейчас в теме
(1) храните переменные в реквизитах и будет вам счастье. Переменная живет на клиенте в первой форме, про вторую форму по идее ничего не знает.
Передавать нужно через параметры формы.
Остальные ответы
Избранное Подписка Сортировка: Древо
2. Xershi 762 11.11.19 17:44 Сейчас в теме
(1) храните переменные в реквизитах и будет вам счастье. Переменная живет на клиенте в первой форме, про вторую форму по идее ничего не знает.
Передавать нужно через параметры формы.
3. user1063763 11.11.19 17:56 Сейчас в теме
(2) А можно пожалуйста пример,а то что то я не вдупляю
4. Xershi 762 11.11.19 18:03 Сейчас в теме
(3) книжку разработчика откройте. Под рукой примера нет.
YannikAlx; +1 Ответить
5. user1063763 11.11.19 18:09 Сейчас в теме
7. YannikAlx 31 11.11.19 18:12 Сейчас в теме
Было бы желание ее читать, а найти завсегда можно!
8. Xershi 762 11.11.19 18:15 Сейчас в теме
(5) так может пора найти/купить/украсть. Нужное подчеркнуть?)
6. VmvLer 11.11.19 18:10 Сейчас в теме
(1) В 1С8 есть экспортные, но нет глобальных переменных.

возможно вам стоит начать конфигурить в 77 - там есть
9. spacecraft 11.11.19 18:25 Сейчас в теме
(1) если дословно по заданию, тогда так:

Форма 1
&НаКлиенте 
Процедура Форма2(Команда) 

ОткрытьФорму("ВнешняяОбработка.ТестЭкспортПеременной.Форма.Форма2", , ЭтаФорма); 

КонецПроцедуры 


Форма 2
&НаКлиенте 
Процедура ПриОткрытии(Отказ) 

Сообщить(ВладелецФормы.Приветствие); 

КонецПроцедуры 


Но сам механизм не оптимальный.
Создайте реквизит формы для Форма2. Передавайте нужное значение открываемой формы и в обработчике ПриСозданииНаСервере получайте и записывайте в реквизит формы.
Т.е. по хорошему для этой задачи Форма2 ничего не должна знать про форму 1. И работать с тем, что у нее уже есть.
alex-l19041; +1 Ответить
10. tolyan_ekb 171 11.11.19 20:15 Сейчас в теме
(1) через параметры пробовали передавать данные? Здесь есть пример
https://infostart.ru/public/86853/
11. user1063763 12.11.19 09:22 Сейчас в теме
Всем,спасибо! Решение нашел. Сделал через реквизиты.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Руководитель проектов 1С
Санкт-Петербург
Полный день

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

Консультант-аналитик 1С
Москва
зарплата от 40 000 руб. до 120 000 руб.
Полный день

Программист 1С
Красноярск
зарплата от 50 000 руб.
По совместительству

Бизнес-архитектор 1С, ведущий консультант
Санкт-Петербург
Полный день