Помогите, пожалуйста функционал внешней обработки для управляемого приложения переписать для обычного приложения.
---
вот вариант, без закрытия
---
Проверку сама смогла написать и чуток изменила Вашу обработку, получилась просто конфетка. Спасибо Вам большущее, выручили.
---
Теперь конкретные вопросы, что у вас не получается...?
---
Тип формы "Управляемая" не доступен для изменения.
---
в конфигураторе создаете новую обработку, добавляете обычную форму (если по-умолчанию всегда создается управляемая, то заходите в верхнем меню: сервис-параметры-Общие, переключаете на "обычные и управляемые формы").
Дальше в меню Форма - Вставить элемент управления, вставляете поле формы контрагента, потом так же- Табличное поле с типом СправочникСписок.Договоры, размещаете на форме.
Ну и для контрагента ставите обработчик ПриИзменении :
```1c
    Договоры.Отбор.Владелец.Установить(Контрагент);
```

где договоры - Ваш СправочникСписок
---
Не работает. Выдает ошибку: {ВнешняяОбработка.ВнешняяОбработка2.Форма.Форма.Форма(28)}: Поле объекта не обнаружено (Отбор)
Договоры.Отбор.Владелец.Установить(Элемент);
---
так у вас не СправочникСписок, а список значений.. Вам именно СЗ нужен ?
---
Вы предлагаете кому-то за вас это сделать что ли?
---
Не знаю, где надо поменять, чтобы она стала обычной, а не управляемой. Не нашла свойства.
---
Вам нужно создать новую форму и воспроизвести функционал.
---
на вкладке дополнительно щелкните и создайте форму. Если будут вопросы дальше пишите, не стоит не пытаться даже и кого то просить!
---
сменить функционал обычной обработки на управляемую в 1С - так же просто как сменить пол у людей.

можете набить себе это в качестве тату и не морочить всем голову - это исключительно ваши потребности в реализации, ога)
---
так там всего 1 процедура, переделывать особо нечего )
---
Если это так легко, что же никто не может мне помочь?
---
Обычно все мучаются с противоположным переходом :)
Хотя и на обычные формы переписать может быть проблемой, если много вкусняшек сделано в УФ параметрически и по феншую.
Обработку смотреть лень, но исходя из названия не удивлюсь, если там используются СКД-ные отборы динамических списков.
(12) Не "не может", а "не хочет".
---
Вовсе нет там СКД. По контрагенту надо отобрать в список значений, несколько договоров этого контрагента.
---
Ну и что вам мешает сделать это самостоятельно? В чем затык?
---
Ну что ты пристал? Может, сейчас человеку важнее прокачать скилл менеджера, а не разраба. Дело такое.
---
Вы не правы. Бьюсь второй день. Никак не поддаётся.
---
все уже отдыхают и думать не хотят) не понял сходу что там делают эти строки на форме))
---
Нужно всего лишь в обычной форме сделать, чтобы выбор договора открывался с отбором по владельцу (контрагенту), я правильно понял?
---
ну да я подумал там сложнее открытие формы подбора)
---
Если нужно (22), то щаз научу как это делается правильно. Правильно это делается очень просто и не надо никаких спец-форм.
---
Нужно открыть форму списка значений, а когда выполняем Подбор, надо чтобы открылся справочник договоров с отбором по контрагенту.
---
Пробую. Не получается

```1c
    НовыйМассив = Новый Массив();
    НовыйМассив.Добавить(Новый ПараметрВыбора("Отбор.Владелец", Контрагенты));
    НовыеПараметры = Новый ФиксированныйМассив(НовыйМассив);
    Элементы.Договор1.ПараметрыВыбора = НовыеПараметры;
```

В обычной форме нет - ПараметрыВыбора.
---
Можно использовать форму подбора договоров с отбором по контрагенту. Подскажите, как называется конфигурация
---
Управление производственным предприятием, редакция 1.3 (1.3.97.1) (http://v8.1c.ru/enterprise/)
---
в обычных формах там все руками надо делать.
1. Обыграть можно свойством доступныезначения. (приложил файл), и заполнять их только теми договорами которые относятся к этому контрагенту.

но, кнопку подбор переопределить нельзя, там все равно откроется форма конфигурации.
А значит если мы хотим еще и кнопку подбора передалать, то придется форму выбора справочника пилить, и при открытии проверять форму владельца, и соответсвенно ставить отбор по контрагенту.

Либо как вариант,
при начале выбора - вообще не вызывать эту форму подбора списка значений, генерируемую платформой, а Сделать стандартнаяОбработка=Ложь, и нарисовать свою, простенькую, и там уже можно влиять и переопределять все телодвижения.
---
До такого варианта я сама дошла, но контрагента приходиться два раза выбирать, что не есть хорошо.
---
но контрагента приходиться два раза выбирать
ничего подобного.
Если в контрагенте есть договора, то список выбора будет только по этому контрагенту.
А второй раз, это если список пуст, и открывается форма списка всех договоров, а в стандартной форме выбора договора вашей УПП, уже зашита проверка, о надобности выбора контрагента, вот она и требует.
Это как раз и говорит, что нужно либо форму списка пилить.
Либо нарисовать в вашей обработке, вспомогательную формочку подбора договоров.
---
Подойдет?
---
не работает же. Форма выбора открывается. Выбираешь элемент - поле все равно пустое.

Вообще, вопрос не такой тривиальный, как надеялся ТС.
Желание было такое, как я понял - чтобы стандартая форма подбора списка значений получила отбор. Сделать так без допиливания модуля самой формы подбора справочника ДоговорыКонтрагентов не получится, похоже.
Вообще, есть хорошая статья:
http://start1c.blogspot.ru/2013/07/blog-post_30.html
---
Странно как она попала туда. Прикладываю пересохранненый вариант
---
этот вариант работает. Да, как вариант. Это не совсем то, что надо ТС, но явно наименьшее из зол.
---
Я думаю придется создать форму СпискаЗначений по виду как типовая, и из нее вызывать подбор из формы выбора справочника договоры.
---
Вы меня правильно поняли. И статью я эту тоже находила. Но она опять для управляемых форм.
---
первая половина статьи для обычных форм, в т.ч. описаны все проблемы, которые есть. Вы как-то невнимательно читали.
---
Ошиблась, в статье есть вариант и для обычных форм. Просто не решилась переписывать в конфигурации форму выбора договоров. Одно дело во внешней обработке, другое в конфе. Неизвестно, где аукнется.
---
Ошиблась, в статье есть вариант и для обычных форм. Просто не решилась переписывать в конфигурации форму выбора договоров. Одно дело во внешней обработке, другое в конфе. Неизвестно, где аукнется.
---
Нет, список значений не открывается и ничего в него не выбирается.
---
УПП под рукой нет. Писал на Ут 10.3

Смысл в том, чтобы подменить открытие формы списка значений на форму выбора справочника.

```1c
    Процедура Договор1НачалоВыбора(Элемент, СтандартнаяОбработка)

    СтандартнаяОбработка = Ложь; //не откроется список значений
    Если ЗначениеЗаполнено(Контрагенты) Тогда //Иначе можно обработать по другому
    Форма = Справочники.ДоговорыКонтрагентов.ПолучитьФормуВыбора("ФормаВыбора",ЭтаФорма);
    Форма.РежимВыбора = Истина;
    Форма.МножественныйВыбор = Истина;
    Форма.Отбор.Владелец.Значение =Контрагенты;
    Форма.Отбор.Владелец.Использование = истина;
    Форма.Отбор.Владелец.ВидСравнения = ВидСравнения.Равно;
    Значение = Форма.ОткрытьМодально(); //Вернутся выбранные договоры

    Для Каждого Эл ИЗ Значение Цикл //Добавим в список значений
    Договор.Добавить(Эл);
    КонецЦикла;

    КонецЕсли;

    КонецПроцедуры
```

Если что, подождите (26). Может лучше придумает и нас научит
---
там кода в модуле формы пара строк
открытие формы через параметры в УФ не делается открывайте по-другому

```1c
    &НаСервере
    Процедура КонтрагентыПриИзмененииНаСервере()
    //параметрыВыбора = Новый Структура;
    //ПараметрыВыбора.Вставить("Отбор", Новый Структура("Владелец",Контрагенты));
    //ПараметрыВыбора.Вставить("СтрокаПоиска", ");
    //параметрыВыбора.Вставить("ВыборГруппИЭлементов",ИспользованиеГруппИЭлементов.Элементы);
    //Договор.ДоступныеЗначения = Справочники.ДоговорыКонтрагентов.ПолучитьДанныеВыбора(ПараметрыВыбора);
    //
    НовыйМассив = Новый Массив();
    НовыйМассив.Добавить(Новый ПараметрВыбора("Отбор.Владелец", Контрагенты));
    НовыеПараметры = Новый ФиксированныйМассив(НовыйМассив);
    Элементы.Договор1.ПараметрыВыбора = НовыеПараметры;
    КонецПроцедуры

    &НаКлиенте
    Процедура контрагентыПриИзменении(Элемент)
    КонтрагентыПриИзмененииНаСервере()
    КонецПроцедуры
```
---
В обычной форме у элемента формы "Договор" в свойстве "Связь по владельцу" нужно указать "Контрагент".
Если нужны условия посложнее, можно посмотреть документ "СписаниеСРасчетногоСчета", поле "ДоговорКонтрагента", обработчик события "ДоговорКонтрагентаНачалоВыбора".
---
У списка значений нет свойства "Связь по владельцу".
---
Ага, просмотрел, что там СписокЗначений.
Нужно использовать элемент формы "ПолеСписка".
Обработку приложил.
---
Все думают, что так просто, но Договор - это не ссылка, а список значений. Отобрать надо несколько договоров, но не все по контрагенту.
---
рисуй собственную форму подбора в список, тут уже думать нечего
---
Пыталась, но знаний не хватает.
---
А! Если нужно, чтобы в списке значений договор открывался с отбором по владельцу, то я и на УФ не знал, что можно так сделать :)
Век живи - век учись.
А на ОФ если через "ДоступныеЗначения" не работает, тогда не знаю как. Скорее всего - никак.
ЗЫ. Если бы вопрос был внятно сформулирован, то всем было бы гораздо легче.
---
Елена, я думаю разумней упростить задачу или как-то видоизменить. То, что хочется и что легко делается на УФ - далеко не так просто делается на обычных формах.
Простого решения задачи нет.

P.S.
Приложил обработку, собрав все что тут написали, с минимумом кода. Возможность множественного выбора есть, просто зажмите ctrl + протыкайте нужные договоры. Проще не получится.
---
Спасибо. Жаль, конечно, что нельзя как в УФ. По инерции дважды кликаешь на договор и справочник закрывается, при следующем открытии, выбранный договор затирается. Пометил допустим 7 договоров, 8-ой забыл, опять помечай все заново, а их найти не так уж просто, может быть больше сотни у одного контрагента. С формой списка и подбором душевнее.
---
вот вариант, без закрытия
---
Спасибо большое. Это пока лучший результат.
---
проверку на добавление уже существующего договора, надеюсь сами напишете
---
Проверку сама смогла написать и чуток изменила Вашу обработку, получилась просто конфетка. Спасибо Вам большущее, выручили.
---
Я еще вчера в другой ветке эту проблему решил
https://forum.infostart.ru/forum9/topic183725/
---
ну и я что-то похожее набросал, с отдельной формой подбора (для примера
---
Но подбора договоров там нет.
---
Но подбора договоров там нет.
Там есть отдельная форма, где можно добавлять договоры - правой кнопкой мыши, и открываются они уже с отбором по контрагенту. И потом список возвращается на первую форму.
Или что вам нужно ? Чтобы мы вам, кнопки отрисовали, и еще кнопку подбора приделывали ?

Наша цель вас подтолкнуть, показать возможные варианты решения задачи, а не делать ее за вас !
---
Вы правы. Извините, не сообразила, что можно было правой кнопкой добавить. Вроде всё правильно работает. Попробую сама кнопку подбор привернуть. Спасибо большое.
---
Да это я всё мучаюсь. Пользователи по старинке дважды кликают, форма закрывается, про CTRL забывают. Хотелось бы, чтобы сначала открывался список значений, а уж потом при подборе открывался справочник договоров по этому контрагенту.