По теме из базы знаний
- Расширенная регистрация внешних печатных форм
- Комплект внешних печатных форм: Счет на оплату, Расходная накладная, ТОРГ-12, Счет-фактура выданный, Универсальный передаточный документ (УПД) для Управление торговлей 10.3
- Внешняя печатная форма ТОРГ-12 со штрихкодом (картинкой и числом)
- Внешняя печатная форма УПД со штрихкодом (картинкой и числом)
- Дополнительные печатные формы к путевому листу: Форма № 4-С (Грузовой автомобиль), Форма № 4-П (Грузовой автомобиль), Форма № 3 (Спец. автомобиль), Форма № 6 (Автобус).
Найденные решения
(5)В публикации, на которую вы дали ссылку есть описание как в пользовательском режиме подключать внешнюю обработку:
Так вот, когда вы загрузили файл внешней обработки, у вас на форме элемента должны заполнится параметры указанные в процедуре СведенияОВнешнейОбработке(). Если в параметрах регистрации в модуле объекта внешней обработки не указаны назначения (или назначения написаны некорректно), то на форме элемента внешней обработки этот параметр назначение (размещение) будет "не определено". Нажимаете на гиперссылку "Не определено" и выбираете из дерева метаданных нужный вам справочник.
Если же назначение на форме заполнено, то вопрос следующий. А вы переоткрывали после добавления (сохранения) внешней обработки формы списка и элемента справочника, к которому подключили печатную форму, чтобы обновился список команд печати?
Для регистрации внешней печатной формы в Полном интерфейсе заходим Сервис - Дополнительные внешние отчеты и обработки - Печатные формы, создаем новый элемент справочника ВнешниеОбработки и загружаем в него файл Внешней обработки.
Так вот, когда вы загрузили файл внешней обработки, у вас на форме элемента должны заполнится параметры указанные в процедуре СведенияОВнешнейОбработке(). Если в параметрах регистрации в модуле объекта внешней обработки не указаны назначения (или назначения написаны некорректно), то на форме элемента внешней обработки этот параметр назначение (размещение) будет "не определено". Нажимаете на гиперссылку "Не определено" и выбираете из дерева метаданных нужный вам справочник.
Если же назначение на форме заполнено, то вопрос следующий. А вы переоткрывали после добавления (сохранения) внешней обработки формы списка и элемента справочника, к которому подключили печатную форму, чтобы обновился список команд печати?
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Обычные формы?
UP
Требование авторегистрации:
Нужна экспортная процедура Печать в модуле объекта (Условие выполнено) и реквизит с названием СсылкаНаОбъект с типом, из которого требуется печатать (пришлите скрин реквизитов внешней обработки, там должен быть реквизит с типом СправочникСсылка.РесурсныеСпецификации)
Если все выполнено, но ничего не происходит, возможно нужно закрыть документ, список документов и заново открыть. Открытая форма не в курсе, чтоб вы добавили к ней внешку. Закрыть - Открыть.
Если не поможет, то хз че там не так
UP
Требование авторегистрации:
Нужна экспортная процедура Печать в модуле объекта (Условие выполнено) и реквизит с названием СсылкаНаОбъект с типом, из которого требуется печатать (пришлите скрин реквизитов внешней обработки, там должен быть реквизит с типом СправочникСсылка.РесурсныеСпецификации)
Если все выполнено, но ничего не происходит, возможно нужно закрыть документ, список документов и заново открыть. Открытая форма не в курсе, чтоб вы добавили к ней внешку. Закрыть - Открыть.
Если не поможет, то хз че там не так
В форме элемента дополнительной обработки, что указано в назначении? Если "Не определено", то укажите необходимый справочник руками. А вообще после добавления внешней обработки перезаходили в формы списка или элемента справочника, чтобы обновился список команд печати?
(5)В публикации, на которую вы дали ссылку есть описание как в пользовательском режиме подключать внешнюю обработку:
Так вот, когда вы загрузили файл внешней обработки, у вас на форме элемента должны заполнится параметры указанные в процедуре СведенияОВнешнейОбработке(). Если в параметрах регистрации в модуле объекта внешней обработки не указаны назначения (или назначения написаны некорректно), то на форме элемента внешней обработки этот параметр назначение (размещение) будет "не определено". Нажимаете на гиперссылку "Не определено" и выбираете из дерева метаданных нужный вам справочник.
Если же назначение на форме заполнено, то вопрос следующий. А вы переоткрывали после добавления (сохранения) внешней обработки формы списка и элемента справочника, к которому подключили печатную форму, чтобы обновился список команд печати?
Для регистрации внешней печатной формы в Полном интерфейсе заходим Сервис - Дополнительные внешние отчеты и обработки - Печатные формы, создаем новый элемент справочника ВнешниеОбработки и загружаем в него файл Внешней обработки.
Так вот, когда вы загрузили файл внешней обработки, у вас на форме элемента должны заполнится параметры указанные в процедуре СведенияОВнешнейОбработке(). Если в параметрах регистрации в модуле объекта внешней обработки не указаны назначения (или назначения написаны некорректно), то на форме элемента внешней обработки этот параметр назначение (размещение) будет "не определено". Нажимаете на гиперссылку "Не определено" и выбираете из дерева метаданных нужный вам справочник.
Если же назначение на форме заполнено, то вопрос следующий. А вы переоткрывали после добавления (сохранения) внешней обработки формы списка и элемента справочника, к которому подключили печатную форму, чтобы обновился список команд печати?
нет формы элемента. есть макет. макет авторегистрации. в модуле обработки:
// Процедура выводит в табличный документ раздел спецификации.
//
Процедура ВывестиРазделСпецификации(ТабДокумент, Макет, ВыборкаСтрок, ТекстЗаголовка)
Если ВыборкаСтрок.Количество() = 0 Тогда
Возврат;
КонецЕсли;
ДопКолонка = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить();
Колонка = "";
Если ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул Тогда
ВыводитьКоды = Истина;
Колонка = "Артикул";
ИначеЕсли ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Код Тогда
ВыводитьКоды = Истина;
Колонка = "Код";
Иначе
ВыводитьКоды = Ложь;
КонецЕсли;
ОбластьМакета = Макет.ПолучитьОбласть("ШапкаЗаголовок");
ОбластьМакета.Параметры.ТекстЗаголовка = ТекстЗаголовка;
ТабДокумент.Вывести(ОбластьМакета);
Область = Макет.ПолучитьОбласть(?(ВыводитьКоды, "ШапкаСКодом", "Шапка"));
Если ВыводитьКоды Тогда
Область.Параметры.ИмяКолонкиКодов = Колонка;
КонецЕсли;
ТабДокумент.Вывести(Область);
Область = Макет.ПолучитьОбласть(?(ВыводитьКоды, "СтрокаСКодом", "Строка"));
Ном = 0;
// Выборка выходных изделий.
Пока ВыборкаСтрок.Следующий() Цикл
Если НЕ ЗначениеЗаполнено(ВыборкаСтрок.Номенклатура) Тогда
ОбщегоНазначения.Сообщение("В одной из строк не заполнено значение номенклатуры - строка при печати пропущена.", СтатусСообщения.Важное);
Продолжить;
КонецЕсли;
Ном = Ном + 1;
Область.Параметры.Заполнить(ВыборкаСтрок);
Область.Параметры.НомерСтроки = Ном;
Если Колонка = "Артикул" Тогда
Область.Параметры.Артикул = ВыборкаСтрок.Артикул;
ИначеЕсли Колонка = "Код" Тогда
Область.Параметры.Артикул = ВыборкаСтрок.Код;
КонецЕсли;
Область.Параметры.Номенклатура = СокрЛП(ВыборкаСтрок.Наименование) + ФормированиеПечатныхФорм.ПредставлениеСерий(ВыборкаСтрок);
Область.Параметры.НоменклатураРасшифровка = ВыборкаСтрок.Номенклатура;
ТабДокумент.Вывести(Область);
КонецЦикла;
// Вывести подвал
Область = Макет.ПолучитьОбласть("Подвал");
ТабДокумент.Вывести(Область);
КонецПроцедуры // ВывестиРазделСпецификации()
// Функция формирует табличный документ с печатной формой спецификации
// по ГОСТ 2.106-96.
//
// Возвращаемое значение:
// Табличный документ - печатная форма спецификации
//
Функция Печать() Экспорт
ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_Спецификация";
Макет = ПолучитьМакет("Спецификация");
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТекущийЭлемент", СсылкаНаОбъект);
Запрос.Текст = "
|ВЫБРАТЬ
| СпецификацииНоменклатуры.Код КАК Код,
| СпецификацииНоменклатуры.Наименование КАК Наименование,
| СпецификацииНоменклатуры.Ответственный.Наименование КАК ОтветственныйНаименование
|ИЗ
| Справочник.СпецификацииНоменклатуры КАК СпецификацииНоменклатуры
|ГДЕ
| СпецификацииНоменклатуры.Ссылка = &ТекущийЭлемент
|";
Шапка = Запрос.Выполнить().Выбрать();
Шапка.Следующий();
// Выводим шапку накладной
ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
ОбластьМакета.Параметры.ТекстЗаголовка = "Спецификация номенклатуры: " + Шапка.Наименование;
ТабДокумент.Вывести(ОбластьМакета);
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТекущийЭлемент", СсылкаНаОбъект);
Запрос.Текст = "
|ВЫБРАТЬ
| СпецификацииНоменклатуры.Номенклатура.Код КАК Код,
| СпецификацииНоменклатуры.Номенклатура.Артикул КАК Артикул,
| СпецификацииНоменклатуры.Номенклатура КАК Номенклатура,
| ВЫРАЗИТЬ(СпецификацииНоменклатуры.Номенклатура.НаименованиеПолное КАК Строка(1000)) КАК Наименование,
| СпецификацииНоменклатуры.ХарактеристикаНоменклатуры КАК Характеристика,
| NULL КАК Серия,
| СпецификацииНоменклатуры.Количество КАК Количество,
| СпецификацииНоменклатуры.ЕдиницаИзмерения КАК ЕдиницаИзмерения
|ИЗ
| Справочник.СпецификацииНоменклатуры.ВыходныеИзделия КАК СпецификацииНоменклатуры
|ГДЕ
| СпецификацииНоменклатуры.Ссылка = &ТекущийЭлемент
|";
ВыборкаСтрок = Запрос.Выполнить().Выбрать();
ТекстЗаголовка = "Выходные изделия";
ВывестиРазделСпецификации(ТабДокумент, Макет, ВыборкаСтрок, ТекстЗаголовка);
/////////Выходные изделия
Отбор = Новый Структура("СписаниеКомплектующей", Перечисления.ВариантыСписанияКомплектующих.Всегда);
ТаблицаКомплектующих = УправлениеПроизводством.ПолучитьМатериалыПоСпецификации(СсылкаНаОбъект, 1, Отбор, ТекущаяДата(), Ложь);
МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Запрос.Текст="ВЫБРАТЬ
| ТаблицаКомплектующих.Номенклатура,
| ТаблицаКомплектующих.ХарактеристикаНоменклатуры,
| ТаблицаКомплектующих.ЕдиницаИзмерения,
| ТаблицаКомплектующих.Количество
|ПОМЕСТИТЬ ТаблицаКомплектующих
|ИЗ
| &ТаблицаКомплектующих КАК ТаблицаКомплектующих";
Запрос.УстановитьПараметр("ТаблицаКомплектующих", ТаблицаКомплектующих);
Запрос.Выполнить();
////
Запрос.Текст = "ВЫБРАТЬ
| ВременнаяТаблица.Номенклатура.Код КАК Код,
| ВременнаяТаблица.Номенклатура.Артикул КАК Артикул,
| ВременнаяТаблица.Номенклатура КАК Номенклатура,
| ВЫБОР
| КОГДА ВременнаяТаблица.Номенклатура.НаименованиеПолное ЕСТЬ NULL
| ТОГДА ВременнаяТаблица.Номенклатура
| ИНАЧЕ ВЫРАЗИТЬ(ВременнаяТаблица.Номенклатура.НаименованиеПолное КАК СТРОКА(1000))
| КОНЕЦ КАК Наименование,
| ВременнаяТаблица.ХарактеристикаНоменклатуры КАК Характеристика,
| NULL КАК Серия,
| ВременнаяТаблица.Количество КАК Количество,
| ВременнаяТаблица.ЕдиницаИзмерения КАК ЕдиницаИзмерения
|ИЗ
| ТаблицаКомплектующих КАК ВременнаяТаблица
|
|УПОРЯДОЧИТЬ ПО
| Наименование";
ВыборкаСтрок = Запрос.Выполнить().Выбрать();
ТекстЗаголовка = "Исходные комплектующие";
ВывестиРазделСпецификации(ТабДокумент, Макет, ВыборкаСтрок, ТекстЗаголовка);
//// Возвратные отходы
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТекущийЭлемент", СсылкаНаОбъект);
Запрос.Текст = "
|ВЫБРАТЬ
| СпецификацииНоменклатуры.Номенклатура.Код КАК Код,
| СпецификацииНоменклатуры.Номенклатура.Артикул КАК Артикул,
| СпецификацииНоменклатуры.Номенклатура КАК Номенклатура,
| ВЫБОР КОГДА СпецификацииНоменклатуры.Номенклатура.НаименованиеПолное ЕСТЬ NULL ТОГДА
| СпецификацииНоменклатуры.Номенклатура
| ИНАЧЕ
| ВЫРАЗИТЬ(СпецификацииНоменклатуры.Номенклатура.НаименованиеПолное КАК Строка(1000))
| КОНЕЦ КАК Наименование,
| СпецификацииНоменклатуры.ХарактеристикаНоменклатуры КАК Характеристика,
| NULL КАК Серия,
| СпецификацииНоменклатуры.Количество КАК Количество,
| СпецификацииНоменклатуры.ЕдиницаИзмерения КАК ЕдиницаИзмерения
|ИЗ
| Справочник.СпецификацииНоменклатуры.ВозвратныеОтходы КАК СпецификацииНоменклатуры
|ГДЕ
| СпецификацииНоменклатуры.Ссылка = &ТекущийЭлемент
|";
ВыборкаСтрок = Запрос.Выполнить().Выбрать();
ТекстЗаголовка = "Возвратные отходы";
ВывестиРазделСпецификации(ТабДокумент, Макет, ВыборкаСтрок, ТекстЗаголовка);
// Вывести подписи
ОбластьМакета = Макет.ПолучитьОбласть("Подписи");
ОбластьМакета.Параметры.Заполнить(Шапка);
ТабДокумент.Вывести(ОбластьМакета);
// Зададим параметры макета.
ТабДокумент.ОбластьПечати = ТабДокумент.Область(2,2,ТабДокумент.ВысотаТаблицы, ТабДокумент.ШиринаТаблицы);
ТабДокумент.ПолеСверху = 10;
ТабДокумент.ПолеСлева = 20;
ТабДокумент.ПолеСнизу = 10;
ТабДокумент.ПолеСправа = 10;
ТабДокумент.РазмерКолонтитулаСверху = 0;
ТабДокумент.РазмерКолонтитулаСнизу = 0;
ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;
Возврат ТабДокумент;
КонецФункции // ПечатьСпецификации()
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот