8.х РасходнаяНакладная

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

  1. TopicStarter Overlay
    Delovoy
    Offline

    Delovoy

    Регистрация:
    22 мар 2008
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Есть документ "Расходная накладная"
    Есть справочник Номенклатура, состоящий собственно из самой
    Номенклатуры и реквизита Вид номенклатуры (материал или услуга соответсвенно)

    При заполнении табличной части в Расходной накладной, нужно чтобы по полю
    Номенклатура пользователь мог выбрать только записи из справочника Номенклатура с Видом "материал"

    Вопроса два:

    В какой момент поставить фильтр на справочник Номенклатура (обработка события поля в табличной части ? )

    И как этот фильтр поставить ?

    Реквизит Вид номенклатуры в самом документе "Расходная накладная" не используется
  2. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    1. Собственно, можно посмотреть, как это сделано в типовой УТ
    2. Перехватить обработчик НачалоВыбора и поставить отбор на форму выбора. Не забыть отключить стандартный обработчик.
  3. TopicStarter Overlay
    Delovoy
    Offline

    Delovoy

    Регистрация:
    22 мар 2008
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    А на счет 2 пункта можешь подробней рассказать (на пальцах)

    только начинаю с 1С - поэтому
    не совсем понятно

    в свойствах поля табличной части "Номенклатура" нашел обработчик события "НачалоВыбора" - это о нем идет речь ? что значит перехватить ?

    А форму выбора, я так понимаю, нужно создать для самого справочника "Номенклатура" ? А как поставить отбор на форму выбора ?
  4. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Перехватить - это значит написать свой обработчик события :)

    Вкратце:
    Код:
    СтандартнаяОбработка = Ложь;
    ФормаВыбора = Элемент.Значение.ПолучитьФормуВыбора(, Элемент);
    ФормаВыбора.РежимВыбора = Истина;
    ФормаВыбора.СправочникСписок.Отбор.ВидНоменклатуры = <Значение>
    ФормаВыбора.СправочникСписок.Отбор.ВидСравнения = ФормаВыбора.СправочникСписок.ВидСравнения.Равно;
    ФормаВыбора.СправочникСписок.Отбор.Использование = Истина;
    ФормаВыбора.Открыть();
    
    Писал прямо тут - так что мог ошибиться...
  5. TopicStarter Overlay
    Delovoy
    Offline

    Delovoy

    Регистрация:
    22 мар 2008
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Чуть-чуть пришлось подкоректировать

    Код:
    СтандартнаяОбработка = Ложь;
    ФормаВыбора = Справочники.Номенклатура.ПолучитьФормуВыбора(, элемент);
    ФормаВыбора.РежимВыбора = Истина;
    ФормаВыбора.СправочникСписок.Отбор.ВидыНоменклатуры.Значение = Перечисления.ВидыНоменклатуры.Материал;
    ФормаВыбора.СправочникСписок.Отбор.ВидыНоменклатуры.ВидСравнения = ВидСравнения.Равно;
    ФормаВыбора.СправочникСписок.Отбор.ВидыНоменклатуры.Использование = Истина;
    ФормаВыбора.Открыть();
    
    спасибо большое ! :)
  6. TopicStarter Overlay
    Delovoy
    Offline

    Delovoy

    Регистрация:
    22 мар 2008
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    в продолжение темы о расходной накладной :)

    подскажите как реализовать контроль дубликатов номенклатуры при проведении документа ?
    пишу по русски, что бы не получалось в одной расходной накладной:
    валенки - склад основной - 3 штуки
    валенки - склад основной - 5 штук


    начал делать перебор цикл в цикле, но можеть быть есть более элегантное решение вопроса ?
  7. vlashi
    Offline

    vlashi Опытный в 1С

    Регистрация:
    18 янв 2008
    Сообщения:
    143
    Симпатии:
    0
    Баллы:
    26
  8. TopicStarter Overlay
    Delovoy
    Offline

    Delovoy

    Регистрация:
    22 мар 2008
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    насколько я знаю, это метод Таблицы значений

    итак, мы сначала переносим данные табличной части в ТЗ
    потом делаем ТЗ.Свернуть по нужным колонкам
    а потом в цикле сравниваем с данными табличной части ? или ...
    не совсем понятна мысль ... просто этот вариант мне кажется еще более тяжеловесным по сравнению с просто перебором
  9. vlashi
    Offline

    vlashi Опытный в 1С

    Регистрация:
    18 янв 2008
    Сообщения:
    143
    Симпатии:
    0
    Баллы:
    26

    Вложения:

    • 2.JPG
      2.JPG
      Размер файла:
      53,1 КБ
      Просмотров:
      108
  10. TopicStarter Overlay
    Delovoy
    Offline

    Delovoy

    Регистрация:
    22 мар 2008
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    все заработало ! спасибо :)

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