|
Печать бланков элементов справочника | ☑ | ||
---|---|---|---|---|
0
VenedPS
08.07.14
✎
12:23
|
Добрый день.
Подскажите как реализовать печать бланков элементов из справочника. Например, мне нужно выбрать из справочника некоторое количество единиц номенклатуры и распечатать их разместив данные в бланк по макету. Как такое можно реализовать? На ум пока пришло только создать документ с таб частью куда по кнопке добавляем единицы номенклатуры и указываем количество бланков. По кнопке печать внутренним запросом считываю данные из таблицы а внешним ищу данные в справочнике приравнивая их к названиям с внутреннего запроса. Но мне кажется что это дико и коряво) Заранее благодарю за помощь |
|||
1
Wobland
08.07.14
✎
12:24
|
обходишь свою ТЧ и выводишь данные в ТабДокумент
|
|||
2
Бешеная Нога
08.07.14
✎
12:25
|
Обработка с табличной частью, где указываешь список номенклатуры. Печатаешь.
|
|||
3
VenedPS
08.07.14
✎
12:33
|
Спасибо. А не подскажете где можно почитать/посмотреть как работать с обработками и сделать что-то подобное? С таким еще не сталкивался просто.
|
|||
4
VenedPS
08.07.14
✎
14:43
|
В обработке делаю запрос, но вот вопрос - как обратится к данным ТЧ обработки?
|
|||
5
Wobland
08.07.14
✎
14:45
|
(4) обратиться к ТЧ прямо в запросе
|
|||
6
VenedPS
08.07.14
✎
14:53
|
В обработке есть таб часть Список куда по кнопке добавляю нужные позиции из Справочника ГотоваяПродукция. В запросе внутренний запрос считывает дынные с таб части обработки - Список. Но ругается на меня программа что такой таблицы нет. Да и в конструкторе запросов нету обработок и отчетов.
"ВЫБРАТЬ | ТабДок.Ссылка.Наименование КАК Артикль, | ТабДок.Ссылка.Название КАК Название, | ТабДок.КодКомпонента, | ТабДок.КодКомпонента, | ТабДок.БазисКолич КАК КоличДет, | ТабДок.Инд | ИЗ | Справочник.ГотоваяПродукция.ТабДок КАК ТабДок, | (Выбрать | Артикль, | Количество | ИЗ | Обработка.НапечататьКартыБрака.Список) КАК Выб |ГДЕ | ТабДок.Ссылка.Наименование = Выб.Артикль"; |
|||
7
Wobland
08.07.14
✎
14:54
|
а не выйдет запросить что-нибудь у обработки
|
|||
8
Wobland
08.07.14
✎
14:55
|
на всякий случай даю справку: артикль - одна из служебных частей речи, используемая в составе именной группы (словосочетания, в котором главное слово — существительное или его грамматический аналог) для выражения ряда языковых значений
|
|||
9
Megas
08.07.14
✎
14:58
|
По сути тебе запрос не нужен.
|
|||
10
VenedPS
08.07.14
✎
15:00
|
а как тогда без запроса можно?
|
|||
11
Wobland
08.07.14
✎
15:00
|
(10) выборкой
|
|||
12
Megas
08.07.14
✎
15:01
|
Для каждого СтрокаТч из ТЧ_обработки цикл
КонецЦикла; |
|||
13
VenedPS
08.07.14
✎
15:04
|
Спасибо, сейчас попробую
|
|||
14
Megas
08.07.14
✎
15:05
|
Если очень хочется то можно и запросом обратиться к ТЧ обработки.
Это так на будущее Запрос = Новый Запрос(); Запрос.Текст = "ВЫБРАТЬ | ТчОбработки.Номенклатура, | ТчОбработки.Количество |ПОМЕСТИТЬ ТчОбработки |ИЗ | &ТчОбработки КАК ТчОбработки |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ТчОбработки.Номенклатура, | ТчОбработки.Количество |ИЗ | ТчОбработки КАК ТчОбработки"; Запрос.УстановитьПараметр("ТчОбработки",ТчОбработки.Выгрузить()); |
|||
15
VenedPS
09.07.14
✎
17:07
|
До конца не разобрался с обработками поэтому сварганил все печать с документа. По кнопке добавляю нужные единицы номенклатуры, задаю количество и потом заполняю данными макет. Кому пригодится вот код:
&НаКлиенте Процедура Печать(Команда) ТабДок = Новый ТабличныйДокумент; НомерДок = Объект.Номер; СформироватьПечать(ТабДок, НомерДок); ТабДок.Показать (); КонецПроцедуры &НаСервереБезКонтекста Процедура СформироватьПечать(ТабДок, НомерДок) Макет = Документы.ПечатьКартБрака.ПолучитьМакет("Печать"); ОблЗаголовок = Макет.ПолучитьОбласть("Заголовок"); Шапка = Макет.ПолучитьОбласть("Шапка"); ТабДокШапка = Макет.ПолучитьОбласть("ТабДокШапка"); ТабДокМ = Макет.ПолучитьОбласть("ТабДокМ"); Подвал = Макет.ПолучитьОбласть("Подвал"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ПечатьКартБракаСписок.Ссылка.Номер, | ПечатьКартБракаСписок.Артикль, | ПечатьКартБракаСписок.Количество, | ПечатьКартБракаСписок.Название |ИЗ | Документ.ПечатьКартБрака.Список КАК ПечатьКартБракаСписок |ГДЕ | ПечатьКартБракаСписок.Ссылка.Номер = &НомерДок"; Запрос.УстановитьПараметр("НомерДок", НомерДок); Результат1 = Запрос.Выполнить(); Выборка1 = Результат1.Выбрать(); Пока Выборка1.Следующий() Цикл Количество = Выборка1.Количество; КолПеч = 0; Пока Количество > КолПеч Цикл ТабДок.Вывести(ОблЗаголовок); Шапка.Параметры.Артикль = Выборка1.Артикль; Шапка.Параметры.Название = Выборка1.Название; Артикль = Выборка1.Артикль; ТабДок.Вывести(Шапка); ТабДок.Вывести(ТабДокШапка); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ГотоваяПродукцияТабДок.Ссылка.Наименование, | ГотоваяПродукцияТабДок.НомерСтроки, | ГотоваяПродукцияТабДок.НазваниеКомпонента, | ГотоваяПродукцияТабДок.КодКомпонента, | ГотоваяПродукцияТабДок.БазисКолич, | ГотоваяПродукцияТабДок.Инд |ИЗ | Справочник.ГотоваяПродукция.ТабДок КАК ГотоваяПродукцияТабДок |ГДЕ | ГотоваяПродукцияТабДок.Ссылка.Наименование = &Артикль"; Запрос.УстановитьПараметр("Артикль", Артикль); Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); Пока Выборка.Следующий() Цикл ТабДокМ.Параметры.Заполнить(Выборка); ТабДок.Вывести(ТабДокМ, Выборка.Уровень()); КонецЦикла; ТабДок.Вывести(ТабДокМ); ТабДок.Вывести(Подвал); КолПеч = КолПеч+1; ТабДок.ВывестиГоризонтальныйРазделительСтраниц(); КонецЦикла; КонецЦикла; КонецПроцедуры |
|||
16
Wobland
09.07.14
✎
17:09
|
поиск документа по номеру, запрос в цикле - всё это несомненно мощь!
|
|||
17
Крошка Ру
09.07.14
✎
17:28
|
(1)Это так называемое спонтанное программирование, когда данные добываются ровно в том самом месте модуля, где они понадобились и ни строчкой выше!
А строчкой ниже - они отбрасываются как отработавшие своё и износившиеся, и добываются из базы по новой. |
|||
18
Крошка Ру
09.07.14
✎
17:30
|
(17) к (16)
|
|||
19
МойКодУныл
09.07.14
✎
17:41
|
(16) необходимо утилизировать возросшую производительность компьютеров. Если все перестанут писать г-но код, как интел\амд свои новые поделки продавать будет? Все развитие ИТ-индустрии, можно сказать, держится на плечах таких программистов.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |