|
Передать данные с обработки формы на форму другой обработки | ☑ | ||
---|---|---|---|---|
0
inkvizitr
15.10.18
✎
16:24
|
вот у меня есть синтаксис
&НаКлиенте Процедура СопроводительноеПисьмо(Команда) ОткрытьВнешнийОтчетОбработкуПоИмениСДопПараметрами ("Обработка приемник", Неопределено, ЭтотОбъект); КонецПроцедуры &НаКлиенте Процедура ОткрытьВнешнийОтчетОбработкуПоИмениСДопПараметрами(ИмяОтчетаОбработки, ПараметрыОткрытия, ЭтоОтчет, РодительскаяФорма = Неопределено) ВнешнийОтчетОбработкаДляОткрытияСсылка = ПолучитьСсылкуНаВнешнийОтчетОбработкуПоИмениНаСервере (ИмяОтчетаОбработки); ИмяОбработкиСлужебное = ДополнительныеОтчетыИОбработкиВызовСервера.ПодключитьВнешнююОбработку(ВнешнийОтчетОбработкаДляОткрытияСсылка); Если ЭтоОтчет Тогда ОткрытьФорму("ВнешнийОтчет." + ИмяОбработкиСлужебное + ".Форма", ПараметрыОткрытия, РодительскаяФорма); Иначе ОткрытьФорму("ВнешняяОбработка." + ИмяОбработкиСлужебное + ".Форма", ПараметрыОткрытия, РодительскаяФорма); КонецЕсли; КонецПроцедуры &НаСервере Функция ПолучитьСсылкуНаВнешнийОтчетОбработкуПоИмениНаСервере(ИмяОтчетаОбработки) Возврат Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию(ИмяОтчетаОбработки).Ссылка; КонецФункции Форма "Обработки приемник" открывается, как правильно прописать синтаксис в "Обработки приемник" при создании на сервере, чтобы я получил все данные формы источника |
|||
1
inkvizitr
15.10.18
✎
16:25
|
владельца передать
|
|||
2
Cyberhawk
15.10.18
✎
16:27
|
1. Владелец недоступен на сервере
2. Форму можно передавать между клиентом и сервером только в контекстном вызове, т.е. в рамках одного и того же модуля формы. |
|||
3
Cyberhawk
15.10.18
✎
16:29
|
Но что ты ожидаешь открыть, передавая ссылку на элемент справочника? Зачем тебе форма элемента этого справочника?
|
|||
4
Cyberhawk
15.10.18
✎
16:29
|
Посмотри уже интерфейс нужной подсистемы БСП
|
|||
5
inkvizitr
15.10.18
✎
16:31
|
(4) а если вместо ЭтоФорма передать ВладелецФормы
|
|||
6
inkvizitr
15.10.18
✎
16:35
|
(4) если верить справке то у "ОткрытьФорму" третий параметр звучит так ОткрытьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>, <НавигационнаяСсылка>, <ОписаниеОповещенияОЗакрытии>, <РежимОткрытияОкна>)
|
|||
7
inkvizitr
15.10.18
✎
16:35
|
<Владелец> (необязательный)
Владелец формы - форма или элемент управления другой формы. |
|||
8
Cyberhawk
15.10.18
✎
16:48
|
Ну, передай
|
|||
9
Cyberhawk
15.10.18
✎
16:49
|
Это будет передача между клиентом и клиентом. Ограничений на такую передачу формы никаких нет.
|
|||
10
inkvizitr
15.10.18
✎
16:50
|
(8) а можно пример синтаксиса?
|
|||
11
Cyberhawk
15.10.18
✎
17:02
|
Я хз что тебе нужно
|
|||
12
Мимохожий Однако
15.10.18
✎
17:07
|
В типовых конфигурациях обычно есть регистр сведений Сохраненные настройки в ресурсом типа Хранилище. Можно через этот регистр передать любые данные, хоть чёрта лысого.
Например. |
|||
13
inkvizitr
15.10.18
✎
17:08
|
(11) мне нужно передать С формы №1 реквизиты Контрагент, договор, Контактное лицо на форму №2, я думал выгрузить все данные формы №1 на форму №2 и там этими данными возиться
|
|||
14
takefive
15.10.18
✎
17:09
|
&НаКлиенте
Процедура ОповеститьФорму(Команда) Данные = Новый Структура("Дата, Реквизит", ТекущаяДата(), Реквизит); Оповестить(ИмяФормы, Данные); КонецПроцедуры &НаКлиенте Процедура ОбработкаОповещения(ИмяСобытия, Данные, Источник) Если ИмяСобытия <> ИмяФормы Тогда Сообщить("Получатель: " + ИмяФормы + " Отправитель: " + ИмяСобытия); Реквизит = "" + Данные.Реквизит + " получен " + Данные.Дата; КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ПриОткрытии(Отказ) Заголовок = ИмяФормы; Если ВладелецФормы = Неопределено Тогда ВладелецФормы = ОткрытьФорму("ВнешняяОбработка.ДиалогФорм.Форма.ФормаПолучатель",,ЭтаФорма); КонецЕсли; КонецПроцедуры пример для общения 2 форм. Код одинаковый в формах |
|||
15
Cyberhawk
15.10.18
✎
17:09
|
Передавай через второй параметр
|
|||
16
inkvizitr
15.10.18
✎
17:09
|
(11) и если нельзя передать все данные, то допустим как эти реквизиты передать?
|
|||
17
Вафель
15.10.18
✎
17:10
|
(16) во временное и адрес
|
|||
18
RomanYS
15.10.18
✎
17:12
|
(13)(16) Параметры! см. (15)
|
|||
19
Мимохожий Однако
15.10.18
✎
17:13
|
(13) Передавай через параметры формы
|
|||
20
inkvizitr
15.10.18
✎
17:20
|
я передаю через параметры вот так
Если Параметры.Свойство("Контрагент") Тогда Объект.Контрагент = Параметры.Контрагент; КонецЕсли; А он чего то не передается, делаю при "Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)" или его нужно на клиенте получать? |
|||
21
Вафель
15.10.18
✎
17:22
|
(20) а как вызываешь из первой формы?
|
|||
22
Вафель
15.10.18
✎
17:22
|
кстати у тебя случайно сохранение реквизитов не включено?
|
|||
23
RomanYS
15.10.18
✎
17:22
|
(20) здесь ты читаешь из параметров. Чтобы оттуда что-то взять сначала надо туда это положить
|
|||
24
inkvizitr
15.10.18
✎
17:24
|
&НаКлиенте
Процедура СопроводительноеПисьмо(Команда) Контрагент = ЭтотОбъект.Контрагент; ПараметрыОбработки = СопроводительноеПисьмоСервер(Контрагент); ОткрытьВнешнийОтчетОбработкуПоИмениСДопПараметрами ("Сопроводительное письмо доходные договора", ПараметрыОбработки, Ложь); КонецПроцедуры &НаКлиенте Процедура ОткрытьВнешнийОтчетОбработкуПоИмениСДопПараметрами(ИмяОтчетаОбработки, ПараметрыОткрытия, ЭтоОтчет, РодительскаяФорма = Неопределено) ВнешнийОтчетОбработкаДляОткрытияСсылка = ПолучитьСсылкуНаВнешнийОтчетОбработкуПоИмениНаСервере (ИмяОтчетаОбработки); ИмяОбработкиСлужебное = ДополнительныеОтчетыИОбработкиВызовСервера.ПодключитьВнешнююОбработку(ВнешнийОтчетОбработкаДляОткрытияСсылка); Если ЭтоОтчет Тогда ОткрытьФорму("ВнешнийОтчет." + ИмяОбработкиСлужебное + ".Форма", ПараметрыОткрытия, РодительскаяФорма); Иначе ОткрытьФорму("ВнешняяОбработка." + ИмяОбработкиСлужебное + ".Форма", ПараметрыОткрытия, РодительскаяФорма); КонецЕсли; КонецПроцедуры &НаСервере Функция ПолучитьСсылкуНаВнешнийОтчетОбработкуПоИмениНаСервере(ИмяОтчетаОбработки) Возврат Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию(ИмяОтчетаОбработки).Ссылка; КонецФункции &НаСервере Функция СопроводительноеПисьмоСервер(Контрагент) СтруктураПараметров = Новый Структура("Контрагент, КонтактноеЛицо, МассивДокументов"); Если ЗначениеЗаполнено(Контрагент) Тогда Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | КонтактныеЛица.Ссылка КАК КонтактноеЛицо |ИЗ | Справочник.Контрагенты КАК Контрагенты | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КонтактныеЛица КАК КонтактныеЛица | ПО Контрагенты.ОсновноеКонтактноеЛицо = КонтактныеЛица.Ссылка |ГДЕ | Контрагенты.Ссылка = &Ссылка | И Контрагенты.ЭтоГруппа = ЛОЖЬ"; Запрос.УстановитьПараметр("Ссылка", Контрагент); Результат = Запрос.Выполнить(); Если НЕ Результат.Пустой() Тогда Выборка = Результат.Выбрать(); Выборка.Следующий(); КонтактноеЛицо = Выборка.КонтактноеЛицо; КонецЕсли; КонецЕсли; МассивДокументов = ЭтаФорма.СписокДокументов.Выгрузить(,"ТипДокумента").ВыгрузитьКолонку("ТипДокумента"); СтруктураПараметров.Вставить("Контрагент", Контрагент); СтруктураПараметров.Вставить("КонтактноеЛицо", "КонтактноеЛицо"); СтруктураПараметров.Вставить("МассивДокументов", МассивДокументов); Возврат СтруктураПараметров; КонецФункции // ПолучитьпараметрыПечати() |
|||
25
inkvizitr
15.10.18
✎
17:27
|
а получаю
&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Если Параметры.Свойство("Контрагент") Тогда Объект.Контрагент = Параметры.Контрагент; КонецЕсли; КонецПроцедуры |
|||
26
Вафель
15.10.18
✎
17:28
|
в отладчике занчения есть?
|
|||
27
inkvizitr
15.10.18
✎
17:29
|
При отправке есть
|
|||
28
inkvizitr
15.10.18
✎
17:29
|
в ПараметрыОткрытия ложится структура
|
|||
29
Вафель
15.10.18
✎
17:30
|
в ПриСозданииНаСервере
|
|||
30
inkvizitr
15.10.18
✎
17:31
|
(29) А там вот думаю как отладчик запустить
|
|||
31
inkvizitr
15.10.18
✎
17:31
|
(29) Обработка добавлена в справочник ДополнительныеОтчетыИОбработки
|
|||
32
inkvizitr
15.10.18
✎
17:41
|
блин, а как проверить пришло ли чего, если обработка добавлена в Справочник "ДополнительныеОтчетыИОбработки"
|
|||
33
inkvizitr
15.10.18
✎
17:42
|
в этом же справочники и первая обработка там же находиться, первая обращается к второй
|
|||
34
Вафель
15.10.18
✎
17:42
|
через сообщить
|
|||
35
inkvizitr
15.10.18
✎
17:43
|
(34) Точно, щас сделаю
|
|||
36
inkvizitr
15.10.18
✎
17:47
|
(34) незнаю каким чудом, заработало, спасибо всем за участие
А еще маленький вопрос, если у меня будет передаваться в одном из значении структуры массив, то его я так понимаю спокойно смогу перебрать циклом, т.е. все значения передадутся этого массива? |
|||
37
Вафель
15.10.18
✎
17:49
|
(36) может обработку номер 2 не обновил?
|
|||
38
inkvizitr
15.10.18
✎
17:49
|
(37) может, ппц
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |