Имя: Пароль:
1C
1С v8
Как внешнюю обработку корректно сделать внешней обработкой печатной формы..
0 Dionis Sergeevich
 
06.07.12
18:48
БП 2.0
Изменил обработку Печать ТТН сделал автозаполнение Транспортной накладной. Товарами, именами, марками и номерами автомобилей, датами, номерами документов и прочими данными. В форме добавил автосохранение содержаний полей ввода. Сохранил как внешнюю - прекрасно работает при открытии. Но вот беда - пытаюсь сделать как положено - обработкой печатных форм. Добавил реквизит, функцию Печать, из нее открываю форму обработки. Работать перестает. сохранение пропадает, параметр криво передается( в поле выбора если указать документ - все норм..
отчет формирую в модуле функции, моя функция Печать не возвращает табличный документ как написано в справке.. чего делать? не знаю как даже вопрос задать, но вроде описал проблему максимально полно
1 sanja26
 
06.07.12
18:50
пилить дальше...
открывай обработку из меню печати
2 Dionis Sergeevich
 
06.07.12
18:55
ОТкрываю, из модуля объекта вызываю форму и получаю документ не тот из которого вызвал обработку, а тот который был сохранен в предыдущий вызов формы.

Завтра буду курить дальше =) может чего и нарою
3 sanja26
 
06.07.12
18:59
ты из модуля объекта реализации вызываешь обработку?
и не можешь в нее передать ссылку этой самой реализации из которой вызываешь? епт)
а там уже при открытии должно идти автозаполнение
4 Dionis Sergeevich
 
09.07.12
10:03
Автозаполнение не идет. Ссылку ну как в хелпе написано СсылкаНаОбъект, передаю ее из модуля объекта в модуль формы, там формирую саму печатную форму, заполняю поля и тд.
Добавил Сохранение введенных данных в предыдущий запуск обработки. Ну чтоб имена водителей, номера автомобилей не вбивать каждый раз. Есть на форме поле ввода где мы выбираем документ, и он так же восстанавливается, заменяя собой ссылку на тот документ из которого вызвана обработка
5 Dionis Sergeevich
 
09.07.12
12:39
Блин всю голову сломал. При открытии обработки через "Открыть" все хорошо.. При присоединении как внешнюю печатную форму - ошибки. Блин еще фиг отладчиком полазишь((
6 del123
 
09.07.12
12:45
Чет ты извращаешься помоему)
Регистрируешь обработку как печатную форму, привязываешь к документу и запускаешь из формы (она сама появится в списке вариантов печати).
Или тебе не это надо?)
7 Dionis Sergeevich
 
09.07.12
12:48
появиться то появляется. работает не так. точнее не работает( На самой форме есть поле для выбора документа - через нее работает. Ссылкой на объект (при запуске по кнопке печать из документа) то не работало, теперь выдает
"Значение не является значением объектного типа (Метаданные)
   МетаданныеДокумента = Документ.Метаданные();
"

Вот как-то так(
8 Dionis Sergeevich
 
09.07.12
12:52
Модуль объекта:
Функция Печать () Экспорт
   //Документ = СсылкаНаОбъект;
   
   Форма = ЭтотОбъект.ПолучитьФорму("Форма");
   Форма.ЭлементыФормы.Документ.Видимость = Ложь;
   //Форма.ЭлементыФормы.Документ = СсылкаНаОбъект;
   Форма.Открыть();

КонецФункции

Модуль формы:

Процедура ПриОткрытии()
Док = СсылкаНаОбъект;
ЗАполнитьПоля(Док);
КонецПроцедуры


Процедура ЗАполнитьПоля(Док)
   Пункт11_1 = МаркаАвтомобиля;
   Пункт11_2 = ГосНомерАвтомобиля;

   
   Пункт0_2 = Док.Дата;
   Пункт0_3 = Док.Номер;
.....
.....
.....
КонецПроцедуры;

Вкратце таким образом сейчас выглядит обработка
9 hhhh
 
09.07.12
12:53
(7) ну видимо ты недопонял, что такое дополнительная печатная форма. Подсовываешь туда фигню какую-то.
10 Dionis Sergeevich
 
09.07.12
12:57
в форме много данных которые пользователь может ввести-изменить или удалить - на основании этих данных потом уже печатается печатная форма. Я бы сделал как раньше всегда делал - в модуле объекта бы создал табличный документ и вернул из функции Печать() но необходимость такова что все нужно делать в модуле формы..
11 dva1c
 
09.07.12
13:01
(10) Делаешь к ВПФ реквизит СсылкаНаОбъект. Создаешь нужные запросы, подтягиваешь нужные данные и выполняешь вывод таблицы/макета, который тебе нужен.
12 Мимохожий Однако
 
09.07.12
13:07
(4)"СсылкаНаОбъект, передаю ее из модуля объекта в модуль формы". А вот с этого момента поподробнее. ИМХО. Никаких дополнительных заполнений не надо. Через отладчик смотрел, что подсунул?
13 Dionis Sergeevich
 
09.07.12
13:09
Вот проблематично отладчиком присоединенную внешнюю обработку покопать. ПРи открытии через файл-открыть естественно СсылкаНаОбъект не определено. Не передаю из модуля объекта СсылкуНаОбъект, а обращаюсь к нему в модуле формы.

Процедура ПриОткрытии()
Док = СсылкаНаОбъект;
ЗАполнитьПоля(Док);
КонецПроцедуры
14 Мимохожий Однако
 
09.07.12
13:11
(13) У тебя на форме есть реквизит с типом "ДокументСсылка"?
Выведи на форму и запуская в отладчике в режиме Файл-Открыть. Точку останова повесь на кнопку Печать или ПриОткрытии формы
15 Dionis Sergeevich
 
09.07.12
14:21
РАзобрался. блин такая ерунда =)
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.