8.х Справочник Договоры и Контрагенты

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

  1. TopicStarter Overlay
    kamrad
    Offline

    kamrad

    Регистрация:
    23 апр 2009
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Делаю свою собственную конфигурацию, учусь типа...
    Как сделать в форме списка контрагентов кнопку договоры, чтобы при нажатии появлялась форма списка договоров с договорами именно выбранного контрагента, т.е. Открываю форму списка Контрагенты, выделяю в списке кого надо и жму кнопку, должна открыться форма списка Договоров, но не со всем договорами, а именно тем который был выделен. Можно ли такое сделать? :unsure:
  2. tunec
    Offline

    tunec Опытный в 1С

    Регистрация:
    2 июн 2008
    Сообщения:
    469
    Симпатии:
    0
    Баллы:
    26
    1. при открытии дочерней формы договоров программно установить в ней отбор...
    2. создать свою форму в которую запросом подтягивать нужные договора...
  3. TopicStarter Overlay
    kamrad
    Offline

    kamrad

    Регистрация:
    23 апр 2009
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    а как отбор реализовать?
  4. tunec
    Offline

    tunec Опытный в 1С

    Регистрация:
    2 июн 2008
    Сообщения:
    469
    Симпатии:
    0
    Баллы:
    26
    вешаешь на обработчик "началоВыбора"
    Код:
    СтандартнаяОбработка=Ложь;
    ФормаВыбора = Документы.<ТипДокумента>.ПолучитьФормуВыбора("<НазваниеФормы>",ЭтаФорма);
    ФормаВыбора.Отбор.Владелец=Контрагент;
    Выбор = ФормаВыбораЗаказа.ОткрытьМодально();
    Если не Выбор=неопределено тогда
    ДоговорКонтрагента = Выбор; //данные, куда возвращать выбранное значение
    КонецЕсли;
    
  5. TopicStarter Overlay
    kamrad
    Offline

    kamrad

    Регистрация:
    23 апр 2009
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Немного модифицировал и получилось :unsure: Спасиба
    Код:
    ФормаВыбора = Справочники.Договора.ПолучитьФормуСписка(,ЭтаФорма);
    ЗначениеПоля = ЭлементыФормы.СправочникСписок.ТекущаяСтрока["Наименование"];
    Контрагент = Справочники.Контрагенты.НайтиПоНаименованию(ЗначениеПоля);
    Если Контрагент.ЭтоГруппа Тогда
    Предупреждение("Вы выбрали группу контрагентов, выберите элемент");
    Иначе
    ФормаВыбора.Отбор.Владелец.Установить(Контрагент);
    ФормаВыбора.ОткрытьМодально();
    КонецЕсли;
    
    
  6. tirk
    Offline

    tirk Опытный в 1С

    Регистрация:
    1 сен 2008
    Сообщения:
    1.142
    Симпатии:
    0
    Баллы:
    26
    да просто на поле бы сделали Отбор По Владельцу и не надо ни строчки кода)
  7. tunec
    Offline

    tunec Опытный в 1С

    Регистрация:
    2 июн 2008
    Сообщения:
    469
    Симпатии:
    0
    Баллы:
    26
    бугагагагаагагага... точно! В свойствах поля выбора поле "связь по владельцу" выбрать поле контрагента :) эт я вчера просто погрузился в пучины программирования и простые вещи заменяю сложными...

    Единственное когда удобно такое усложнение, это когда надо предоставить пользователю возможность отменить отбор и наложить свой. Для договоров это конечно ненужно... Просто я только-только написал код, так встречается вопрос на форуме по схожей проблеме, ну я автоматом не погружаясь в детали и запостил :)

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