|
1с 8.2 Хранилище значений и ТЗ | ☑ | ||
---|---|---|---|---|
0
zvivla
16.01.12
✎
16:24
|
Здравствуйте! столкнулась вот с какой проблемой:
Есть форма документа, реквизит документа-хранилище значений, в которое при закрытии сохраняется ТЗ, а при открытии разворачивается в ТЗ из хранилища. Из этой формы я открываю другую форму, передаю ей имя активной ячейки и номер строки, пользователь совершает какие-то действия и при закрытии второй формы в активную ячейку первой формы должно передаваться значение, но выдается ошибка. Оказывается если из второй формы посмотреть количество строк ТЗ первой формы, то оно равно нулю, хотя это не так. Вопрос- Почему?? =) |
|||
1
vmv
16.01.12
✎
16:26
|
очевидно 2-ая форма читает НЕ Акутальный контескст 1-0й формы, если есть фото, то можно подумать.
а блин, я не посмотрел пол, сегодня понедельник - не будем занудами |
|||
2
Scooter
16.01.12
✎
16:29
|
(0)а зачем ТЗ в ХЗ?
|
|||
3
zvivla
16.01.12
✎
16:32
|
форма слишком громоздкая и проще работать, сохраняя ее в ХЗ
|
|||
4
zvivla
16.01.12
✎
16:32
|
Как может быть контекст не актуален из-за чего?
|
|||
5
vmv
16.01.12
✎
16:33
|
(2) это приемлемо, почему нет в исключительных случаях, если ТЗ не содержит критичные данные БД, а скорее сервисные формы
|
|||
7
GROOVY
16.01.12
✎
16:35
|
Как передаете данные во вторую форму?
|
|||
8
vmv
16.01.12
✎
16:36
|
(4) пока вы не уточните логику по ключевой фразе темы
"Оказывается если из второй формы посмотреть количество строк ТЗ первой формы"(с) то наш диалог будет похож на беседу слепого с глухим - это забавно, но не продуктивно |
|||
9
zvivla
16.01.12
✎
16:44
|
http://s018.radikal.ru/i506/1201/9d/97ee094c05d2.jpg фото
При активизации ячейки в ТЗ первой формы открывается вторая &НаКлиенте Процедура ЛистПриАктивизацииЯчейки(Элемент) Если Элемент.ТекущийЭлемент.Имя <> "Наименование" и Элемент.ТекущийЭлемент.Имя <> "ЧислоРазТаб" Тогда ФФ = ПолучитьФорму("Документ.ПроцедурныйЛист.Форма.Форма"); ФФ.Наименование = НаименованиеПолное; ФФ.ЧислоРазНазначено = Лист[Элемент.ТекущаяСтрока]["ЧислоРаз"]; ФФ.ЧислоРазСделано=Лист[Элемент.ТекущаяСтрока][Элемент.ТекущийЭлемент.Имя] ; // ФФ.ОсталосьРаз = ЧислоРаз-ФФ.ЧислоРазСделано; ФФ.День = Элемент.ТекущийЭлемент.Имя; ФФ._Строка = Элемент.ТекущаяСтрока; ФФ._Имя = Элемент.ТекущийЭлемент.Имя; Сообщить(строка(Элемент.ТекущаяСтрока)+"*"+Элемент.ТекущийЭлемент.Имя+"г"); ФФ.Открыть(); КонецЕсли; КонецПроцедуры Открывается корректно Изменяю что мне надо во второй форме и при нажатии на кнопку ОК пытаюсь передать в ячейку ТЗ первой формы значение последней строки из таблицы "Сделано" &НаКлиенте Процедура Ок(Команда) ФФ = ПолучитьФорму("Документ.ПроцедурныйЛист.Форма.ФормаДокумента"); Если ВыдачаЛекарств.Количество()>0 Тогда Сообщить(Строка(фф.Лист.Количество())); фф.Лист[_Строка][_Имя]=ВыдачаЛекарств[ВыдачаЛекарств.Количество()-1]["Сделано"]; КонецЕсли; ЭтаФорма.Закрыть(); КонецПроцедуры Не срабатывает ибо Сообщить(Строка(фф.Лист.Количество())); показывает 0 |
|||
10
zvivla
16.01.12
✎
16:46
|
передаю имя и строку активной ячейки ТЗ первой формы в реквизиты второй формы
|
|||
11
GROOVY
16.01.12
✎
16:49
|
Передавайте третьим параметрос в открываемою форму форму-владелец. И обращайтесь к ней напрямую по выражению "Владелец" вызывая из нее экспортную процедуру.
|
|||
12
zvivla
16.01.12
✎
17:16
|
а целиком ТЗ нельзя передать? через Выгрузить.
Пардон за возможно глупый вопрос |
|||
13
GROOVY
16.01.12
✎
17:19
|
Нет
|
|||
14
zvivla
16.01.12
✎
17:50
|
Не могу сообразить как передавать владельца, какого типа должен быть реквизит у формы приемщика?
|
|||
15
V_V_V
16.01.12
✎
17:56
|
(14) ПолучитьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>)
|
|||
16
zvivla
16.01.12
✎
18:07
|
ФФ = ПолучитьФорму("Документ.ПроцедурныйЛист.Форма.ФормаДокумента", Новый Структура("Владелец", ЭтаФорма));
Работает!) Всем большое спасибо! |
|||
17
V_V_V
16.01.12
✎
18:13
|
(16) А можно было проще, пропустив параметры:
ФФ = ПолучитьФорму("Документ.ПроцедурныйЛист.Форма.ФормаДокумента", , ЭтаФорма); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |