Внешняя печатная форма спецификации #689491


#0 by TAN1990
Добрый день! Сделала внешнюю печатную форму печати спецификации. Вызывается из справочника «Спецификации». Работает. А надо, чтобы эта печатная форма вызывалась из «требовании- накладной» при условии, что эта требование-накладная сформирована на основании заказа на производство. Т.е.  в ТН на закладке «дополнительно» заполнено поле «основание». Поля с ссылкой на спецификацию в ТН нет. Оно есть только в табличной части «заказа на производство». Подскажите, пожалуйста, с чего начать? Можно ли просто переделать уже работающую внешнюю форму, вызываемую из справочника «спецификации»?
#1 by shuhard
[Можно ли просто переделать] разрешаю
#2 by butterbean
эээ, а если там несколько спецификаций?
#3 by TAN1990
у нас так не бывает
#4 by TAN1990
как? подскажите, пожалуйста
#5 by Diamond905
Так же как для справочника
#6 by Любопытная
док основание получаешь и для каждой строки ТЧ выводишь печатную форму как для справочника. Вроде все просто
#7 by TAN1990
к одному заказу на производство может быть несколько ТН. Надо, чтобы выводилось не содержимое ТН, а именно спецификация на которую ссылается "заказ на производство"
#8 by butterbean
твоя задача просто найти спецификацию, из первой строки заказа например
#9 by butterbean
+ типа Основание.ТвояТабЧасть[0].Спецификация
#10 by butterbean
+ сначала конечно проверить, что основание заполнено и это именно заказ на пр-во
#11 by TAN1990
Это код ВПФ, который работает из справочника "спецификации". Где начать 8, 9, 10?:             ОбщегоНазначения.Сообщение("В одной из строк не заполнено значение номенклатуры - строка при печати пропущена.", СтатусСообщения.Важное);
#12 by TAN1990
справочник "спецификация" уже не будет являться текущим документом переделать код быстро, наверное не получится
#13 by Thorn-deep
Забыл написать "Первый нах" ....
#14 by TAN1990
что первый?
#15 by Krendel
Раскрою секрет, ТН не содержит спецификации ;-)
#16 by butterbean
именно поэтому там написано Основание....
#17 by TAN1990
что дальше с этим делать?
#18 by butterbean
зачем это??
#19 by TAN1990
А как по другому добраться до заказа на производство?
#20 by PaulBC
Запрос.УстановитьПараметр("ТекущийЭлемент", СсылкаНаОбъект.ДокументОснование.Продукция[0].Спецификация); Перед этим куча разных условий.
#21 by butterbean
СсылкаНаОбъект.ДокументОснование
#22 by TAN1990
но в ТН нет ни продукции, ни спецификации
#23 by TAN1990
+ а! Дошло!
#24 by Любопытная
зато есть ДокументОснование. Или просто Основание. Или какой-то другой реквизит, который хранит в себе ссылку на документ Заказ в производство.
#25 by TAN1990
ЗаказНаПроизводство=СсылкаНаОбъект.ДокументОснование; Заказ на производства вытащили. Как теперь через него добраться до спецификации?
#26 by Artful Den
сделать запрос по ТЧ Продукция документа заказ на производство.
#27 by TAN1990
Так работает. А если вместо ЗаказНаПроизводство подставляем ЗаказНаПроизводство ругается
#28 by TAN1990
там все не правильно написала Запрос = Новый Запрос; Так работает. А если вместо ЗаказНаПроизводство подставляем СсылкаНаОбъект.ДокументОснование ругается
#29 by TAN1990
+ вернее не работает, а хоть ошибок не выдает при сохранении обработки.
#30 by butterbean
вроде бы в написала, что дошло :-) тебе нужно анализировать тип значения СсылкаНаОбъект, ну т.е. ТипЗнч(СсылкаНаОбъект) и если он равен Тип("СправочникСсылка.Спецификации"), то будет твой код из , а если Тип("ДокументСсылка.ТребованиеНакладная"), то будет такой же код, просто в запросах будет параметр не СсылкаНаОбъект, а СсылкаНаОбъект.ДокументОснование.Продукция[0].Спецификация... тебе об этом в и написали
#31 by TAN1990
Выдает ошибку: Не удалось сформировать внешнюю печатную форму! Поле объекта не обнаружено (ДокументОснование) хотя в ТН поле "основание" заполнено
#32 by butterbean
явно забыла тип значения реквизита СсылкаНаОбъект сделать составным :-)
#33 by Serg_1960
(имхо) Не вижу практического смысла в . Имеет смысл только для очень специфичного случая заполнения документов. Если в заказе на производство только одна строка продукции; если ТЧ с материалами заполнена по спецификации; если не используются аналоги материалов; если соблюдается соответствие "один заказ - одно требование"; если... Короче: не вижу смысла печатать спецификацию "из-под" требования-накладной.
#34 by TAN1990
(30, 32) А я вообще не стала проверять ТипЗнч(СсылкаНаОбъект) Зачем? У меня во внешней печатной форме есть реквизит "СсылкаНаОбъект" и его тип уже "ДокументСсылка.ТребованиеНакладная" Просто до тип у меня был равен "СправочникСсылка.СпецификацииНоменклатуры" Сейчас изменила на "ДокументСсылка.ТребованиеНакладная" и ВСЕ ЗАРАБОТАЛО! СПАСИБО ВАМ БОЛЬШОЕ!!!!
#35 by TAN1990
"если ТЧ с материалами заполнена по спецификации; если не используются аналоги материалов; если соблюдается соответствие " с этим согласна - это у нас все соблюдается. "один заказ - одно требование" - а с этим не согласна. Какая разница, сколько ТН. Хоть 150 шт. Заказ то все равно один. И печать спецификаций по нему.
#36 by butterbean
просто теперь все это не будет работать из справочника Спецификации
#37 by Serg_1960
"...А надо, чтобы эта печатная форма вызывалась из «требовании- накладной»"
#38 by TAN1990
прицепила разные печатные формы с соответствующим типом реквизита СсылкаНаОбъект и к ТН, и к спецификации. Так что и там, и там работает
#39 by TAN1990
Да. Еще. Если поле основание пустое или не равно "Заказ на производство" ошибку выдает. "Не удалось сформировать внешнюю печатную форму! Поле объекта не обнаружено (Продукция)" Проверку же надо вставить
#40 by TAN1990
Что то у меня это не работает
#41 by TAN1990
... ... ...
Тэги: Админ
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С