Здравствуйте, коллеги.
У меня возник вопрос с одной темой по разработке в 1С.
По правде говоря, я с этим еще не сталкивался.
Имеется документ "Бронирование номенклатуры".
Задача такова: при нажатии на кнопку "Подбор" открывалась в форма, где будут отображены поля:
-Номенклатуры;
-Склад;
-Остаток на складе;
-Количество на бронь;
Проделанные работы добавлялись в табличную часть документа.
Всем спасибо заранее за советы и идеи.
---
ну да вот как раз реализован вариант через обработку выбора
---
Как вам эта ссылка https://helpf.pro/faq/view/870.html?
---
делаете произвольную форму с таблицей значений, определяете логику, напр ПриИзмененииНоменклатура вычисление остатка на складе, через Оповестить возвращаете значение, в форме документа обрабатываете ОбработкаОповещения.. можно посмотреть через ОбработкаВыбора так как форма будет подчиненная
---
Как вам эта ссылка https://helpf.pro/faq/view/870.html?
---
ну да вот как раз реализован вариант через обработку выбора
---
Отпишусь, как только получится реализовать =)
---
Странная ошибка.
---
Насчет обработки оповещения, похоже что с ней нужно быть осторожным впервые с ней сталкиваюсь и она вызывает достаточно злую ошибку в ЗУП
---
возьмите любую обработку подбора из любой типовой конфигурации и разберитесь с ней, сложностей не должно возникнуть
главный принцип тут - передать в обработку подбора параметры из вызывающей формы, что-то сделать в самой обработке и оповестить о подборе вызывающую форму (в типовых это или при закрытии делается или прямо так и называется "передать в документ", например), ну а в конце в вызывающей форме в обработке оповещения принять результат подбора и сделать с ним все, что вам хочется
---
Спасибо. Я нашел в одной типовой.
Очень замудренно.
---
Возьмите из вашей же конфигурации, вы же не с нуля пишите?
---
Я пока что еще не реализовывал данную задачу.
---
Когда делаю double click на наименование номенклатуры...к тому же не работает перенос...

```1c
    &НаКлиенте
    Процедура ТоварыВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    Для каждого НомерСтроки Из ВыбраннаяСтрока Цикл
    ТекСтрока = Элемент.ДанныеСтроки(НомерСтроки);
    Поиск = Новый Структура("Товар, Серия",ТекСтрока.Товар,ТекСтрока.Серия);
    МассивСтрок = ВыбранныеТовары.НайтиСтроки(Поиск);
    Если МассивСтрок.Количество() = 0 Тогда
    Строка = ВыбранныеТовары.Добавить();
    Строка.Товар = ТекСтрока.Товар;
    Строка.Серия = ТекСтрока.Серия;
    Строка.СрокГодности = ТекСтрока.СрокГодности;
    Строка.Количество = 1;
    ВвестиЧисло(Строка.Количество, "Введите количество");
    Пока Строка.Количество > ТекСтрока.Количество Цикл
    ВвестиЧисло(Строка.Количество, "Введите верное количество!");
    КонецЦикла;
    КонецЕсли;
    КонецЦикла;
    КонецПроцедуры

    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Товары.Параметры.УстановитьЗначениеПараметра("Склад",Параметры.Склад);
    Склад = Параметры.Склад;
    КонецПроцедуры

    &НаКлиенте
    Процедура Перенести(Команда)
    ОповеститьОВыборе(ВыбранныеТовары);
    Закрыть();
    КонецПроцедуры

    &НаКлиенте
    Процедура ВыбранныеТоварыПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Поле)
    Для каждого НомерСтроки Из ПараметрыПеретаскивания.Значение Цикл
    ТекСтрока = Элементы.Товары.ДанныеСтроки(НомерСтроки);
    Поиск = Новый Структура("Товар, Серия",ТекСтрока.Товар,ТекСтрока.Серия);
    МассивСтрок = ВыбранныеТовары.НайтиСтроки(Поиск);
    Если МассивСтрок.Количество() = 0 Тогда
    Строка = ВыбранныеТовары.Добавить();
    Строка.Товар = ТекСтрока.Товар;
    Строка.Серия = ТекСтрока.Серия;
    Строка.СрокГодности = ТекСтрока.СрокГодности;
    Строка.Количество = 1;
    ВвестиЧисло(Строка.Количество, "Введите количество");
    Пока Строка.Количество > ТекСтрока.Количество Цикл
    ВвестиЧисло(Строка.Количество, "Введите верное количество!");
    КонецЦикла;
    КонецЕсли;
    КонецЦикла;
    КонецПроцедуры
```
---
Для каждого НомерСтроки Из ВыбраннаяСтрока Цикл
цикл лишний, здесь ВыбраннаяСтрока уже есть текущая строка ТЧ
---
А что тогда советуете?
По сути при double-click_е должно выйти окошко с вводом количество и заполниться таблица "Выбранные товары".
Если же я в просто сам добавляю товары в таблицу "ВыбранныеТовары" , при нажатии "Перенести" табличная часть в форме документа заполняется.
---
Цикл оказался не лишним.
Нужно было оказывается, включить "Множественный выбор" в таблице.
---
да, прошу прощения, смутил список параметров процедуры...