8.х Отбор по значению (и перенос в ТЗ)

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

  1. TopicStarter Overlay
    KatrineKA
    Offline

    KatrineKA Опытный в 1С

    Регистрация:
    5 окт 2010
    Сообщения:
    214
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте.
    Вопрос в следущем: в справочнике Номенклатура вызывается дополнительна форма настройки свойств. На этой новой форме есть ТЗ, в которую выгружаются уже отобранные данные из РегистраСведений. Таблица в целом всем устраивает, элементы редактируются и изменения отражаются в регистре (примерно для того и сделано, что бы пользователь работал с формой и отобранной информацией, а не в целом регистре).
    В таблице есть Номенклатура и Свойства, при нажатии на кнопку выбора в колонке Свойства, вызывается список свойств с отбором, по нужной номенклатуре. Но почему то при выборе нужного элемента, он не переносится в ТЗ. Если не делать отбор, то в общем списке выбирается и подставляется в ТЗ любое свойство.

    Мне кажется я не в той процедуре ставлю отбор:
    Код:
    Процедура ТЗВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
    Если Колонка.Имя = "СвойстваОбъектов" Тогда
    Для Каждого СтрТЗ из ТЗ Цикл
    и т.д. ...
    
  2. TopicStarter Overlay
    KatrineKA
    Offline

    KatrineKA Опытный в 1С

    Регистрация:
    5 окт 2010
    Сообщения:
    214
    Симпатии:
    0
    Баллы:
    26
    могу по другому рассказать, если не понятно написала. Ну чет не получается у меня.
  3. TopicStarter Overlay
    KatrineKA
    Offline

    KatrineKA Опытный в 1С

    Регистрация:
    5 окт 2010
    Сообщения:
    214
    Симпатии:
    0
    Баллы:
    26
    В итоге решила пойти другим путем.
    На форме указала табличную част ьс типом РегистрСведенийНаборЗаписей. Перед открытием в регистре отбираю значение которое мне нужно через запрос, и помещаю его в отбор:
    Код:
     
    ТабРез = Результат.Выгрузить();	  
    РегистрСведенийНаборЗаписей1.Отбор.Номенклатура.Использование = Истина;
    РегистрСведенийНаборЗаписей1.Отбор.Номенклатура.Значение = ТабРез[0].Номенклатура;
    
    Все вроде хорошо, но почему то ничего не отражается в этой таблице. Не понимаю почему??
    В этом же форуме нашла обработку в которой также отбор задается и там все отображается - а у меня нет.
  4. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    а в ТабРез что-то попало? посмотрите отладчиком

    я бы поменяла 2 последние строки местами, по мне логичнее задать условие, а потом применить отбор.
  5. TopicStarter Overlay
    KatrineKA
    Offline

    KatrineKA Опытный в 1С

    Регистрация:
    5 окт 2010
    Сообщения:
    214
    Симпатии:
    0
    Баллы:
    26
    Код:
     Если не Результат.Пустой() Тогда
    ТабРез = Результат.Выгрузить();	  
    РегистрСведенийНаборЗаписей1.Отбор.Номенклатура.Значение = ТабРез[0].Номенклатура;
    РегистрСведенийНаборЗаписей1.Отбор.Номенклатура.Использование = Истина;
    КонецЕсли;
    
    Проверка стоит, и данные есть и в отладчике проверяю, все есть. Но в ТЧ не показывает.
  6. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    а без отбора в ТЧ что-то показывается?
  7. TopicStarter Overlay
    KatrineKA
    Offline

    KatrineKA Опытный в 1С

    Регистрация:
    5 окт 2010
    Сообщения:
    214
    Симпатии:
    0
    Баллы:
    26
  8. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    тогда дело не в отборе. Приведите скрин формы в конфигураторе, так чтобы видно свойства табличного поля, куда выводите данные
  9. TopicStarter Overlay
    KatrineKA
    Offline

    KatrineKA Опытный в 1С

    Регистрация:
    5 окт 2010
    Сообщения:
    214
    Симпатии:
    0
    Баллы:
    26
    а по идее должно было бы...

    Форма

    Вложения:

    • форма.JPG
      форма.JPG
      Размер файла:
      71,7 КБ
      Просмотров:
      28
  10. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    если в регистре вообще есть данные, то вполне можно предположить, что без отбора должно бы вроде как все их и вывести на форму....
  11. TopicStarter Overlay
    KatrineKA
    Offline

    KatrineKA Опытный в 1С

    Регистрация:
    5 окт 2010
    Сообщения:
    214
    Симпатии:
    0
    Баллы:
    26
    данные в регитсре точно есть
  12. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    у вас в данных табличного поля указан РегистрСведенийНаборЗаписей1, а что это такое? вы этот набор как получаете? в нем данные есть?
  13. TopicStarter Overlay
    KatrineKA
    Offline

    KatrineKA Опытный в 1С

    Регистрация:
    5 окт 2010
    Сообщения:
    214
    Симпатии:
    0
    Баллы:
    26
    ну собственно это данные, просто с именем как у табличного поля получается. В реквизитах РегистрСведенийНаборЗаписей1 - тип РегистрСведенийНаборЗаписей.СМ_ПорядокВыводаСвойств
  14. TopicStarter Overlay
    KatrineKA
    Offline

    KatrineKA Опытный в 1С

    Регистрация:
    5 окт 2010
    Сообщения:
    214
    Симпатии:
    0
    Баллы:
    26
    спасибо что на толкнули на мысль, получилось вывести занчение с отбором в табличную часть
  15. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    ну для спасиба кнопочка волшебная есть, а так обращайтесь, как говорится чем смогу, помогу...
  16. TopicStarter Overlay
    KatrineKA
    Offline

    KatrineKA Опытный в 1С

    Регистрация:
    5 окт 2010
    Сообщения:
    214
    Симпатии:
    0
    Баллы:
    26
    к сожалению, это не решило еще мою задачу.
    Я теперь не могу перебрать строки табличного поля, пытаюсь их выгрузить в ТЗ, что бы потом перебором из ТЗ получить значения, но тоже не выходит.
    делаю так:
    Код:
     СтрокаВозврата = "";
    ТЗ = Новый ТаблицаЗначений;
    ТЗ.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
    ТЗ.Колонки.Добавить("СвойстваОбъектов");//"ПланыВидовХарактеристик.СвойстваОбъектов"
    ТЗ.Колонки.Добавить("Порядок", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(1)));
    ТЗ.ЗаполнитьЗначения(ТабличнаяЧастьРегистр, "Номенклатура,СвойстваОбъектов,Порядок");
    Для Каждого Стр из ТЗ Цикл
    СтрокаВозврата = СтрокаВозврата + "[" + Стр.Порядок + "]";
    КонецЦикла;
    
  17. TopicStarter Overlay
    KatrineKA
    Offline

    KatrineKA Опытный в 1С

    Регистрация:
    5 окт 2010
    Сообщения:
    214
    Симпатии:
    0
    Баллы:
    26
    еще нашла такую штуку, здесь http://forum.erpsolutions.ru/showthread.php?t=528 , хотя наверно для регистра сыедений она не подходит, потому что ругается на "Итератор для значения не определен"
  18. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    а что в этом кооде не работает?
  19. TopicStarter Overlay
    KatrineKA
    Offline

    KatrineKA Опытный в 1С

    Регистрация:
    5 окт 2010
    Сообщения:
    214
    Симпатии:
    0
    Баллы:
    26
    ТЗ не заполняется, она пустой остается
  20. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    а почему не хотите использовать конструкцию
    Код:
    ТЗ = ТабличнаяЧастьРегистр.Выгрузить();
    посмотрите про эту команду в синтаксис помошнике...

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