helpf.pro
Регистрация

v8.2 УП: Передача параметра в форму

KorolyovSS
10.11.2014 16:51Прочитано: 6034

Добрый вечер. Открываю произвольную форму журнала документов (модально, если это имеет значение). В нее передаю структуру с параметрами. Один из параметров - ссылка на документ. В форме в процедуре "ПриСозданииНаСервере()" анализирую переданные параметры и замечаю, что передается не ссылка на документ, а ее представление с типом "Строка". Платформа - 1С8.2.14.519. Скажите, так и должно быть, или я что-то не догоняю?

Заранее благодарен.

Yandex
Возможно, вас также заинтересует
Реклама на портале
DJ_Serega
10.11.2014 17:33Ответ № 1

Имя параметра какое?

KorolyovSS
10.11.2014 18:41Ответ № 2

Произвольный параметр

1. Отработка команды в журнале документов

Код 1C v 8.2 УП
 &НаКлиенте
Процедура КонвертерДокументов(Команда)
ИсходныйДокумент = Элементы.Список.ТекущаяСтрока;
Если ТекущийДокумент <> Неопределено Тогда
ПараметрыФормы = Новый Структура("ИсходныйДокумент", ИсходныйДокумент);
НовыйДокумент = ОткрытьФормуМодально("ЖурналДокументов.Списание.Форма.КонвертерДокументов", ПараметрыФормы);
КонецЕсли;
КонецПроцедуры

2. Процедура вызываемой формы

Код 1C v 8.2 УП
 &НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Отказ = (НЕ ЭтаФорма.Параметры.Свойство("ИсходныйДокумент", ИсходныйДокумент));
Если НЕ Отказ Тогда
ТипДокумента = ТипЗнч(ИсходныйДокумент);

Если ТипДокумента = Тип("ДокументСсылка.ТекущийРемонт") ИЛИ
ТипДокумента = Тип("ДокументСсылка.Благоустройство") ИЛИ
ТипДокумента = Тип("ДокументСсылка.ОбщежитиеФинансируемый") ИЛИ
ТипДокумента = Тип("ДокументСсылка.Техобслуживание") ИЛИ
ТипДокумента = Тип("ДокументСсылка.ПрочиеДоходы") ИЛИ
ТипДокумента = Тип("ДокументСсылка.РемонтПроизводственныхПомещений") ИЛИ
ТипДокумента = Тип("ДокументСсылка.БлагоустройствоТО") ИЛИ
ТипДокумента = Тип("ДокументСсылка.ОбщежитиеТехобслуживание") Тогда
 
Элементы.НовыйДокумент.СписокВыбора.Добавить("ТекущийРемонт", "Акт по Т/Р (Фин.)");
Элементы.НовыйДокумент.СписокВыбора.Добавить("Благоустройство", "Акт по благоустройству (Фин.)");
Элементы.НовыйДокумент.СписокВыбора.Добавить("ОбщежитиеФинансируемый", "Акт по общежитию Т/Р (Фин.)");
Элементы.НовыйДокумент.СписокВыбора.Добавить("Техобслуживание", "Акт по техобслуживанию");
Элементы.НовыйДокумент.СписокВыбора.Добавить("ПрочиеДоходы", "Акт по прочим доходам");
Элементы.НовыйДокумент.СписокВыбора.Добавить("РемонтПроизводственныхПомещений", "Акт по ремонту пр. помещений");
Элементы.НовыйДокумент.СписокВыбора.Добавить("БлагоустройствоТО", "Акт по благоустройству ТО");
Элементы.НовыйДокумент.СписокВыбора.Добавить("ОбщежитиеТехобслуживание", "Акт по ТО общежития");
ИначеЕсли
ТипДокумента = Тип("ДокументСсылка.ТехническийОсмотр") ИЛИ
ТипДокумента = Тип("ДокументСсылка.СодержаниеАУП") Тогда
 
Элементы.НовыйДокумент.СписокВыбора.Добавить("ТехническийОсмотр", "Акт по тех. осмотрам");
Элементы.НовыйДокумент.СписокВыбора.Добавить("СодержаниеАУП", "Акт по содержанию АУП");
Иначе
Сообщить("Документ " + Строка(ИсходныйДокумент) + "
         |конвертировать ни в какой другой не возможно!!!");
Отказ = Истина;
КонецЕсли;
КонецЕсли;
КонецПроцедуры

И все бы ничего, но ЭтаФорма.Параметры.ИсходныйДокумент представляет собой не ссылку, а строку (представление передаваемой в форму ссылки на документ). Так и должно быть?

KorolyovSS
10.11.2014 18:48Ответ № 3

Извините, морожу. Добавил в форму параметр и не изменил его тип со Строка на ДокументСсылка. Происходило преобразование. Все логично. Вопрос закрыт

Подсказка: Щелникни по Имени пользователя напротив ответа, и тем самым покажешь, что сообщение адресовано ему.
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.