|
Обработка на управляемых (список на форму). |
☑ |
0
lirt82
04.04.17
✎
14:55
|
Пишу обработку для управляемой конфы, реквизитов обработки нет, на форме создал объект Результат тип СписокЗначений, и команду "Заполнить" с процедурой НаКлиенте, суть при нажатии на форму в этом СписокеЗначении должны отобразиться все напрм. ВидыДокументов.
т.е. где запустить цикл по метаданным чтоб заполнить список и потом передать его с сервера на клиент на форму?
|
|
1
DrShad
04.04.17
✎
15:10
|
метаданные есть только на сервере
|
|
2
lodger
04.04.17
✎
15:10
|
вопрос "где запустить цикл".
ответ "с сервера".
|
|
3
1Снеговик
гуру
04.04.17
✎
15:12
|
Формируй список на сервере, потом ЗначениеВРеквизитФормы
|
|
4
lodger
04.04.17
✎
15:13
|
&НаКлиенте
процедура Заполнить()
ЗаполнитьНаСервере();
конецпроцедуры
&НаСервере
процедура ЗаполнитьНаСервере()
//Цикл по Метаданные.Документы
//Результат.Добавить(ТекМетаданные);
конецпроцедуры
и не надо ЗначениеВРеквизитФормы.
|
|
5
lirt82
04.04.17
✎
19:00
|
(4) +1, спасибо, получилось без (ЗначениеВРеквизитФормы).
|
|
6
lirt82
04.04.17
✎
19:09
|
как теперь обработать полученный вид документа из списка значений?
т.е. на форме список видов документов с флажками, напрм. пользователь поставил флажок рядом с Реализацией, далее жмет на кнопку "Выполнить" к ней процедура напрм. выбранный вид документа помечает на удаление.
кнопку сделал
&НаКлиенте
Процедура Выполнить(Команда)
ВыполнитьНаСервере();
КонецПроцедуры
&НаСервере
Процедура ВыполнитьНаСервере()
Для каждого ТекСтрока Из РезультатСписок Цикл
Если ТекСтрока.Пометка Тогда
// тут должны получить объект и далее с ним работать, но у ТекСтроки Тип Строка а Значение "РеализацияТМЗ"
КонецЦикла;
КонецПроцедуры
|
|
7
lodger
04.04.17
✎
19:17
|
(6) ну... я бы может нагородил запрос вида
ШаблонЗапроса = "Выбрать
Доки.Ссылка
ИЗ
Документ.ТаблицаДоков КАК Доки"
Для каждого ТекСтрока Из РезультатСписок Цикл
Если ТекСтрока.Пометка Тогда
Запрос = Новый Запрос;
Запрос.Текст = СтрЗаменить(ШаблонЗапроса,"ТаблицаДоков",ТекСтрока.Значение);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
ДокОбъект = Выборка.Ссылка.ПолучитьОбъект();
Если НЕ ДокОбъект.ПометкаУдаления Тогда
ДокОбъект.УстановитьПометкуУдаления();
КонецЕсли
конеццикла
КонецЕсли;
КонецЦикла;
КонецПроцедуры
|
|
8
jsmith82
04.04.17
✎
19:18
|
Запрос = Новый Запрос();
Запрос.Текст =
"ВЫБРАТЬ Таб.Ссылка ИЗ Документы.%ИмяДок КАК Таб";
Запрос.Текст = СтрЗаменить(Запрос.Текст", "%ИмяДок", ТекСтрока.Значение);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Обт = Выборка.Ссылка.ПолучитьОбъект();
Обт.ПометкаУдаления = Истина;
Обт.Записать();
КонецЦикла;
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший