|
Как получить значение реквизита документа из модуля менеджера (УФ 8.2) | ☑ | ||
---|---|---|---|---|
0
maslov_ilya
17.12.14
✎
16:32
|
Здравствуйте, ув. Гуру 1С
Есть документ - "Реализация товаров" Есть реквизит этого документа - "МетодСортировки", тип строка, на форме документа пользователь выбирает одно из двух-трех возможных значений этого поля. В модуле менеджера - описана Процедура Печать(ТабДок, Ссылка) Необходимо в этой процедуре в переменную, допустим, "ДанныеСортировки" получить значение выбранное пользователем на форме. Подскажите пожалуйста, как это сделать? Через точку я так понял нельзя обращаться в модуле менеджера. Пробую запросом, но видимо не корректно делаю. ЗапросМетода = Новый Запрос; ЗапросМетода.Текст = "ВЫБРАТЬ | РеализацияТоваров.МетодСортировки |ИЗ | Документ.РеализацияТоваров КАК РеализацияТоваров |ГДЕ | РеализацияТоваров.Ссылка В(&Ссылка)"; ЗапросМетода.Параметры.Вставить("Ссылка", Ссылка); ВыборкаМетода = ЗапросМетода.Выполнить().Выбрать(); ДанныеСортировки = ВыборкаМетода.МетодСортировки.Выбрать(); Подозреваю, что все таки надо как то передавать параметр в процедуру, но как я не пробовал у меня не получается. Покажи пожалуйста, как правильно сделать? Спасибо! |
|||
1
EugeniaK
17.12.14
✎
16:43
|
Ссылка.МетодСортировки
|
|||
2
maslov_ilya
17.12.14
✎
16:53
|
(1) Вы имеете ввиду вот так получить значение реквизита?
ДанныеСортировки = Ссылка.МетодСортировки; Если так, то тут ошибка: Поле объекта не обнаружено (МетодСортировки) |
|||
3
a_alenkin
17.12.14
✎
17:10
|
Подозреваю что это не реквизит документа а реквизит формы
|
|||
4
maslov_ilya
17.12.14
✎
17:17
|
(3) Сейчас еще раз проверил, удалил, создал заново. Реквизит документа.
Сделал поиск ссылок на объект и вот что выдало: Объект "Документ.РеализацияТоваров.Реквизит.МетодСортировки" использован в: Документ.РеализацияТоваров.Форма.ФормаДокумента.Форма |
|||
5
Mankubus
17.12.14
✎
17:20
|
(2) а "Ссылка" это точно ссылка на документ?
|
|||
6
maslov_ilya
17.12.14
✎
17:24
|
Вот процедура:
Процедура Печать(ТабДок, Ссылка) Экспорт Макет = Документы.РеализацияТоваров.ПолучитьМакет("Печать"); //ЗапросМетода = Новый Запрос; //ЗапросМетода.Текст = // "ВЫБРАТЬ // | РеализацияТоваров.МетодСортировки // |ИЗ // | Документ.РеализацияТоваров КАК РеализацияТоваров // |ГДЕ // | РеализацияТоваров.Ссылка В(&Ссылка)"; //ЗапросМетода.Параметры.Вставить("Ссылка", Ссылка); //ВыборкаМетода = ЗапросМетода.Выполнить().Выбрать(); //ДанныеСортировки = Ссылка.МетодСортировки; //КАК ПОЛУЧИТЬ ЗНАЧЕНИЕ РЕКВИЗИТА "МетодСортировки" ????????? Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | РеализацияТоваров.Дата, | РеализацияТоваров.Контрагент, | РеализацияТоваров.Номер, | РеализацияТоваров.Товары.( | НомерСтроки, | КодТовара, | Номенклатура КАК Номенклатура, | Количество, | Цена, | Сумма, | ИндексСортировки КАК ИндексСортировки | ) |ИЗ | Документ.РеализацияТоваров КАК РеализацияТоваров |ГДЕ | РеализацияТоваров.Ссылка В(&Ссылка) | |УПОРЯДОЧИТЬ ПО | ИндексСортировки"; Запрос.Параметры.Вставить("Ссылка", Ссылка); Выборка = Запрос.Выполнить().Выбрать(); ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); Шапка = Макет.ПолучитьОбласть("Шапка"); ОбластьТоварыШапка = Макет.ПолучитьОбласть("ТоварыШапка"); ОбластьТовары = Макет.ПолучитьОбласть("Товары"); ОбластьИтог = Макет.ПолучитьОбласть("Всего"); ТабДок.Очистить(); ВставлятьРазделительСтраниц = Ложь; Пока Выборка.Следующий() Цикл Если ВставлятьРазделительСтраниц Тогда ТабДок.ВывестиГоризонтальныйРазделительСтраниц(); КонецЕсли; ТабДок.Вывести(ОбластьЗаголовок); Шапка.Параметры.Заполнить(Выборка); ТабДок.Вывести(Шапка, Выборка.Уровень()); ТабДок.Вывести(ОбластьТоварыШапка); ВыборкаТовары = Выборка.Товары.Выбрать(); СуммаИтог=0; Пока ВыборкаТовары.Следующий() Цикл ОбластьТовары.Параметры.Заполнить(ВыборкаТовары); ТабДок.Вывести(ОбластьТовары, ВыборкаТовары.Уровень()); СуммаИтог = СуммаИтог + ВыборкаТовары.Сумма; КонецЦикла; ОбластьИтог.Параметры.ВсегоПоДокументу = СуммаИтог; ТабДок.Вывести(ОбластьИтог); ВставлятьРазделительСтраниц = Истина; КонецЦикла; КонецПроцедуры Вообще, во время отладки если вычислить значение "ссылка" выдает тип = массив |
|||
7
maslov_ilya
17.12.14
✎
17:25
|
Уважаемые, пожалуйста, кому не сложно загрузите базу мою, посмотрите, как решить проблему эту.
Хочу двигаться дальше в изучении а уже 2 дня никак не решу эту задачу https://yadi.sk/d/jjctgAL_dSbEj |
|||
8
DefMB
17.12.14
✎
17:27
|
Посмотри какой тип имеет ссылка в отладчике. Не массив?
|
|||
9
maslov_ilya
17.12.14
✎
17:28
|
(8) Вообще, во время отладки если вычислить значение "ссылка" выдает тип = массив
|
|||
10
DefMB
17.12.14
✎
17:30
|
Значит Ссылка[0].МетодСортировки
|
|||
11
DefMB
17.12.14
✎
17:31
|
У тебя команда для печати списка наверное
|
|||
12
maslov_ilya
17.12.14
✎
17:34
|
(10) БОЖЕ! СПАСИБО! НАКОНЕЦ ТО! Милый человек! Скинь счет КИВИ что ли, по возможности отблагодарю)
|
|||
13
DefMB
17.12.14
✎
17:37
|
да не за что, удачи )
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |