|
Ошибка после обновления: Баннер | ☑ | ||
---|---|---|---|---|
0
aptomilov
25.07.20
✎
08:23
|
Описание проблемы
в одной базе счет на оплату печатается а во второй перестал при попытки напечатать вываливает ошибку. Все переменные одинаковые куда копать не пойму Виновник торжества ГруппаБаннер = Форма.Элементы.Вставить("Баннер", Тип("ГруппаФормы"), , Форма.Элементы.Найти("ГруппаКоманднаяПанель")); Базы одинаковые, версия 3.0 (3.0.79.14) Платформа одна, комп один 1С:Предприятие 8.3 (8.3.14.1976) Обновление накатил в соответствии с требованиями порядка обновления 1С Ошибка во во второй базе {ОбщийМодуль.ПерсонализированныеПредложенияСервисов.Модуль(6615)}: Ошибка при вызове метода контекста (Вставить) ГруппаБаннер = Форма.Элементы.Вставить("Баннер", Тип("ГруппаФормы"), , Форма.Элементы.Найти("ГруппаКоманднаяПанель")); по причине: Недопустимое значение параметров Недопустимое значение параметров Процедура в целом Процедура СоздатьРеквизитыИЭлементыФормыДляРазмещенияБаннера(Форма) РеквизитыФормыБаннер = Новый Массив; РеквизитыФормыБаннер.Добавить(Новый РеквизитФормы("Баннер", Новый ОписаниеТипов())); РеквизитыФормыБаннер.Добавить(Новый РеквизитФормы("ТекстБаннера", Новый ОписаниеТипов("ФорматированнаяСтрока"))); Форма.ИзменитьРеквизиты(РеквизитыФормыБаннер); ГруппаБаннер = Форма.Элементы.Вставить("Баннер", Тип("ГруппаФормы"), , Форма.Элементы.Найти("ГруппаКоманднаяПанель")); ГруппаБаннер.Вид = ВидГруппыФормы.ОбычнаяГруппа; ГруппаБаннер.РастягиватьПоГоризонтали = Истина; ГруппаБаннер.Отображение = ОтображениеОбычнойГруппы.Нет; ГруппаБаннерСФоном = Форма.Элементы.Добавить("БаннерСФоном", Тип("ГруппаФормы"), ГруппаБаннер); ГруппаБаннерСФоном.Вид = ВидГруппыФормы.ОбычнаяГруппа; ГруппаБаннерСФоном.РастягиватьПоГоризонтали = Истина; ГруппаБаннерСФоном.Отображение = ОтображениеОбычнойГруппы.Нет; ГруппаБаннерСФоном.ОтображатьЗаголовок = Ложь; ГруппаОжидание = Форма.Элементы.Добавить("ГруппаБаннерОжидание", Тип("ГруппаФормы"), ГруппаБаннерСФоном); ГруппаОжидание.Вид = ВидГруппыФормы.ОбычнаяГруппа; ГруппаОжидание.Отображение = ОтображениеОбычнойГруппы.Нет; ГруппаОжидание.ГоризонтальноеПоложениеПодчиненных = ГоризонтальноеПоложениеЭлемента.Право; ГруппаОжидание.ВертикальноеПоложениеПодчиненных = ВертикальноеПоложениеЭлемента.Центр; ГруппаОжидание.РастягиватьПоГоризонтали = Ложь; ГруппаОжидание.Ширина = 24; ГруппаОжидание.ОтображатьЗаголовок = Ложь; КартинкаОжидание = Форма.Элементы.Добавить("КартинкаОжидание", Тип("ДекорацияФормы"), ГруппаОжидание); КартинкаОжидание.Вид = ВидДекорацииФормы.Картинка; НадписьОжидание = Форма.Элементы.Добавить("НадписьОжидание", Тип("ДекорацияФормы"), ГруппаОжидание); НадписьОжидание.Вид = ВидДекорацииФормы.Надпись; ТекстБаннера = Форма.Элементы.Добавить("ТекстБаннера", Тип("ПолеФормы"), ГруппаБаннерСФоном); ТекстБаннера.Вид = ВидПоляФормы.ПолеНадписи; ТекстБаннера.ПутьКДанным = "ТекстБаннера"; ТекстБаннера.Высота = 3; ТекстБаннера.РастягиватьПоГоризонтали = Истина; ТекстБаннера.ВертикальноеПоложениеВГруппе = ВертикальноеПоложениеЭлемента.Центр; ТекстБаннера.ВертикальноеПоложение = ВертикальноеПоложениеЭлемента.Центр; ТекстБаннера.АвтоМаксимальнаяШирина = Ложь; ТекстБаннера.МаксимальнаяШирина = 0; ТекстБаннера.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; ТекстБаннера.УстановитьДействие("ОбработкаНавигационнойСсылки", "Подключаемый_ОбработкаНавигационнойСсылки"); КартинкаБаннера = Форма.Элементы.Добавить("КартинкаБаннера", Тип("ДекорацияФормы"), ГруппаБаннерСФоном); КартинкаБаннера.Вид = ВидДекорацииФормы.Картинка; КартинкаБаннера.ВертикальноеПоложениеВГруппе = ВертикальноеПоложениеЭлемента.Центр; КартинкаБаннера.РазмерКартинки = РазмерКартинки.РеальныйРазмер; КартинкаБаннера.Ширина = 26; КартинкаБаннера.Высота = 3; ГруппаКнопкиБаннера = Форма.Элементы.Добавить("ГруппаКнопкиБаннера", Тип("ГруппаФормы"), ГруппаБаннерСФоном); ГруппаКнопкиБаннера.Вид = ВидГруппыФормы.ОбычнаяГруппа; ГруппаКнопкиБаннера.РастягиватьПоВертикали = Истина; ГруппаКнопкиБаннера.ГоризонтальноеПоложениеВГруппе = ГоризонтальноеПоложениеЭлемента.Право; ГруппаКнопкиБаннера.ОтображатьЗаголовок = Ложь; КартинкаЗакрытьБаннер = Форма.Элементы.Добавить("КартинкаЗакрытьБаннер", Тип("ДекорацияФормы"), ГруппаКнопкиБаннера); КартинкаЗакрытьБаннер.Вид = ВидДекорацииФормы.Картинка; КартинкаЗакрытьБаннер.ГоризонтальноеПоложениеВГруппе = ГоризонтальноеПоложениеЭлемента.Право; КартинкаЗакрытьБаннер.ВертикальноеПоложениеВГруппе = ВертикальноеПоложениеЭлемента.Верх; КартинкаЗакрытьБаннер.Гиперссылка = Истина; КартинкаЗакрытьБаннер.Картинка = БиблиотекаКартинок.Очистить; КартинкаЗакрытьБаннер.УстановитьДействие("Нажатие", "Подключаемый_ВыполнитьКоманду"); ГруппаКнопкиПереключенияБаннера = Форма.Элементы.Добавить("ГруппаКнопкиПереключенияБаннера", Тип("ГруппаФормы"), ГруппаКнопкиБаннера); ГруппаКнопкиПереключенияБаннера.Вид = ВидГруппыФормы.ОбычнаяГруппа; ГруппаКнопкиПереключенияБаннера.ВертикальноеПоложениеВГруппе = ВертикальноеПоложениеЭлемента.Низ; КартинкаПредыдущийБаннер = Форма.Элементы.Добавить("КартинкаПредыдущийБаннер", Тип("ДекорацияФормы"), ГруппаКнопкиПереключенияБаннера); КартинкаПредыдущийБаннер.Вид = ВидДекорацииФормы.Картинка; КартинкаПредыдущийБаннер.ВертикальноеПоложениеВГруппе = ВертикальноеПоложениеЭлемента.Низ; КартинкаПредыдущийБаннер.Гиперссылка = Истина; КартинкаПредыдущийБаннер.Картинка = БиблиотекаКартинок.ПредыдущийБаннер; КартинкаСледующийБаннер = Форма.Элементы.Добавить("КартинкаСледующийБаннер", Тип("ДекорацияФормы"), ГруппаКнопкиПереключенияБаннера); КартинкаСледующийБаннер.Вид = ВидДекорацииФормы.Картинка; КартинкаСледующийБаннер.ВертикальноеПоложениеВГруппе = ВертикальноеПоложениеЭлемента.Низ; КартинкаСледующийБаннер.Гиперссылка = Истина; КартинкаСледующийБаннер.Картинка = БиблиотекаКартинок.СледующийБаннер; КонецПроцедуры |
|||
1
aptomilov
25.07.20
✎
08:34
|
КЭШ ТОЖЕ ЧИСТИЛ
БАЗУ ПЕРЕКИДЫВАЛ В ДР ПАПКУ НЕ ПОМОГАЕТ |
|||
2
DJ Anthon
25.07.20
✎
09:16
|
это же рекламные баннеры. отключить их и все дела.
В расширении добавляешь замену стандартной процедуры &Вместо("ПолучитьБаннер") Процедура А_ПолучитьБаннер(СтруктураПараметров, АдресХранилища) ПоместитьВоВременноеХранилище(Неопределено, АдресХранилища); Возврат; КонецПроцедуры |
|||
3
acht
25.07.20
✎
09:23
|
(0) На форме уже присутствует элемент с именем "Баннер". То есть, существуют сценарий работы пользователя, при котором СоздатьРеквизитыИЭлементыФормыДляРазмещенияБаннера вызывается дважды.
|
|||
4
vde69
25.07.20
✎
09:25
|
Элемент формы отсутствует, скорее всего или прав мало, или в коде ранее он не был создан
|
|||
5
aptomilov
25.07.20
✎
09:54
|
(4) Код то типовой базы идентичны
(3) щас проверю отпишусь интересная версия |
|||
6
aptomilov
25.07.20
✎
10:06
|
Баннера на форме на момент добавления нет
Права полные |
|||
7
aptomilov
25.07.20
✎
10:07
|
(3) в первый раз ошибка сразу же
|
|||
8
acht
25.07.20
✎
10:12
|
(7) Проверял установкой точки останова и контролем стека, я надеюсь?
|
|||
9
vde69
25.07.20
✎
10:13
|
У тебя нет вот этой группы
Элементы.ГруппаКоманднаяПанель |
|||
10
acht
25.07.20
✎
10:17
|
(9) В этом случае "Форма.Элементы.Найти("ГруппаКоманднаяПанель")" вернет Неопределено и свежесозданная группа уедет в конец коллекции.
|
|||
11
aptomilov
25.07.20
✎
10:21
|
(9)(10) группа есть все нормально
|
|||
12
aptomilov
25.07.20
✎
10:24
|
||||
13
acht
25.07.20
✎
10:28
|
И какие элементы есть на форме в этот момент?
|
|||
14
aptomilov
25.07.20
✎
10:49
|
(13) все нужные есть
http://joxi.ru/Q2KPxoiwzOzyAj |
|||
15
aptomilov
25.07.20
✎
10:55
|
баннера точно нет
|
|||
16
Serg_1960
25.07.20
✎
10:56
|
Возможно (9) прав. (11) Не надо говорить что она есть - попробуй в табло исполнить Форма.Элементы.Найти("ГруппаКоманднаяПанель"). Проверить будет ли она найдена программно.
(имхо) Не исключаю вероятность демонического обновления, когда видишь не то с чем работает платформа. Глупо, но можно попробовать удалить процедуру и заново вставить скопированный из другой базы текст процедуры и обновить конфигурацию. |
|||
17
aptomilov
25.07.20
✎
11:01
|
действует
отрабатывает |
|||
18
aptomilov
25.07.20
✎
11:02
|
(имхо) Не исключаю вероятность демонического обновления, когда видишь не то с чем работает платформа. Глупо, но можно попробовать удалить процедуру и заново вставить скопированный из другой базы текст процедуры и обновить конфигурацию.
ТОЖЕ ЭТА МЫСЛЬ НЕ ПОКИДАЕТ НО ПОСТРОЧНО ВРОДЕ КАК ВСЕ ХОРОШО ПРИ ТАКИХ СИМПТОПМАХ ПРОСКАКИВАЕТ ОТЛАДКА |
|||
19
aptomilov
25.07.20
✎
11:07
|
||||
20
vde69
25.07.20
✎
11:12
|
Профиль безопасности по посмотри
|
|||
21
aptomilov
25.07.20
✎
11:13
|
да да точно забываю про него всегда
но все равно интересно какого хрена в типовых базах такие баги |
|||
22
aptomilov
25.07.20
✎
11:13
|
что приходится ихголяться
|
|||
23
Serg_1960
25.07.20
✎
11:17
|
(18) Иногда бывает так, что платформа что-то добавляет "от себя", обрабатывает "невидимые" строки - строки, которые отсутствуют в тексте открытого в конфигураторе модуля. Тогда платформу не поймаешь за хвост точками останова.
|
|||
24
aptomilov
25.07.20
✎
11:19
|
Вобщем решение если у кого вылезет такое заодно и рекламу подгасит
&Вместо("СоздатьРеквизитыИЭлементыФормыДляРазмещенияБаннера") Процедура АНТИРЕКЛАМА_СоздатьРеквизитыИЭлементыФормыДляРазмещенияБаннера(Форма) // ИБО НЕХЕР РЕКЛАМУ ВЕЗДЕ СУВАТЬ КонецПроцедуры &Вместо("УстановитьБаннерНаФорме") Процедура АНТИРЕКЛАМА_УстановитьБаннерНаФорме(Форма, АдресРезультата) // ИБО НЕХЕР РЕКЛАМУ ВЕЗДЕ СУВАТЬ КонецПроцедуры |
|||
25
DJ Anthon
25.07.20
✎
12:53
|
(24) моё не сработало?
|
|||
26
aptomilov
25.07.20
✎
14:21
|
(25) Так процедура получение баннера то не уберет процедуру мою
и ошибка будет |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |