![]() |
|
Передача параметров из произвольной формы в ТЧ формы документа, как это сделать в УФ? | ☑ | ||
---|---|---|---|---|
0
Босечка
26.06.19
✎
16:37
|
Передача параметров из произвольной формы в ТЧ формы документа, как это сделать в УФ?
|
|||
1
zuza
26.06.19
✎
16:49
|
(0) произвольная форма из документа открывается?
|
|||
2
Ц_У
26.06.19
✎
16:52
|
Например, так:
Глобальный контекст (Global context) Оповестить (Notify) Синтаксис: Оповестить(<ИмяСобытия>, <Параметр>, <Источник>) Параметры: <ИмяСобытия> (необязательный) Тип: Строка. Имя события. Может быть использовано для идентификации сообщений принимающими их формами. <Параметр> (необязательный) Тип: Произвольный. Параметр сообщения. Могут быть переданы любые необходимые данные. <Источник> (необязательный) Тип: Произвольный. Источник события. Например, в качестве источника может быть указана другая форма. Описание: Посылает оповещение всем созданным формам и всем подключенным через метод ПодключитьОбработчикОповещения процедурам модуля управляемого приложения (модуля обычного приложения) или общего модуля. Если для формы задана процедура-обработчик события ОбработкаОповещения, то она будет запущена, в процедуру будут переданы указанные параметры. Данный механизм может, например, применяться для организации обмена сообщениями между открытыми формами. Доступность: Тонкий клиент, веб-клиент, мобильный клиент, толстый клиент, мобильное приложение(клиент). Пример: Оповестить("ЗакрытьФорму"); |
|||
3
Босечка
27.06.19
✎
10:40
|
(1) да, произвольная
|
|||
4
spiller26
27.06.19
✎
10:59
|
(3)
Вот примерно так. &НаКлиенте Процедура абтЗаполнитьПозицииИзCRM(Команда) ОповещениеОЗакрытии = Новый ОписаниеОповещения("ПослеЗакрытияВопросаПозицииИзCRM", ЭтотОбъект); ПередаваемыеПараметры = Новый Структура; ПередаваемыеПараметры.Вставить("ИтогСумма", Объект.Авансы.Итог("Сумма")); ПередаваемыеПараметры.Вставить("ИтогСуммаНДС", Объект.Авансы.Итог("СуммаНДС")); Если Объект.Авансы.Количество() > 0 Тогда ПередаваемыеПараметры.Вставить("СтавкаНДС", Объект.Авансы[0].СтавкаНДС); Иначе ПередаваемыеПараметры.Вставить("СтавкаНДС", ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС18_118")); КонецЕсли; ПередаваемыеПараметры.Вставить("ВалютаДокумента", Объект.ВалютаДокумента); ОткрытьФорму("ОбщаяФорма.абтНоменклатураИзCRM", ПередаваемыеПараметры, ЭтаФорма,,,, ОповещениеОЗакрытии, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); КонецПроцедуры &НаКлиенте Процедура ПослеЗакрытияВопросаПозицииИзCRM(ВозвратныеДанные, Параметры) Экспорт //обработка выбранного Если ВозвратныеДанные <> Неопределено Тогда ЗаполнитьПозицииАвансов(ВозвратныеДанные); КонецЕсли; КонецПроцедуры &НаСервере Процедура ЗаполнитьПозицииАвансов(ДанныеСтруктура) ТЗ = ПолучитьИзВременногоХранилища(ДанныеСтруктура.АдресТЗ); //теперь обработать Если ТЗ.Количество() > 0 Тогда Объект.Авансы.Очистить(); Для Каждого СтрТЗ Из ТЗ Цикл НовСтрАвансы = Объект.Авансы.Добавить(); НовСтрАвансы.Содержание = СтрТЗ.НоменклатураПредставление; НовСтрАвансы.Сумма = СтрТЗ.Сумма; НовСтрАвансы.СтавкаНДС = СтрТЗ.СтавкаНДС; НовСтрАвансы.СуммаНДС = СтрТЗ.СуммаНДС; КонецЦикла; Объект.ИдентификаторГосКонтракта = ДанныеСтруктура.ИГК; Модифицированность = Истина; КонецЕсли; КонецПроцедуры ////////////////////////////////////////////////////////////// // В форме произвольной &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) //Параметры СтавкаНДСПоДокументу = Параметры.СтавкаНДС; ИтогСуммаПоДокументу = Параметры.ИтогСумма; ИтогСуммаНДСПоДокументу = Параметры.ИтогСуммаНДС; ВалютаДокумента = Параметры.ВалютаДокумента; КонецПроцедуры &НаСервере Функция ПоместитьТаблицуНоменклатурВХранилище() Возврат ПоместитьВоВременноеХранилище(ТаблицаНоменклатур.Выгрузить()); КонецФункции &НаКлиенте Процедура КнопкаОК(Команда) АдресТЗ = ПоместитьТаблицуНоменклатурВХранилище(); ДанныеСтруктура = Новый Структура; ДанныеСтруктура.Вставить("АдресТЗ", АдресТЗ); ДанныеСтруктура.Вставить("ИГК", ИГК); ЭтотОбъект.Закрыть(ДанныеСтруктура); //возврат структуры данных на владельца КонецПроцедуры &НаКлиенте Процедура КнопкаОтмена(Команда) ЭтотОбъект.Закрыть(Неопределено); КонецПроцедуры |
|||
5
Юрий Лазаренко
27.06.19
✎
11:33
|
(0) А форма с ТЧ документа уже открыта? Или ее надо открыть, передать и заполнить?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |