Имя: Пароль:
1C
1С v8
Открытие формы отчета и передача в нее параметра
0 Len1vec
 
06.07.18
15:22
Добрый день. Подскажите, пожалуйста, в чем моя ошибка?
Внешний отчет отрабатывает как надо. Код отчета:

ВЫБРАТЬ
    ОткрытиеСменыРабочиеЦентры.Ссылка КАК ДокументОткрытиеСмены,
    ОткрытиеСменыРабочиеЦентры.ДокументСмены КАК ДокументРабочееМестоМастераСмены,
    ОткрытиеСменыРабочиеЦентры.ДокументСмены.ЗаданиеНаПроизводство КАК ЗаданиеНаПроизводство
ПОМЕСТИТЬ ОС_РММС_ЗНП
ИЗ
    Документ.ОткрытиеСмены.РабочиеЦентры КАК ОткрытиеСменыРабочиеЦентры
ГДЕ
    ОткрытиеСменыРабочиеЦентры.Ссылка = &ДокументОткрытияСмены
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ОС_РММС_ЗНП.ДокументОткрытиеСмены,
    ОС_РММС_ЗНП.ДокументРабочееМестоМастераСмены,
    ОС_РММС_ЗНП.ЗаданиеНаПроизводство,
    СведенияОШтрихкоде.Номенклатура,
    СведенияОШтрихкоде.ХарактеристикаНоменклатуры,
    СведенияОШтрихкодеСоответствиеНомеровПаллет.НомерСУС,
    СведенияОШтрихкодеСоответствиеНомеровПаллет.Номер1С,
    СведенияОШтрихкодеПаллеты.КоличествоНаПаллете,
    СведенияОШтрихкодеПаллеты.КоличествоНаПоследней,
    СведенияОШтрихкодеПаллеты.НомерПервойПаллеты,
    СведенияОШтрихкодеПаллеты.НомерПоследнейПаллеты,
    ВЫБОР
        КОГДА СведенияОШтрихкодеСоответствиеНомеровПаллет.Номер1С >= СведенияОШтрихкодеПаллеты.НомерПервойПаллеты
                И СведенияОШтрихкодеСоответствиеНомеровПаллет.Номер1С <= СведенияОШтрихкодеПаллеты.НомерПоследнейПаллеты
            ТОГДА СведенияОШтрихкодеПаллеты.ДатаВремяПечатиЭтикеток
    КОНЕЦ КАК ДатаВремяПечатиЭтикеток,
    СведенияОШтрихкодеПаллеты.Пользователь КАК Исполнитель,
    ОС_РММС_ЗНП.ДокументОткрытиеСмены.ОкончаниеСмены КАК ДатаОкончанияСмены,
    СведенияОШтрихкоде.Ссылка КАК ШтрихкодСсылка
ПОМЕСТИТЬ СведенияИзШтрихкодов
ИЗ
    ОС_РММС_ЗНП КАК ОС_РММС_ЗНП
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СведенияОШтрихкоде КАК СведенияОШтрихкоде
            ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.СведенияОШтрихкоде.Паллеты КАК СведенияОШтрихкодеПаллеты
            ПО СведенияОШтрихкоде.Ссылка = СведенияОШтрихкодеПаллеты.Ссылка
            ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.СведенияОШтрихкоде.СоответствиеНомеровПаллет КАК СведенияОШтрихкодеСоответствиеНомеровПаллет
            ПО СведенияОШтрихкоде.Ссылка = СведенияОШтрихкодеСоответствиеНомеровПаллет.Ссылка
        ПО ОС_РММС_ЗНП.ЗаданиеНаПроизводство = СведенияОШтрихкоде.ЗаданиеНаПроизводство
ГДЕ
    СведенияОШтрихкодеПаллеты.ДатаВремяПечатиЭтикеток > ОС_РММС_ЗНП.ДокументОткрытиеСмены.ОкончаниеСмены
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    СведенияИзШтрихкодов.ДокументОткрытиеСмены,
    СведенияИзШтрихкодов.ДокументРабочееМестоМастераСмены,
    СведенияИзШтрихкодов.ЗаданиеНаПроизводство,
    СведенияИзШтрихкодов.Номенклатура,
    СведенияИзШтрихкодов.ХарактеристикаНоменклатуры,
    СведенияИзШтрихкодов.НомерСУС,
    СведенияИзШтрихкодов.Номер1С,
    ВЫБОР
        КОГДА СведенияИзШтрихкодов.Номер1С = СведенияИзШтрихкодов.НомерПоследнейПаллеты
            ТОГДА СведенияИзШтрихкодов.КоличествоНаПоследней
        ИНАЧЕ СведенияИзШтрихкодов.КоличествоНаПаллете
    КОНЕЦ КАК КоличествоНаПалетте,
    ЗаданиеНаПроизводствоВыпускТехПроцесс.Заказ,
    ЗаданиеНаПроизводствоВыпускТехПроцесс.Период КАК ДатаНачалаПлан,
    ЗаданиеНаПроизводствоВыпускТехПроцесс.ДатаОкончания КАК ДатаОкончанияПлан,
    СведенияИзШтрихкодов.Исполнитель,
    СведенияИзШтрихкодов.ДатаОкончанияСмены,
    СведенияИзШтрихкодов.ДатаВремяПечатиЭтикеток
ИЗ
    СведенияИзШтрихкодов КАК СведенияИзШтрихкодов
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаданиеНаПроизводство.ВыпускТехПроцесс КАК ЗаданиеНаПроизводствоВыпускТехПроцесс
        ПО СведенияИзШтрихкодов.ЗаданиеНаПроизводство = ЗаданиеНаПроизводствоВыпускТехПроцесс.Ссылка
            И СведенияИзШтрихкодов.Номенклатура = ЗаданиеНаПроизводствоВыпускТехПроцесс.Номенклатура
            И СведенияИзШтрихкодов.ХарактеристикаНоменклатуры = ЗаданиеНаПроизводствоВыпускТехПроцесс.ХарактеристикаНоменклатуры
            И СведенияИзШтрихкодов.ШтрихкодСсылка.ЗаказПокупателя = ЗаданиеНаПроизводствоВыпускТехПроцесс.Заказ
ГДЕ
    СведенияИзШтрихкодов.ДатаВремяПечатиЭтикеток > ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)

СГРУППИРОВАТЬ ПО
    ЗаданиеНаПроизводствоВыпускТехПроцесс.Заказ,
    СведенияИзШтрихкодов.ЗаданиеНаПроизводство,
    СведенияИзШтрихкодов.ДокументОткрытиеСмены,
    СведенияИзШтрихкодов.ДокументРабочееМестоМастераСмены,
    СведенияИзШтрихкодов.Номенклатура,
    СведенияИзШтрихкодов.ХарактеристикаНоменклатуры,
    СведенияИзШтрихкодов.НомерСУС,
    СведенияИзШтрихкодов.Номер1С,
    ЗаданиеНаПроизводствоВыпускТехПроцесс.Период,
    ЗаданиеНаПроизводствоВыпускТехПроцесс.ДатаОкончания,
    СведенияИзШтрихкодов.Исполнитель,
    СведенияИзШтрихкодов.ДатаОкончанияСмены,
    СведенияИзШтрихкодов.ДатаВремяПечатиЭтикеток,
    ВЫБОР
        КОГДА СведенияИзШтрихкодов.Номер1С = СведенияИзШтрихкодов.НомерПоследнейПаллеты
            ТОГДА СведенияИзШтрихкодов.КоличествоНаПоследней
        ИНАЧЕ СведенияИзШтрихкодов.КоличествоНаПаллете
    КОНЕЦ

Сейчас же этот же отчет открывается посредством нажатия кнопки "Проверка печати" в документе открытия смены.
Код команды:

&НаКлиенте
Процедура НапечатанныеПаллеты(Команда)
    П = Новый Структура("ДокументОткрытияСмены", Объект.Ссылка);
    Форма = ПолучитьФорму("Отчет.ОтчетПечатиПалеттR3.Форма.ФормаОтчета", П);
    Форма.Открыть();
КонецПроцедуры

Открываю форму отчета, передавая в нее ссылку на документ "Открытие смены". Код обработки:

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

При нажатии кнопочки отчета "Сформировать" ничего не выводится, хотя во внешнем отчете все выводится (правда там вручную указывается документ). Помогите, пожалуйста, разобраться.
1 Mankubus
 
06.07.18
15:32
(0) не выводится, а параметр устанавливается? Посмотри в настройках отчёта
2 Len1vec
 
06.07.18
15:59
(1) Вот так сейчас выглядит все (ссылки на картинки). При этом выдает ошибку:
Ошибка выполнения отчета
по причине:
Ошибка исполнения отчета
по причине:
Использование циклических параметров запрещено "Документ открытия смены"

https://radikal.ru/big/hfk3mqgy65dza
https://radikal.ru/big/rm7xxufylfych
3 Len1vec
 
06.07.18
21:35
С чем связана ошибка "Использование циклических параметров запрещено "Документ открытия смены""?
4 Mankubus
 
06.07.18
21:49
(2) в режиме предприятия устанавливается параметр или нет?
5 Len1vec
 
06.07.18
22:20
(4) нет
6 Len1vec
 
06.07.18
22:20
(4) я его пытаюсь передать программно
7 ssh2006
 
07.07.18
00:48
(3) ошибка на второй картинке - параметр сам на себя ссылается. Очисти правое значение
8 Len1vec
 
07.07.18
10:36
(7) спасибо, от ошибки избавиться помогло, но результат отчета не выводится :(
9 Len1vec
 
11.07.18
14:09
Вопрос еще актуален: как установить значение "Документ открытия смены" в настройках формы отчета при её открытии, передавая в нее параметр типа "ДокументОткрытияСмены.ссылка"
Независимо от того, куда вы едете — это в гору и против ветра!