Родились сегодня:
lSemperFi


Лидеры рейтинга

ID: 259041

Алексеев Владимир Николаевич

Мастер-Эксперт

391

Россия, пос. Теплоозёрск, ЕАО


ID: 401284

Михаил Александров

Советник

379

Россия, Санкт-Петербург


ID: 401888

puporev

Профессор

215

Россия, Пермский край


ID: 400669

epimkin

Профессионал

111


ID: 405338

vovaromanov.jr

1-й класс

103


ID: 242862

Hunter7007

Мастер-Эксперт

29

Россия, Омск


ID: 137394

Megaloman

Мастер-Эксперт

25

Беларусь, Гомель


8.10.2

13.10.2021

JS: 2.10.2
CSS: 4.6.0
jQuery: 3.6.0
DataForLocalStorage: 2021-10-27 22:16:01-standard


[неизвестная рассылка]

Администратор раздела: [неизвестный]

Консультация онлайн # 160362

Раздел: [неизвестная рассылка]
Автор вопроса: Igor Maevsky
Дата: 13.02.2009, 11:07 Консультация закрыта
Поступило ответов: 1

Добрый день.
Господа, подскажите, малознающему, в чём моя ошибка?
В стандартной ТиС 7.7 создал новый документ и пробую подключить внешние отчёты через кнопку выбор печатной формы. Код скопировал из документа "ЗаявкаПокупателя", поключил внешний отчёт через меню "Сервис/Регистрация внешних печатных форм". Но в документе по кнопке выбора печатной формы выдется сообщение, что для документа зарегистрирована только одна печатная форма (внутренняя).
Если смотреть в отладчике ТаблицаПечФорм содержит одну запись с названием "Печатная форма"
Код следующий (синтаксических ошибок нет):

Процедура ПоКнопкеВыборПечатнойФормы()
ВыбНомер = глВыборПечатнойФормы("Документ." + Вид(), ТаблицаПечФорм);
Если ВыбНомер > 0 Тогда
НомерТекущейФормы = ВыбНомер;
Форма.кнПечать.Заголовок(ТаблицаПечФорм.ПолучитьЗначение(НомерТекущейФормы, "Кнопка"));
ПоКнопкеПечать();
КонецЕсли;
КонецПроцедуры // ПоКнопкеВыборПечатнойФормы()

НомерТекущейФормы = 0;
ТаблицаПечФорм = СоздатьОбъект("ТаблицаЗначений");
ТаблицаПечФорм.НоваяКолонка("Название","Строка",,,,30);
ТаблицаПечФорм.НоваяКолонка("Файл","Строка",,,"Файл",10);
ТаблицаПечФорм.НоваяКолонка("Кнопка","Строка",,,,10);
ТаблицаПечФорм.НоваяКолонка("ФайлОписания","Строка");

// добавим информацию о встроенной форме
ТаблицаПечФорм.НоваяСтрока();
ТаблицаПечФорм.Название = "Печатная форма";
ТаблицаПечФорм.Кнопка = "Печать";


Ответ # 243544 от Maximush
Здравствуйте, Igor Maevsky!

Вероятно вы забыли заполнить таблицу самими печатными формами. В документе откуда вы скопировали ПокнопкеВыборПечатнойФормы наверняка есть процедура ПриОткрытии, в которой указано :

//Заполним талицу для выбора печатной формы
НомерТекущейФормы = глУстановкаКнопкиПечать(Контекст, "Документ."+Вид(), ТаблицаПечФорм);

Кроме того, раз вы добавляете информацию о встроенной форме, не забудьте епренести и процедуру встроенной формы. Т.е. в процедуре ПоКнопкеПечать есть вызов встроенной формы:
....
Если номерТекущейФормы=1 тогда
Печать(СразуНаПринтер, КолЭкс);
...
Либо вы создаете процедуру Печать, либо, если не нужна встроенная печатная форма, удаляете все что идет в вашем коде после
// добавим информацию о встроенной форме


Maximush

Посетитель
13.02.2009, 12:37
Мини-форум консультации # 160362
неизвестный

1

= общий =    13.02.2009, 14:02

Спасибо большое.
Так оно и есть из процедуры ПриОткрытии взялк кусок кода и всё заработало.

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Лучшие эксперты раздела