8.х Передача параметров из формы табличного документа в форму отчета 1с 8.3

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Nyta, 17 мар 2016.

  1. TopicStarter Overlay
    Nyta
    Offline

    Nyta

    Регистрация:
    17 мар 2016
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    Всем привет!

    Есть определенная схема рассадки, которая выводится на экран в виде ТабличногоПоля.... По правой мыши вызывается контекстное меню, где один из пунктов это Формирование отчета...

    https://drive.google.com/file/d/0BwF_oocLEKVLbTBvM19LTnk0ZDg/view?usp=sharing

    Вот код, который должен передавать в форму отчета два параметра (Стол и Место) из выделенной ячейки...

    &НаКлиенте
    Процедура ГИВЦ_Химсостав_По_Столам(Команда)
    СоответствиеЯчеек = Новый Соответствие;
    ОписаниеТипов = Новый ОписаниеТипов("Строка");

    Для Каждого ВыделеннаяОбласть Из Результат2.ВыделенныеОбласти Цикл
    Для Индекс1 = ВыделеннаяОбласть.Лево По ВыделеннаяОбласть.Право Цикл
    Для Индекс2 = ВыделеннаяОбласть.Верх По ВыделеннаяОбласть.Низ Цикл
    Область = Результат2.Область(Индекс2, Индекс1, Индекс2, Индекс1);
    Значение = ОписаниеТипов.ПривестиЗначение(Область.Текст);
    СоответствиеЯчеек.Вставить(Область.Имя, Значение);
    КонецЦикла;
    КонецЦикла;
    КонецЦикла;

    Для каждого Ячейка Из СоответствиеЯчеек Цикл
    Значение = Ячейка.Значение;
    Если НЕ Значение = "" Тогда
    ЧастьСтроки = Сред(СокрЛП(Значение),1,7);
    ПоследнийСимвол = Прав(ЧастьСтроки,1);
    НомерМеста = Прав(ЧастьСтроки,1);
    Если ПоследнийСимвол = " / " Тогда
    КолСимСтол = СтрДлина(ЧастьСтроки)-1;
    ЧастьСтроки = Лев(Значение,КолСимСтол);
    НомерСтола = Прав(ЧастьСтроки,2);
    Иначе
    НомерСтола = Прав(ЧастьСтроки,3);
    КонецЕсли;
    КонецЕсли;
    КонецЦикла;

    ПараметрыФормы = Новый Структура("Место, Стол");
    ПараметрыФормы.Место = НомерМеста;
    ПараметрыФормы.Стол = НомерСтола;
    ОткрытьФорму("Отчет.ГИВЦ_Химсостав_По_Столам.Форма.ФормаОтчета", ПараметрыФормы);
    КонецПроцедуры

    Вот код в модуле формы отчета ПриСоздании

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

    По нажатию форма отчета выводится на экран, но поля Стол и Место пустые...

    https://drive.google.com/file/d/0BwF_oocLEKVLLXJwd3FtbVdJSmM/view?usp=sharing

    Что-то пропустила, а где ?????....

    Подскажите кто может, пожалуйста.....
  2. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.565
    Симпатии:
    716
    Баллы:
    204
    У формы отчета параметры Место и Стол существуют при этом?
  3. TopicStarter Overlay
    Nyta
    Offline

    Nyta

    Регистрация:
    17 мар 2016
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    ...есть...

    Снимок_отчет.JPG

    ...может через хранилище значений попробовать....???
  4. Dem0lisher
    Offline

    Dem0lisher Профессионал в 1С

    Регистрация:
    4 авг 2009
    Сообщения:
    1.023
    Симпатии:
    51
    Баллы:
    54
    Что отладчик говорит?
    Поставьте точку останова на строке
    Отчет.Место = Параметры.Место;
    в процедуре ПриСозданииНаСервере
    И скажите, чему равно Параметры.Место, а еще тип у Отчет.Место какой?
    Надо создать отдельную тему, как работать с отладчиком. :)
    А наличие параметров в форме необязательно - вы их кодом туда пихаете.
  5. TopicStarter Overlay
    Nyta
    Offline

    Nyta

    Регистрация:
    17 мар 2016
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    вот... пусто...
    Отчет.Место ...это Строка...

    Снимок_отладка.JPG
  6. Dem0lisher
    Offline

    Dem0lisher Профессионал в 1С

    Регистрация:
    4 авг 2009
    Сообщения:
    1.023
    Симпатии:
    51
    Баллы:
    54
    Место - строка, Стол - ссылочный тип.
    Теперь разверните коллекцию "Параметры" в отладчике, что там?
  7. TopicStarter Overlay
    Nyta
    Offline

    Nyta

    Регистрация:
    17 мар 2016
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
  8. Dem0lisher
    Offline

    Dem0lisher Профессионал в 1С

    Регистрация:
    4 авг 2009
    Сообщения:
    1.023
    Симпатии:
    51
    Баллы:
    54
    Ну НомерСтола - по любому не прокатит - поскольку это ссылочный тип, а вы строку передаете.
    А вот номер места наверное тупо пустой.
    Теперь зайдите отладкой в код, где вы форму открываете:

    Код:
    ПараметрыФормы = Новый Структура("Место, Стол");
    ПараметрыФормы.Место = НомерМеста;
    ПараметрыФормы.Стол = НомерСтола;
    ОткрытьФорму("Отчет.ГИВЦ_Химсостав_По_Столам.Форма.ФормаОтчета", ПараметрыФормы);
    И посмотрите чему тут равен НомерМеста и НомерСтола.
  9. TopicStarter Overlay
    Nyta
    Offline

    Nyta

    Регистрация:
    17 мар 2016
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    ...в самом деле пустые значения...
    Спасибо Вам огромное.....)))
    Если честно, очень долго не хотела пользоваться отладчиком, казалось чем-то сложным, а благодаря Вам понята что не только не сложно, а очень даже полезно....

    Спасибо!!!

    Можно я ещё один вопрос задам, в другой теме, создам сейчас...немножко "из другой оперы"..... помогите если будет время....
    С уважением, Анна.
  10. Dem0lisher
    Offline

    Dem0lisher Профессионал в 1С

    Регистрация:
    4 авг 2009
    Сообщения:
    1.023
    Симпатии:
    51
    Баллы:
    54
    Умение пользоваться отладчиком - наверное самый важный навык, без которого прогу никуда..
    Можно быстро понять, с какой строки начинаются проблемы.
    А 90% всех ошибок из-за несоответствия типов, вот как у вас стол - это справочник, а вы туда строку передаете.
    В отладчике все видно у какого объекта какой тип.
  11. TopicStarter Overlay
    Nyta
    Offline

    Nyta

    Регистрация:
    17 мар 2016
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    Спасибо ещё раз!!! Всё получилось!!!
    :)
  12. web.num
    Offline

    web.num Опытный в 1С Команда форума

    Регистрация:
    6 окт 2011
    Сообщения:
    910
    Симпатии:
    4
    Баллы:
    29
    -Hilarious- отладчик - одно из самых легких в 1С и самых полезных вещей, я вообще не знаю как без него жить -Coldfeet--Nurse-

Поделиться этой страницей