|
v7: Передача параметра форме | ☑ | ||
---|---|---|---|---|
0
Wiklyink
09.02.12
✎
18:35
|
Доброго времени суток.
Есть такая проблема: Имеется форма заказ наряда, на ней есть кнопка "Оформить реализацию" по которой открывается форма нового документа "Реализация розница". Нужно сделать так чтоб при открытии формы документа "Реализация розница" в него вставлялось На основании заказ наряд.текущий документ.. Сделал чтоб открывалась новая форма Реализации, но чтоб автоматом в основании было значение Заказ-наряда, додуматься не могу. Передаю параметр форме реализации ДокОснование, тогда форма вообще не открывается... если дне отправлять параметр ДокОснование, тогда форма открывается и вручную можно указать на основании Заказ-наряд, но необходимо чтоб этот параметр заполнялся автоматом при открытии формы.. в чем причина, чего делаю не так, понять не могу.. доп. информация: 1С версия 7 конфигурация: Торговля и склад редакция 9.2 код модуля заказ-наряда открытия реализации: Код Процедура ОформРеализРозн() Если (Проведен() =1 ) Тогда Конт = 0; ДокОснование1 = ТекущийДокумент(); ОткрытьФормуМодально("Документ.РеализацияРозница",Конт,ДокОснование1); Иначе Предупреждение("Заказ-наряд не проведен. Реализацию можно проводить только на основании проведенного Заказ-Наряда!"); КонецЕсли; КонецПроцедуры |
|||
1
Джинн
09.02.12
✎
18:40
|
ПараметрыФормы = Новый Структура("Основание", Какая-то-хрень);
ОткрытьФорму("Документ.xxxx.ФормаОбъекта", ПараметрыФормы); |
|||
2
le_
09.02.12
✎
18:52
|
(1) У него семерка.
А в 8-ке, лучше через ОбработкаЗаполнения делать. |
|||
3
Wiklyink
09.02.12
✎
19:06
|
Процедура ОформРеализРозн()
Если (Проведен() =1 ) Тогда Конт = 0; ДокОснование = ТекущийДокумент(); ОткрытьФормуМодально("Документ.РеализацияРозница",Конт,ДокОснование); Иначе Предупреждение("Заказ-наряд не проведен. Реализацию можно проводить только на основании проведенного Заказ-Наряда!"); КонецЕсли; КонецПроцедуры если делаю так, то переменная докоснование передается, но форма реализации почему то не открывается.. У меня правда 1С 7, наверное случайно не в тот раздел написал. А как переделать не знаю... |
|||
4
Джинн
09.02.12
✎
19:09
|
(2) Хм. А в сабже v8 было.
|
|||
5
Wiklyink
09.02.12
✎
19:11
|
ну ошибся маленько, переместить как не знаю, а дублировать тему не хочеться...
|
|||
6
mvgfirst
09.02.12
✎
19:16
|
(2) В семерке если поставить 1С++ тоже можно так сделать)))
Но даже если и не ставить то структуру заменяем на СписокЗначений и работает |
|||
7
Wiklyink
09.02.12
✎
19:32
|
Пишет переменная не определена "СписокЗначений "
|
|||
8
Wiklyink
09.02.12
✎
19:32
|
Если не сильно затруднит, может набросаешь примерный исходничек?
|
|||
9
2S
09.02.12
✎
19:33
|
в поиск
|
|||
10
Wiklyink
09.02.12
✎
19:35
|
"в поиск" - да уже все облазил... голова уже дымит, никак понять не могу...,
прошу помощи! |
|||
11
mvgfirst
09.02.12
✎
22:28
|
Хреново ты лазишь :) И, к слову, все облазить невозможно.!
Вот тебе пример ПараметрФормы = СоздатьОбъект("СписокЗначений"); ПараметрФормы.Установить("ПараметрРаз", РабочаяДата()); ОткрытьФормуМодально("Обработка.ПоказатьПараметрРаз", ПараметрФормы); Если ПараметрФормы.Получить("Результат") = "Все афигенно" Тогда Предупрждение("Таки все офигенно господа!"); КонецЕсли; |
|||
12
zak555
09.02.12
✎
22:29
|
(11) с чего ты взял, что всегда передаются списки значений ?
|
|||
13
mvgfirst
09.02.12
✎
22:59
|
(12) а где написано что всегда?
Просто из личного опыта - так удобнее :) |
|||
14
monsterZE
10.02.12
✎
17:23
|
СписПередЗнач = СоздатьОбъект("СписокЗначений");
СписПередЗнач.УдалитьВсе(); СписПередЗнач.ДобавитьЗначение(Контекст,"Конт"); СписПередЗнач.ДобавитьЗначение(Парам1,"Парам1"); СписПередЗнач.ДобавитьЗначение(Парам2,"Парам2"); ОткрытьФорму("Отчет", СписПередЗнач,"внеш_отчет.ert"); по аналогии.. |
|||
15
takefive
10.02.12
✎
17:58
|
можно передать контекст...
Процедура ВыборИзСписка() Перем Путь, Имя; РасположениеФайла(Путь, Имя); //Передаем в форму выбора контекст формы приемника - эту форму ОткрытьФорму("Отчет",Контекст,"" + Путь + "\ТЗДляНемодальногоВыбора.ERT"); КонецПроцедуры и установить значение в форме выбора -подбора Процедура Выбор() Если ТЗ.ТекущаяСтрока() <> 0 Тогда Выбор = ТЗ.ПолучитьЗначение(ТЗ.ТекущаяСтрока(),"Накладная"); Приемник = Форма.Параметр; Если Приемник.ВыбДокументы.Принадлежит(Выбор) = 0 Тогда //Добавляем на форму приемника. значения появляются сразу после выбора Приемник.ВыбДокументы.ДобавитьЗначение(Выбор); КонецЕсли; КонецЕсли; КонецПроцедуры |
|||
16
sapphire
11.02.12
✎
05:06
|
В клюшках можно вообще передавать что угодно, хочешь контекст, хоть ежа с ужом :)
|
|||
17
zak555
11.02.12
✎
13:58
|
(14)
СписПередЗнач = СоздатьОбъект("СписокЗначений"); СписПередЗнач.УдалитьВсе(); зачем удалять ? |
|||
18
mvgfirst
13.02.12
✎
17:29
|
(17) Ну мало ли туда записалось после создания :)
Может он создался прям из кучи значений и при создании их в себя вобрал?! |
|||
19
YF
13.02.12
✎
17:31
|
Процедура ОформРеализРозн()
Если (Проведен() =1 ) Тогда Конт = 0; ДокОснование1 = ТекущийДокумент(); ОткрытьФорму("Документ.РеализацияРозница",Конт,ДокОснование1); Конт.Основание = ДокОснование1; Иначе Предупреждение("Заказ-наряд не проведен. Реализацию можно проводить только на основании проведенного Заказ-Наряда!"); КонецЕсли; КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |