Отображение списка справочника

Тема в разделе "1C и всё что с ней связано", создана пользователем Kiddy, 17 мар 2009.

  1. Kiddy

    Kiddy Гость

    Народ, доброе время суток.
    Столкнулся со следующей проблемой.
    В групповой обработке по контрагенту, когда уже список отобран, возникает необходимость посмотреть скидки по контрагенту. Я написал обработчик

    Прорцедура ПоказатьСкидку()
    Скидка=СоздатьОбъект("Справочник.СкидкиКлиента");
    Скидка.ИспользоватьВладельца(Таблица.Контрагент);
    Скидка.Выбрать("Скидки",);
    КонецПроцедуры

    Всё отображается красиво, только отсутствует возможность редактировать записи (чего собственно я и добиваюсь).

    Попробовал вместо Скидка.Выбрать("Скидки",); использовать ОткрытьФорму("Справочник.СкидкиКлиента",Контекст); - отображается форма с возможностью редактировать, но отсутствуют записи поскольку не задан владелец.

    Попробовал ОткрытьФорму(Скидка,Контекст); - форма вообще не отображается.

    Подскажите, плиз, где собака порылась.

    Заранее спасибо, Валера.
     
  2. kaa

    kaa Гость

    ОткрытьФорму("Справочник.СкидкиКлиента",Контекст); в место Контекст надо подставить владельца, тоесть получить Таблица.Контрагент
     
  3. Kiddy

    Kiddy Гость

    Сделал

    ОткрытьФорму("Справочник.СкидкиКлиента",Таблица.Контрагент)

    к сожалению список отображается пустой !!!! На шапке надпись - не задан элемент владелец.

    Я что-то не так сделал ?
     
  4. puh14

    puh14 Well-Known Member
    1C Team

    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    посмотри процедуру при открытии() в форме Справочник.СкидкиКлиента - что там написано?
     
  5. Kiddy

    Kiddy Гость

    Процедура ПриОткрытии()
    ВнешнийКонтекст = Форма.Параметр;
    Форма.КнопкаПоУмолчанию("КнОК");
    СохранениеПериодическихРеквизитов(2, "*");
    ТоварнаяГруппа.ВыборГруппы(1);
    КонецПроцедуры
     
  6. vbs

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    А ты уверен, что Таблица.Контрагент является именно элементом справочника "Контрагенты", а не его наименованием, к примеру или группой этого справочника ?
    Если таки да, есть предмет для обсуждения, в ином случае
    Скидка=СоздатьОбъект("Справочник.СкидкиКлиента");
    Скидка.ИспользоватьВладельца(Таблица.Контрагент);
    Скидка.Выбрать("Скидки",);

    100% сработает
     
  7. puh14

    puh14 Well-Known Member
    1C Team

    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    переделай так

    Процедура ПриОткрытии()
    ВнешнийКонтекст = Форма.Параметр;
    Попытка //на случай, если передаст не справочник, а число например
    Если ВнешнийКонтекст.Вид() = "Контрагенты" Тогда // если у тебя справочник клиентов называется контрагенты
    ИспользоватьВладельца(ВнешнийКонтекст);
    КонецЕсли;
    Исключение
    КонецПопытки;
    Форма.КнопкаПоУмолчанию("КнОК");
    СохранениеПериодическихРеквизитов(2, "*");
    ТоварнаяГруппа.ВыборГруппы(1);
    КонецПроцедуры
     
  8. kaa

    kaa Гость

    подозреваю что таблица это ТаблицаЗначений

    Процедура ОбработкаКликаПоТаблица(ТекСтр,Колонка)
    Контра = Таблица.ПолучитьЗначение(ТекСтр,"Контрагент");
    Если Контра.Вид() = "Контрагенты" Тогда
    ОткрытьФорму("Справочник.СкидкиКлиента",Таблица.ПолучитьЗначение(ТекСтр,"Контрагент"));
    Иначе
    Сообщить("Фиг Вам!!!");
    КонецЕсли;
    КонецПроцедуры

    В Таблице на форме в свойствах ОбработкаКликаПоТаблица(Таблица.ТекущаяСтрока(),Таблица.ТекущаяКолонка())
     
  9. puh14

    puh14 Well-Known Member
    1C Team

    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    Насколько я понимаю, использование родителя или владельца через открыть форму прописано только для ввода нового элемента справочника, в остальных случаях (для справочника) это просто контекст, обработку которого надо ещё прописывать в процедуре приоткрытии()
     
  10. Kiddy

    Kiddy Гость

    Всем спасибо за помощь.

    Прошёл вариант с изменением процедуры ПриОткрытии().

    Большое спасибо.

    Народ, объясните, плиз, "для особо одарённых" как ВАМ плюсиков добавить.... - и + картинки. А при нажатии на число показывается общий рейтинг . Кнопки ПОДНЯТЬ и ЖАЛОБА тоже особого эффекта не приносят (или я его не замечаю)
     
  11. vbs

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    10 сообщений наберешь - и хвалить людей сможешь ;) ;)
     
Загрузка...

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