Вход | Регистрация


1С:Предприятие ::

Метки: 

Баг в платформе 8.3.10.2561.

Я
   dkonakov
 
20.09.17 - 09:12
Приветствую, коллеги.
В данной версии платформы обнаружился баг, который валит платформу.
Кто помнит УТ 10.3, Справочник "Контрагенты", ФормаЭлемента, Вкладка "Контакты", Табличное поле "КонтактнаяИнформация".
Так вот раньше у меня в событии ПриПолученииДанных этого табличного поля стоял такой вот код:
<code>
ЭлементыФормы.КонтактнаяИнформация.ОтборСтрок.Представление.Значение = ""; 
ЭлементыФормы.КонтактнаяИнформация.ОтборСтрок.Представление.ВидСравнения = ВидСравнения.Содержит;
ЭлементыФормы.КонтактнаяИнформация.ОтборСтрок.Представление.Использование = Истина;
</code>
На Windows 7 на этой платформе всё круто.
А вот на Windows 10, на Windows Server 2012 платформа валится.
Подскажите, как можно данный код попробовать переписать в другом ключе, пока 1с расследует тикет.
 
 
   zak555
 
1 - 20.09.17 - 09:15
   dkonakov
 
2 - 20.09.17 - 09:32
Ну может и они похожи, но настройки не сохраняются и валится платформа несколько разные вещи)
   Rollam
 
3 - 20.09.17 - 09:39
Давно уже заметил проблемы с контактной информацией на УФ. Попробуй зайти в справочник "Виды контактной информации" и поменять место в списке для любого элемента в папке "Контрагенты". Элементы должны перестроиться как надо. Странно, да, но в зависимости от их положения, меняется и очередность обработки полей при выводе на форму, от чего программа может вылететь.
   Dmitrii
 
4 - 20.09.17 - 09:39
Какое-то странный отбор. А почему ВидСравнения = Содержит? Почему не ВидСравнения = Равно? Какой вообще смысл этого отбора?
У меня на УФ в форме списка при установке отбора на поле "Полное наименование" по условию Содержит <пустая строка> вообще ничего не происходит.
   Rollam
 
5 - 20.09.17 - 09:41
(3) А, тут УТ 10.3. Поспешил)
   dkonakov
 
6 - 20.09.17 - 10:00
(4) В этом поле отображаются контактные данные. Причём там в списке помимо контактных данных еще огромная куча пустых строк, где "представление" пустое.
Данный отбор убирает эти пустые строки.
и да, разговор про обычные формы)
   Serg_1960
 
7 - 20.09.17 - 10:00
Интересует тип "Представление" и как-то напрягает конструкция <Содержит "">.

Предложение на первый взгляд глупое, но: попробуйте поменять порядок строк - не "Значение - ВидСравнения - Использование", а "Использование - ВидСравнения - Значение". Интересно просто.
   yzimin
 
8 - 20.09.17 - 10:04
(6) Может проще базу в порядок привести и запретить пустое представление, чем этот костыль вставлять?
   oleg_km
 
9 - 20.09.17 - 10:06
(7) Это у них уже было. Поищу ссылку
   Serg_1960
 
10 - 20.09.17 - 10:07
"Данный отбор убирает эти пустые строки" - эээ..., если мне память не изменяет, то достаточно было наложить "пустой" отбор (Не равно без указания значения)
 
 
   dkonakov
 
11 - 20.09.17 - 14:04
(7)
Тип представления - Строка неограниченной длины.
Поменял порядок - ничего не изменилось. Валится на ВидСравнения.Содержит. Но я повторяю, в 8.3.9 и на Windows 7 этот код работает!
(8) Ну по факту это типовая 1с УТ 10.3, код работает на Windows 7. Предложите фирме 1с привести в порядок)
(10) Валится платформа аналогично. Тут похоже не устраивает платформу Строка неограниченной длины и видсравнения в принципе.
   Йохохо
 
12 - 20.09.17 - 14:07
(11) а если больше поставить? или добавить сортировку тупо
   RS2017
 
13 - 20.09.17 - 14:13
(6) зачем это делать в ПриПолученииДанных, очевидно установка отбора вызовет очередное обновление ТП и вызов ПриПолученииДанных. Зациклилось.
   vtolga
 
14 - 20.09.17 - 14:25
Может, лучше накидать обработку, почистить пустые строки и убрать этот код ?
   RS2017
 
15 - 20.09.17 - 14:28
(14) там (в регистре) нет пустых строк, они выводятся в ТП для удобства пользователя. А ТС с этим "удобством" борется какими-то извращенными методами.
   dkonakov
 
16 - 20.09.17 - 14:58
(13) Если бы зациклилось, то вряд ли бы сразу свалилось. (15) Ну так подскажите ваш ход мыслей?
   Вафель
 
17 - 20.09.17 - 15:00
(16) даже если не зациклилось, то так делать не надо
   dkonakov
 
18 - 20.09.17 - 15:12
(17) Хорошо, если не надо, то как надо?
   Вафель
 
19 - 20.09.17 - 15:13
ПередОткрытием
   RS2017
 
20 - 20.09.17 - 15:17
(16) "Если бы зациклилось, то вряд ли бы сразу свалилось." Несколько десятков рекурсивных вызовов для тебя будут выглядеть как мгновение, а память кончится.

(16) Правильно поправить запрос в УправлениеКонтактнойИнформацией.ПрочитатьКонтактнуюИнформацию, достаточно в одном месте вставить "ложь и ". Можно как (19)
   dkonakov
 
21 - 20.09.17 - 15:44
(20) Спасибо.
Ниже публикую решение:

Чтобы в форме элемента справочника "Контрагенты" на вкладке "Контакты" не было пустых контактов, нужно в общем модуле
"УправлениеКонтактнойИнформацией" в процедуре "ПрочитатьКонтактнуюИнформацию" в первой части подзапроса в секции ГДЕ добавить "ЛОЖЬ И".

Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
                   |    ВложенныйЗапрос.Вид КАК Вид,
                   |    ВложенныйЗапрос.Тип КАК Тип,
                   |    ВложенныйЗапрос.Объект КАК Объект,
                   |    МАКСИМУМ(ВложенныйЗапрос.Поле1) КАК Поле1,
                   |    МАКСИМУМ(ВложенныйЗапрос.Поле2) КАК Поле2,
                   |    МАКСИМУМ(ВложенныйЗапрос.Поле3) КАК Поле3,
                   |    МАКСИМУМ(ВложенныйЗапрос.Поле4) КАК Поле4,
                   |    МАКСИМУМ(ВложенныйЗапрос.Поле5) КАК Поле5,
                   |    МАКСИМУМ(ВложенныйЗапрос.Поле6) КАК Поле6,
                   |    МАКСИМУМ(ВложенныйЗапрос.Поле7) КАК Поле7,
                   |    МАКСИМУМ(ВложенныйЗапрос.Поле8) КАК Поле8,
                   |    МАКСИМУМ(ВложенныйЗапрос.Поле9) КАК Поле9,
                   |    МАКСИМУМ(ВложенныйЗапрос.Поле10) КАК Поле10,
                   |    МАКСИМУМ(ВложенныйЗапрос.Представление) КАК Представление,
                   |    МАКСИМУМ(ВложенныйЗапрос.Комментарий) КАК Комментарий,
                   |    МАКСИМУМ(ВложенныйЗапрос.ЗначениеПоУмолчанию) КАК ЗначениеПоУмолчанию,
                   |    МАКСИМУМ(ВложенныйЗапрос.ТипДома) КАК ТипДома,
                   |    МАКСИМУМ(ВложенныйЗапрос.ТипКорпуса) КАК ТипКорпуса,
                   |    МАКСИМУМ(ВложенныйЗапрос.ТипКвартиры) КАК ТипКвартиры
                   |ИЗ
                   |    (ВЫБРАТЬ
                   |        &Объект КАК Объект,
                   |        ВидыКонтактнойИнформации.Тип КАК Тип,
                   |        ВидыКонтактнойИнформации.Ссылка КАК Вид,
                   |        """" КАК Представление,
                   |        """" КАК Поле1,
                   |        """" КАК Поле2,
                   |        """" КАК Поле3,
                   |        """" КАК Поле4,
                   |        """" КАК Поле5,
                   |        """" КАК Поле6,
                   |        """" КАК Поле7,
                   |        """" КАК Поле8,
                   |        """" КАК Поле9,
                   |        """" КАК Поле10,
                   |        """" КАК Комментарий,
                   |        ЛОЖЬ КАК ЗначениеПоУмолчанию,
                   |        ЗНАЧЕНИЕ(Перечисление.ТипыДомов.ПустаяСсылка) КАК ТипДома,
                   |        ЗНАЧЕНИЕ(Перечисление.ТипыКорпусов.ПустаяСсылка) КАК ТипКорпуса,
                   |        ЗНАЧЕНИЕ(Перечисление.ТипыКвартир.ПустаяСсылка) КАК ТипКвартиры
                   |    ИЗ
                   |        Справочник.ВидыКонтактнойИнформации КАК ВидыКонтактнойИнформации
                   |    ГДЕ
                   |        ЛОЖЬ И 
               |        (НЕ ВидыКонтактнойИнформации.ПометкаУдаления)
                   |        И ВидыКонтактнойИнформации.ВидОбъектаКонтактнойИнформации = &ВидОбъектаКонтактнойИнформации
                   |    
                   |    ОБЪЕДИНИТЬ
                   |    
                   |    ВЫБРАТЬ
                   |        РегистрСведенийКонтактнаяИнформация.Объект,
                   |        РегистрСведенийКонтактнаяИнформация.Тип,
                   |        РегистрСведенийКонтактнаяИнформация.Вид,
                   |        ВЫРАЗИТЬ(РегистрСведенийКонтактнаяИнформация.Представление КАК СТРОКА(1000)),
                   |        РегистрСведенийКонтактнаяИнформация.Поле1,
                   |        РегистрСведенийКонтактнаяИнформация.Поле2,
                   |        РегистрСведенийКонтактнаяИнформация.Поле3,
                   |        РегистрСведенийКонтактнаяИнформация.Поле4,
                   |        РегистрСведенийКонтактнаяИнформация.Поле5,
                   |        РегистрСведенийКонтактнаяИнформация.Поле6,
                   |        РегистрСведенийКонтактнаяИнформация.Поле7,
                   |        РегистрСведенийКонтактнаяИнформация.Поле8,
                   |        РегистрСведенийКонтактнаяИнформация.Поле9,
                   |        РегистрСведенийКонтактнаяИнформация.Поле10,
                   |        ВЫРАЗИТЬ(РегистрСведенийКонтактнаяИнформация.Комментарий КАК СТРОКА(1000)),
                   |        РегистрСведенийКонтактнаяИнформация.ЗначениеПоУмолчанию,
                   |        РегистрСведенийКонтактнаяИнформация.ТипДома,
                   |        РегистрСведенийКонтактнаяИнформация.ТипКорпуса,
                   |        РегистрСведенийКонтактнаяИнформация.ТипКвартиры
                   |    ИЗ
                   |        РегистрСведений.КонтактнаяИнформация КАК РегистрСведенийКонтактнаяИнформация
                   |    ГДЕ
                   |        РегистрСведенийКонтактнаяИнформация.Объект = &Объект) КАК ВложенныйЗапрос
                   |
                   |СГРУППИРОВАТЬ ПО
                   |    ВложенныйЗапрос.Вид,
                   |    ВложенныйЗапрос.Тип,
                   |    ВложенныйЗапрос.Объект
                   |
                   |УПОРЯДОЧИТЬ ПО
                   |    Представление УБЫВ,
                   |    ВложенныйЗапрос.Тип.Порядок,
                   |    Вид";
   Вафель
 
22 - 20.09.17 - 15:47
Для нового контрагента не введешь ничего
   RS2017
 
23 - 20.09.17 - 15:48
(22) так же как и для старого: добавляй строку и заполняй руками
   dkonakov
 
24 - 20.09.17 - 15:59
(22) это и не требовалось. Спасибо за участие.



Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует