Имя: Пароль:
1C
 
Как получить объект в модуле менеджера?
,
0 falselight
 
11.08.17
13:50
В модуле менеджера документа не могу получить доступ к объекту.
Возможно ли как то это сделать? Как они его там вообще печатают?
1 Lexey_
 
11.08.17
13:52
(0) ДокументСсылка.<Имя документа> (DocumentRef.<Имя документа>)
ПолучитьОбъект (GetObject)
Синтаксис:

ПолучитьОбъект()
2 Волшебник
 
модератор
11.08.17
13:52
передавай параметром

и ты не путаешь модуль менеджера с модулем объекта?
3 vde69
 
11.08.17
13:52
передавай объект или ссылку в параметре
4 falselight
 
11.08.17
13:54
(2) В модуле объекта все нормально видно вроде.
А тут модуль менеджера где идет печать,
как к объекту доступ получить не пойму.
(1) Так а ссылка на него где? Если нет вообще ничего.
5 falselight
 
11.08.17
13:55
(3) От куда передавать?
Я выявил место где нужно сделать выборку, а как сослаться то на объект?
6 Numerus Mikhail
 
11.08.17
13:57
(4) данный форум не является поисковой системой. Ответ на ваш вопрос находится на 1 ссылке в гугле по такому же запросу, как и название темы.
7 Zhuravlik
 
11.08.17
13:57
(0) Подозреваю, что речь о БСП-шной печати. Кури параметры методов
8 Zhuravlik
 
11.08.17
13:58
9 Скиурус
 
11.08.17
14:00
Обрати внимание, что в новых версиях БСП процедуры печати вынесены в модуль менеджера не просто так, а потому, что они могут печатать как один документ, так и сразу список.
10 1dvd
 
11.08.17
14:06
У менеджера нет ни объекта, не ссылки. На то он и менеджер
11 Dmitrii
 
гуру
11.08.17
14:14
(0) Тебе это не нужно.
При печати сам объект нафиг не нужен. Ни при каких обстоятельствах. Все необходимые для печати данные можно получить запросом из БД.
Для печати несохраненных объектов (единственный случай, когда может понадобиться сам объект) типовые процедуры печати не подойдут. Создавай свою собственную обработку печати.
12 Волшебник
 
модератор
11.08.17
14:15
(11) метод Печать() объекта (или менеджера) хорошо ложится на объектную модель 1С.
13 Timon1405
 
11.08.17
14:25
(12) предполагается, что метод "печать" суть вывод данных без их модификации, для этого не нужен объект, объект из БД имеет смысл получать для его изменения
14 falselight
 
11.08.17
14:40
(13) Тут он так получен был, в модуле менеджера документа

    Пока ДанныеПечати.Следующий() Цикл
        
        Отказ = Ложь;
        
        ПодготовкаДляПечатиКомплектов(ДанныеПечати, КомплектыПечати, КомплектПечатиПоСсылке, Отказ);
        Если Отказ Тогда
            Продолжить;
        КонецЕсли;
        
        СтруктураПоиска = Новый Структура("Ссылка", ДанныеПечати.Ссылка);
15 Волшебник
 
модератор
11.08.17
14:41
(13) Логично. Поэтому лучше сделать его в модуле менеджера
16 Timon1405
 
11.08.17
14:49
(13) ТС так в чем вопрос-то? в общем случае, есть команда печати, у нее есть параметры(фактически массив ссылок документов из 1+ элемента) эти параметры прокидываются дальше в процедуру менеджера.
17 falselight
 
11.08.17
15:03
(16) Добил я это сейчас только.
Общий вопрос был вывести печатную форму, обойдя типовую
проверку.
Обойдя проверку, увидел что таблица что на печать идет пустая.
Решил её сам сформировать и отправить на печать.
18 Ненавижу 1С
 
гуру
11.08.17
15:06
Немного поразмышляю

Допустим у нас есть МассивСсылок - массив, заполненный документами разных видов. Необходимо их массово распечатать методом Печать

Как было раньше?

//плюс: прозрачный полиморфизм метода у объектов
//минус: поднимаем каждый раз полноценный объект возможно без необходимости
Для каждого Эл Из МассивСсылок Цикл
    Эл.ПолучитьОбъект().Печать();
КонецЦикла;

Как теперь?

//плюс: объект не поднимаем
//минус: громоздкий код, а если там не только документ?
Для каждого Эл Из МассивСсылок Цикл
    Документы[Эл.Метаданные().Имя].Печать(Эл);
КонецЦикла;

Как хочется?
Хочется МОДУЛЬ ССЫЛКИ. После чего все могло бы выглядеть вполне элегантно

Для каждого Эл Из МассивСсылок Цикл
    Эл.Печать();
КонецЦикла;