|
|
Сохранение значений в реквизите формы |
☑ |
|
0
JinAir
26.04.17
✎
11:24
|
Здравствуйте, работаю в ЗУП 3.1. необходимо сделать обзор для нескольких подразделений. Добавляю реквизит формы "Список значений". записываю в него значения, провожу документ, открываю и реквизит уже пустой. пытался сделать через "Автоматическое сохранение данных формы в настройках", но в таком случае сохраняются выбранные подразделения в последнем документе, открываешь любой документ и список значений везде одинаковый. помогите, подскажите как реализовать
|
|
|
1
END
26.04.17
✎
11:25
|
Нужен реквизит объекта, а не формы.
|
|
|
2
JinAir
26.04.17
✎
11:57
|
Пытаюсь сохранить значение в реквизит документа Хранилище подразделений:
&НаСервере
Функция ПолучитьЗначениеХЗ()
Возврат ХранилищеПодразделений.Получить();
КонецФункции
&НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
ХранилищеПодразделений = Новый ХранилищеЗначения(СписокЗначенийПодразделений);
КонецПроцедуры
в итоге:
{Документ.ТабельУчетаРабочегоВремени.Форма.ФормаДокумента.Форма(546,32)}: Переменная не определена (ХранилищеПодразделений)
СписокЗначенийПодразделений = <<?>>ХранилищеПодразделений.Получить(); (Проверка: Тонкий клиент)
|
|
|
3
Рэйв
26.04.17
✎
12:02
|
(2)Лучше уж в строку СЗ сохраняй через ЗначениеВСтрокуВнутр() чтобйыс хранилищем не париться.
|
|
|
4
DrShad
26.04.17
✎
12:11
|
(3) тогда уж не в строку, а в ТЧ
|
|
|
5
Рэйв
26.04.17
✎
12:14
|
(4)Есть сомнения, что ТС осилит это действие:-)
|
|
|
6
DrShad
26.04.17
✎
12:16
|
(5) а со строкой справится? )))
|
|
|
7
Рэйв
26.04.17
✎
12:17
|
(6)Ну, я ему уже метод подсказал:-)
|
|
|
8
DrShad
26.04.17
✎
12:22
|
(7) прикольно выйдет если подразделение удалят или эта строка по обмену уйдет куда-нить )))
лучше таки ТЧ
|
|
|
9
Рэйв
26.04.17
✎
12:34
|
(8)Ну да, ссылочная целостность- наше все:-)
|
|
|
10
JinAir
27.04.17
✎
09:25
|
Реализовал с помощью созданной табличной части "Подразделения"
&НаКлиенте
Процедура ДобавитьПодразделение(Команда)
Если ЗначениеЗаполнено(Объект.Подразделение) Тогда
Если СписокЗначенийПодразделений.НайтиПоЗначению(Объект.Подразделение) = Неопределено Тогда
СписокЗначенийПодразделений.Добавить(Объект.Подразделение);
СтрокаТЧПодразделения = Объект.Подразделения.Добавить();
СтрокаТЧПодразделения.Подразделение = Объект.Подразделение;
Иначе
Сообщить("Данное подразделение уже добавлено в список");
КонецЕсли;
Объект.Подразделение = Объект.Подразделение.Пустая();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
Если НЕ Объект.Ссылка.Пустая() Тогда
Для Каждого СтрокаТЧ Из Объект.Подразделения Цикл
СписокЗначенийПодразделений.Добавить(СтрокаТЧ.Подразделение);
КонецЦикла;
КонецЕсли;
КонецПроцедуры
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший