Имя: Пароль:
1C
1С v8
Ут 11.1.7.60 Помогите сделать печатную форму расходная-накладная
0 peopel
 
25.03.15
19:52
Нужно было сделать для расходной-накладной в РТУ печать еще и услуг. Скопировал код формирования табличного документа, после вывода товаров в цикле выожу услуги. Все работает, но если только услуги пытаюсь выводить-пишет что в документе нет услуг и не печатает. Попытался изменить запрос по товарам(потавил условие без склада и чтобы тип в запросе услги тоже выбирались)-не помогло, изменил все запросы чтобы не было условия на склады и услуги включались - тоже не помогло. Все время пишет "Печатная форм недоступна" и ничего не выводит. Подскажите, пожалуйста, что делать?
1 peopel
 
25.03.15
19:55
Конкретно я скопировал функцию СформироватьПечатнуюФормуРасходнаяНакладная(МассивОбъектов, ОбъектыПечати, КомплектыПечати)
И в цикле выбирал услуги в документе. Перед Получением подвала.
    ЗапросПоУслугам=Новый Запрос;
    ЗапросПоУслугам.УстановитьПараметр("Ссылка", ВыборкаПоСкладам.Ссылка);
        ТекстЗапросаПоУслугам =
            "ВЫБРАТЬ
            |    РеализацияТоваровУслугТовары.Склад КАК Склад,
            |    РеализацияТоваровУслугТовары.Количество КАК Количество,
            |    РеализацияТоваровУслугТовары.Номенклатура.Код КАК Код,
            |    РеализацияТоваровУслугТовары.Номенклатура.Артикул КАК Артикул,
            |    РеализацияТоваровУслугТовары.Номенклатура.НаименованиеПолное КАК ПредставлениеНоменклатуры,
            |    РеализацияТоваровУслугТовары.Характеристика.НаименованиеПолное КАК ПредставлениеХарактеристики,
            |    РеализацияТоваровУслугТовары.Номенклатура КАК Услуга,
            |    РеализацияТоваровУслугТовары.Характеристика КАК Характеристика,
            |    РеализацияТоваровУслугТовары.Номенклатура.ЕдиницаИзмерения КАК БазоваяЕдиница,
            |    РеализацияТоваровУслугТовары.КоличествоУпаковок,
            |    ВЫБОР
            |        КОГДА РеализацияТоваровУслугТовары.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка)
            |            ТОГДА ПРЕДСТАВЛЕНИЕ(РеализацияТоваровУслугТовары.Номенклатура.ЕдиницаИзмерения)
            |        ИНАЧЕ ПРЕДСТАВЛЕНИЕ(РеализацияТоваровУслугТовары.Упаковка.ЕдиницаИзмерения)
            |    КОНЕЦ КАК УпаковкаПредставление,
            |    РеализацияТоваровУслугТовары.Ссылка КАК Ссылка
            |ИЗ
            |    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
            |ГДЕ
            |    РеализацияТоваровУслугТовары.Ссылка = &Ссылка
            |    И РеализацияТоваровУслугТовары.Номенклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга))";
            
            ЗапросПоУслугам.Текст = ТекстЗапросаПоУслугам;
            ВыборкаПоСтрокамТЧУслуг = ЗапросПоУслугам.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    ////////////////////

    //Пока ДанныеПечатиУслуг.Следующий() Цикл
    //                
    //ВыборкаПоСсылкамУслуг=ДанныеПечатиУслуг.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    //Пока ВыборкаПоСсылкамУслуг.Следующий() цикл
    ////ВыборкаПоСтрокамТЧУслуг = ДанныеПечатиУслуг.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    //ВыборкаПоСтрокамТЧУслуг = ВыборкаПоСсылкамУслуг.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    Пока ВыборкаПоСтрокамТЧУслуг.СледуЮщий() цикл
                        СтрокаУпаковок = "";
                        СтрокаКоличесткаУпаковок = "";
                        СтрокаЕдиницИзмерений = "";
                        СтрокаКоличества = "";
                        
        СтруктураДанныхНомерСтроки = Новый Структура("НомерСтроки", СчетСтрок);
        ОбластьНачалоСтроки.Параметры.Заполнить(СтруктураДанныхНомерСтроки);
        СчетСтрок = СчетСтрок + 1;
        ТабличныйДокумент.Вывести(ОбластьНачалоСтроки);
        Если ВыводитьКоды Тогда
            СтруктураДанныхКоды = Новый Структура("ЗначениеКода", ВыборкаПоСтрокамТЧУслуг[КолонкаКодов]);
            ОбластьКолонкаКодов.Параметры.Заполнить(СтруктураДанныхКоды);
            ТабличныйДокумент.Присоединить(ОбластьКолонкаКодов);
        КонецЕсли;
        
                                
        Если СтрДлина(СтрокаСерий) <> 0 Тогда
            СтрокаСерий = Лев(СтрокаСерий, СтрДлина(СтрокаСерий) - 2);
        КонецЕсли;
        
        Товар = ВыборкаПоСтрокамТЧУслуг.Услуга;
        
        СтруктураДанныхТовар = Новый Структура("Товар", Товар);
        ОбластьКолонкаТоваров.Параметры.Заполнить(СтруктураДанныхТовар);
        
        ТабличныйДокумент.Присоединить(ОбластьКолонкаТоваров);
        

    СтрокаКоличества = СтрокаКоличества + ВыборкаПоСтрокамТЧУслуг.Количество + Символы.ПС;
    

    СтруктураДанныхКолонкаУпаковок = Новый Структура;
    //СтруктураДанныхКолонкаУпаковок.Вставить("КоличествоУпаковок", "");
    //СтруктураДанныхКолонкаУпаковок.Вставить("ПредставлениеЕдининицыИзмеренияУпаковки", "");
    СтруктураДанныхКолонкаУпаковок.Вставить("КоличествоУпаковок", ВыборкаПоСтрокамТЧУслуг.КоличествоУпаковок);
    СтруктураДанныхКолонкаУпаковок.Вставить("ПредставлениеЕдининицыИзмеренияУпаковки", ВыборкаПоСтрокамТЧУслуг.УпаковкаПредставление);

    ОбластьКолонкаУпаковок.Параметры.Заполнить(СтруктураДанныхКолонкаУпаковок);
    ТабличныйДокумент.Присоединить(ОбластьКолонкаУпаковок);

СтруктураДанныхКолонкаКоличества = Новый Структура;
    СтруктураДанныхКолонкаКоличества.Вставить("Количество", ВыборкаПоСтрокамТЧУслуг.Количество);
    СтруктураДанныхКолонкаКоличества.Вставить("ПредставлениеБазовойЕдиницыИзмерения", ВыборкаПоСтрокамТЧУслуг.БазоваяЕдиница);
    ОбластьКолонкаКоличества.Параметры.Заполнить(СтруктураДанныхКолонкаКоличества);
    ТабличныйДокумент.Присоединить(ОбластьКолонкаКоличества);
КонецЦикла;
2 peopel
 
25.03.15
20:02
Может у кого есть примеры? Не хотелось бы брать код из других форм(В ТОРГ-12, на пример, посмотрел-выводятся услуги) я просто еще стажер даже не знаю что конкретно выводит ТОРГ-12(в расходной-накладной-всё ясно, а в ТОРГ-12 много всего и не думаю что сейчас смогу разобраться)
3 peopel
 
25.03.15
20:07
Ап
4 peopel
 
25.03.15
20:22
Ап!
5 User_Agronom
 
25.03.15
20:24
(0) Ну и в каком месте ты услуги выбираешь? Разве это не отдельная табличная часть?
6 peopel
 
25.03.15
20:27
Нет, это строки тоабличной части товары. Тут у меня все нормально выбирается. Мне надо получать ссылки на те документы в выборке по товарам(которая была) на все документы печати, а не только на те. в которых есть товары
7 peopel
 
25.03.15
20:32
АП!
8 peopel
 
25.03.15
20:40
Может посмотрите. Залил обработку сюда http://rghost.net/8VFbqkjLy Через форму не печатает, пишет что не обнаружено имя, хотя наименование выставлено в описании
9 peopel
 
25.03.15
20:42
Миста пожаловалась на мой нецензрный код. Вот сам код http://pastebin.com/8iHrC6TM
10 peopel
 
25.03.15
20:55
ВВЫСЬ!
11 peopel
 
25.03.15
21:01
Скажите что я делаю не так
12 User_Agronom
 
25.03.15
21:19
(11) Много суетишся, задаёшь кучу вопросов не понимая, что хочешь в ответ.

Попробуй пройти код в отладчике
13 peopel
 
25.03.15
21:31
Спасибо. Не подскажите, что за ошибка "Поле объекта не обнаружено. Имя файла печатной формы" хотя в сведениях об обработке наименование написано, ошибка все равно вылетает.
14 User_Agronom
 
25.03.15
21:58
Когда он пишет про ошибку, то сообщает модуль и номер строки, в которой эта ошибка произошла. Туда и иди смотреть.

А правильнее всего будет добавить форму, с помощью которой отладить формирование табличного документа, а потом уже вступать в интимную связь с регистрацией печатной формы.
15 peopel
 
25.03.15
22:08
(14) Да, спасибо, посмотрел. У мня не было в коллекции печатных форм колонки ИмяПечатнойФормы. Добавил. Кстати, ругалось именно когда я пытался печатать в форме. сейчас смотрю что сдлать чтобы все докумнты попадали. наверное надо мнять все запросы.
AdBlock убивает бесплатный контент. 1Сергей