|
Множественный выбор документов | ☑ | ||
---|---|---|---|---|
0
Анка_Пивовар
29.01.15
✎
11:45
|
Есть самописный документ, он должен заполняться по кнопке Подбор.
Когда кликаешь подбор- открывается форма выбора "Заказы покупателя", и при двойном нажатии данные из ТЧ должны попасть в ТЧ самописного документа, при этом Форма выбора должна быть открытой, чтобы пользователь мог опять выбрать другой заказ, и так далеее пока форму сам пользователь не закроет. При показанном коде, выбирается один документ, форма выбора закрывется. Процедура ЗаполнитьТабличнуюЧастьПоЗаказуПокупателю(ТабличнаяЧасть, ЗаказПокупателя = Неопределено, Очистить = Истина, ТипДокумента = Неопределено) Если НЕ ЗначениеЗаполнено(ЗаказПокупателя) Тогда ФормаЗаказы = Документы[ТипДокумента].ПолучитьФормуВыбора(,ЭтаФорма); ФормаЗаказы.Заголовок = "Выберите заказ покупателя для заполнения заказа на производство"; ФормаЗаказы.РежимВыбора = Истина; ФормаЗаказы.ЗакрыватьПриВыборе = Ложь; ЗаказПокупателя = ФормаЗаказы.ОткрытьМодально(); КонецЕсли; ЗаполнитьПродукциюПоЗаказуПокупателю(ЗаказПокупателя); КонецПроцедуры // ЗаполнитьТабличнуюЧастьПоЗаказуПокупателю() Процедура ЗаполнитьПродукциюПоЗаказуПокупателю(ТабличнаяЧасть, ЗаказПокупателя = Неопределено,ЗаполнятьПодразделение=ложь) Запрос = Новый Запрос; Запрос.УстановитьПараметр("Ссылка", Ссылка); Запрос.УстановитьПараметр("СтатусВозвратнаяТара", Перечисления.СтатусыПартийТоваров.ВозвратнаяТара); Запрос.УстановитьПараметр("ЗаказПокупателя", ЗаказПокупателя); Запрос.УстановитьПараметр("ДатаОстатков", ОбщегоНазначения.ПолучитьДатуОстатков(ЭтотОбъект)); Запрос.текст = "ВЫБРАТЬ | ЗаказПокупателяТовары.Ссылка КАК ЗаказПокупателя, | ЗаказПокупателяТовары.ЕдиницаИзмерения, | ЗаказПокупателяТовары.Количество, | ЗаказПокупателяТовары.Номенклатура, | ЗаказПокупателяТовары.Спецификация, | ЗаказПокупателяТовары.ХарактеристикаНоменклатуры, | ЗаказПокупателяТовары.Коэффициент |ИЗ | Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары |ГДЕ | ЗаказПокупателяТовары.Ссылка = &ЗаказПокупателя"; Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл СтрокаТабличнойЧасти = ТабличнаяЧасть.Добавить(); СтрокаТабличнойЧасти.Номенклатура = Выборка.Номенклатура; СтрокаТабличнойЧасти.Заказ = Выборка.ЗаказПокупателя; СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры = Выборка.ХарактеристикаНоменклатуры; СтрокаТабличнойЧасти.ЕдиницаИзмерения = Выборка.ЕдиницаИзмерения; СтрокаТабличнойЧасти.ЕдиницаИзмерениямест = Выборка.ЕдиницаИзмерения; СтрокаТабличнойЧасти.Коэффициент = Выборка.Коэффициент; СтрокаТабличнойЧасти.Количество = Выборка.Количество; СтрокаТабличнойЧасти.КоличествоМест = Выборка.Количество; СтрокаТабличнойЧасти.Спецификация = УправлениеПроизводством.ОпределитьСпецификациюПоУмолчанию(СтрокаТабличнойЧасти.Номенклатура, СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры, Дата, Подразделение); СтрокаТабличнойЧасти.ВидВоспроизводства = Перечисления.ВидыВоспроизводстваНоменклатуры.Производство; СтрокаТабличнойЧасти.Склад = СтрокаТабличнойЧасти.Спецификация.Склад; Сообщить(ОписаниеОшибки()); КонецПопытки; КонецЕсли; КонецЦикла; КонецЦикла; КонецПроцедуры |
|||
1
Fragster
гуру
29.01.15
✎
11:49
|
ЗакрыватьПриВыборе = Ложь
ОповеститьОВыборе при необходимости ОбработкаВыбора |
|||
2
Fragster
гуру
29.01.15
✎
11:49
|
ОткрытьМодально - не нужно
|
|||
3
Анка_Пивовар
29.01.15
✎
11:52
|
(1) - куда писать обработку"оповеститьовыборе"?
если убрать открыть модально, пишет обращение к процедуре как к функции. |
|||
4
Fragster
гуру
29.01.15
✎
11:53
|
ФормаЗаказы = Документы[ТипДокумента].ПолучитьФормуВыбора(,ЭтаФорма);
ФормаЗаказы.Заголовок = "Выберите заказ покупателя для заполнения заказа на производство"; ФормаЗаказы.РежимВыбора = Истина; ФормаЗаказы.ЗакрыватьПриВыборе = Ложь; ФормаЗаказы.Открыть(); |
|||
5
Анка_Пивовар
29.01.15
✎
11:53
|
(1) ЗакрыватьПриВыборе = Ложь и так написано!
|
|||
6
Fragster
гуру
29.01.15
✎
11:54
|
В родительской форме - в событии ОбработкаВыбора обрабатывай всё, что нужно.
ОповеститьОВыборе - это если у тебя, например, какие-то левые кнопки событие "выбора" инициируют |
|||
7
Анка_Пивовар
29.01.15
✎
11:55
|
(6)- в родителькой форме, значит в форме "выбор заказа покупателя", прописать процедуру обработка выбора и туда что добавить???
|
|||
8
Fragster
гуру
29.01.15
✎
11:58
|
(7) в форме, из которой ты всё это открываешь
|
|||
9
Fragster
гуру
29.01.15
✎
11:58
|
Добавь туда Сообщить(ВыбранноеЗначение);
|
|||
10
Анка_Пивовар
29.01.15
✎
12:02
|
(7) в форму документа, куда мне нужно добавить значения, создать процедуру "обработкавыбора" и туда перенести все что написано в процедуре "ЗаполнитьПродукциюПоЗаказуПокупателю" , верно я понимаю?
|
|||
11
Рэйв
29.01.15
✎
12:05
|
МножественныйВыбор (MultipleChoice)
Использование: Чтение и запись. Описание: Тип: Булево. Разрешает или запрещает выбор нескольких строк из табличных полей. Истина - разрешено. Доступность: Толстый клиент. |
|||
12
Анка_Пивовар
29.01.15
✎
12:14
|
(9) сделала все как сказал, заработало. спасибо огромное!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |