|
v7: Прикол с Форма.Закладки.ДобавитьЗначение | ☑ | ||
---|---|---|---|---|
0
КонецЦикла
05.01.13
✎
19:36
|
Интересный прикол...
Добавляются три закладки Процедура ПриОткрытии() Форма.ИспользоватьЗакладки(1); Форма.Закладки.ДобавитьЗначение("Общие","Общие"); Форма.Закладки.ДобавитьЗначение("Контакты","Контакты"); Если Выбран() = 1 Тогда Форма.Закладки.ДобавитьЗначение("События","События"); КонецЕсли; Форма.Закладки.ДобавитьЗначение("РасчетныеСчета","Р/счета и договоры"); .... Если новый элемент не хочу показывать контакты, добавляю закладку при записи Вот так работает: Процедура ПриЗаписи() Если Выбран() = 0 Тогда Форма.Закладки.ДобавитьЗначение("События", "События"); Форма.Закладки.СдвинутьЗначение(-1, 4); КонецЕсли; КонецПроцедуры // ПриЗаписи() А вот так нет: Процедура ПриЗаписи() Если Выбран() = 0 Тогда //Форма.Закладки.ДобавитьЗначение("События", "События"); //Форма.Закладки.СдвинутьЗначение(-1, 4); Форма.Закладки.ВставитьЗначение(3, "События", "События"); КонецЕсли; КонецПроцедуры // ПриЗаписи() Сообщение: "Индекс не входит в границы списка значений.". Но ведь значений 3 на момент выполнения кода |
|||
1
КонецЦикла
05.01.13
✎
19:37
|
*не хочу показывать события, ну вы поняли
|
|||
2
PALESIA
05.01.13
✎
19:41
|
Форма.Закладки.ТекущаяСтрока(НомерЗакладки) вроде бы ..
|
|||
3
PALESIA
05.01.13
✎
19:44
|
+(2) это вместо СдвинутьЗакладки()
|
|||
4
КонецЦикла
05.01.13
✎
19:45
|
(2) Куда предлагаешь пихать чтобы помогло? Все равно же три значения в списке
Форма.Закладки.ВставитьЗначение(2, "События", "События"); Работает кстати |
|||
5
КонецЦикла
05.01.13
✎
19:45
|
(3) Положение нужно третье событий, а не третью закладку активизировать
|
|||
6
PALESIA
05.01.13
✎
19:51
|
(5) а Закладки в списке не с нуля индексированы? - там вектор вродебы
|
|||
7
bezgudroman
05.01.13
✎
19:52
|
давно уже отказался от такого балования с закладками.
легче залочить разлочить группу атрибутов в "после записи". |
|||
8
acsent
05.01.13
✎
19:53
|
а если 2 раза запишешь?
|
|||
9
PALESIA
05.01.13
✎
19:55
|
(8) норм - взлетит - у него условие Выбран()
|
|||
10
bezgudroman
05.01.13
✎
19:56
|
да и в конструкции
Форма.Закладки.ДобавитьЗначение("Общие","Общие"); я пихаю сразу слои: Форма.Закладки.ДобавитьЗначение("Шапка,Общие,Кнопки","Общие"); это позволяет написать процедуру "ПриВыбореЗакладки" легко и непринужденно Процедура ПриВыбореЗакладки(НомерЗакладки, ЗначениеЗакладки = "") глПриВыбореЗакладкиСтандарт(Контекст, НомерЗакладки, ЗначениеЗакладки); КонецПроцедуры // ПриВыбореЗакладки ну а что написано в глПриВыбореЗакладкиСтандарт - догадайтесь сами )) |
|||
11
bezgudroman
05.01.13
✎
19:58
|
(8) это будет полная катастрофа.
|
|||
12
PALESIA
05.01.13
✎
20:01
|
(0) упс. нашел, может быть поможет:
ВставитьЗначение(<Позиция>,<Значение>,<Строка>,<Клв>) Назначение: Вставить значение в указанную позицию списка. Параметры: <Позиция> - номер позиции в списке, в которую вставляется значение (изменяется от 1 до РазмерСписка+1); СРАВНИ С ЕНТИМ: УстановитьЗначение(<?>,,,); Синтаксис: УстановитьЗначение(<Позиция>,<Знач>,<Строка>,<Клв>) Назначение: Установить значение в указанной позиции списка. Параметры: <Позиция> - номер позиции в списке, в которой установливается значение (изменяется от 1 до РазмерСписка); |
|||
13
КонецЦикла
05.01.13
✎
21:36
|
(12) Та же ошибка
Да и к тому же установить <> вставить :) |
|||
14
КонецЦикла
05.01.13
✎
21:37
|
А повторите кто-нить мой код в модуле формы элемента спр-ка
Интересно... |
|||
15
Torquader
05.01.13
✎
21:45
|
Не знаю, что вы там курите, но у меня так работает:
Процедура ПриОткрытии() Форма.ИспользоватьЗакладки(1); Форма.Закладки.ДобавитьЗначение("Один","Это один"); Форма.Закладки.ДобавитьЗначение("Два","Это два"); Если Выбран()=1 Тогда Форма.Закладки.ДобавитьЗначение("Три","Это три"); КонецЕсли; Форма.Закладки.ДобавитьЗначение("Четыре","Это четыре"); КонецПроцедуры Процедура ПриЗаписи(лстрПериодическиеРеквизиты) Если Выбран()=0 Тогда Форма.Закладки.ВставитьЗначение(3,"Три","Это три",1); КонецЕсли; КонецПроцедуры |
|||
16
Torquader
05.01.13
✎
21:45
|
Причём в базе только один этот несчастный справочник (создал чистую)
|
|||
17
PALESIA
05.01.13
✎
21:47
|
(13) есно, что не равны - я к этому и вел - но раз у тебя оба не работают, тогда как вариант: скопипасти справочник, потом удали исходный и замени имя производного на имя исходного - у тебя по-ходу вектор закладок именно в этом справочнике полетел
|
|||
18
КонецЦикла
05.01.13
✎
22:01
|
(15) Да, создал в той же конфиге справочник - там работает, понимаю что должно работать
Попробовал создать новый справочник копированием один к одному в дереве - та же ошибка :) Короче оставлю как есть |
|||
19
PALESIA
05.01.13
✎
22:04
|
(18) а скопировать его в другую конфу, а потом из другой назад вернуть (после удаления исходника) пробовал? )))
|
|||
20
КонецЦикла
05.01.13
✎
22:10
|
(19) Нельзя исходник удалять, потом придется id править
В другой конфигурации заработал справочник, правда снес табличное поле, но думаю что это не влияло |
|||
21
КонецЦикла
05.01.13
✎
22:13
|
Короче МД кривой какой-то штоле
|
|||
22
Torquader
05.01.13
✎
23:04
|
Возможно, используются какие-то внешние компоненты, которые правят работу вкладок.
Кроме того, нужно смотреть все прочие функции. Чистый справочник без слоёв, а только с закладками работает в этой базе ? |
|||
23
КонецЦикла
06.01.13
✎
00:21
|
(22) Если сделать копию спр-ка в этой же конфигурации, но убрать слои - работает
|
|||
24
Torquader
06.01.13
✎
01:34
|
А если в новой базе взять элемент и дорисовать слои, то что происходит ?
Есть подозрение, что падает не на добавлении, а на переключении активного слоя после добавления. Попробуй отключить переключение слоёв и посмотреть, что происходит. |
|||
25
Злопчинский
06.01.13
✎
03:34
|
КЦ, сорри, я б посмотрел, но капец - времени совсем мало - кошмарюсь с курсами по En - я в шоке...
|
|||
26
КонецЦикла
06.01.13
✎
18:14
|
(24) Да, похоже что так
Убрал в ПриОткрытии() такой код: //Если ВидКонтрагента = Перечисление.ВидыКонтрагентов.ЧастноеЛицо Тогда // Форма.Закладки.ДобавитьЗначение("Документ","Паспортные данные"); // Форма.ИспользоватьСлой("Общий, ОсновныеСведения, ЧастноеЛицо", 2); //Иначе // Форма.ИспользоватьСлой("Общий, ОсновныеСведения, Организация", 2); //КонецЕсли; Заработало Но ведь слои-то нужны... :) |
|||
27
КонецЦикла
06.01.13
✎
18:16
|
Переключения слоев после записи не было
|
|||
28
КонецЦикла
06.01.13
✎
18:18
|
+(23) На копии справочника в той же конфигурации работает также если тупо добавить один слой пустой, но дажж не использовать его
|
|||
29
КонецЦикла
07.01.13
✎
00:08
|
Ага, вот оно как быват
|
|||
30
Torquader
07.01.13
✎
18:57
|
Что есть
Форма.Закладки.ДобавитьЗначение("Документ","Паспортные данные"); Как бы это совсем не слои. Ну и смотри, что у тебя там получается, а то, может быть, количество слоёв действительно не то, которое должно быть. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |