Имя: Пароль:
1C
1С v8
Ошибка после обновления: Баннер
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
Все стало еще веселей
теперь не отрабатывает расширение
http://joxi.ru/zANP5oi6bwvBm9
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) Так процедура получение баннера то не уберет процедуру мою
и ошибка будет
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс