Project

Profile

Help

HostedRedmine.com has moved to the Planio platform. All logins and passwords remained the same. All users will be able to login and use Redmine just as before. Read more...

Bug #964392

open

8.3.23-+ Свойство ТекущаяСтрока таблицы формы не контролирует тип значения при его установке

Added by Сергей Старых over 1 year ago. Updated over 1 year ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Sprint/Milestone:
-
Start date:
Due date:
% Done:

0%

Estimated time:

Description

https://partners.v8.1c.ru/forum/t/2133418/m/2133418
Конфигурация ПО

8.3.23

Проблема

Свойство ТекущаяСтрока таблицы формы не контролирует тип значения при его установке

Воспроизведение

Открыть приложенную внешнюю обработку в клиентском приложении любой базы. Нажать кнопку "Команда1". При этом выполнится код

&НаКлиенте
Процедура Команда1(Команда)
    Команда1Фрагмент();    
КонецПроцедуры

Процедура Команда1Фрагмент()
    Элементы.Реквизит1.ТекущаяСтрока = Реквизит1[0];
КонецПроцедуры


и будет отображено системное окно ошибки

Ошибка при вызове метода контекста (Команда1Фрагмент) {ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(10)}:Команда1Фрагмент(); по причине: Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа. по причине: Ошибка преобразования данных XDTO: Запись значения свойства 'cr': форма: Элемент имя: {http://v8.1c.ru/8.2/mngsrv/ws}cr по причине: Ошибка отображения типов: Отсутствует отображение для типа 'ДанныеФормыЭлементКоллекции'

Из которого в случае сложной формы и объемного кода серверного вызова достаточно трудно понять

в каком месте формы находится значение запрещенного типа
в какой строке кода выполнено присвоение значения запрещенного типа

т.к. контроль типа выполняется в момент возврата из серверного вызова.

А ожидался контроль типа значения в момент присвоения значения свойству. Так платформа уже умеет делать в других местах. Например если нажать кнопку "Команда2", то выполнится код


&НаКлиенте
Процедура Команда2(Команда)
    Команда2НаСервере();
КонецПроцедуры

&НаСервере
Процедура Команда2НаСервере()
    ЭтаФорма.Реквизит2 = Реквизит1[0];
КонецПроцедуры


и будет отображено системное окно ошибки

Ошибка при установке значения атрибута контекста (Реквизит2) {ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(19)}:ЭтаФорма.Реквизит2 = Реквизит10; {ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(24)}:Команда2НаСервере(); по причине: Тип "ДанныеФормыЭлементКоллекции" не может использоваться в данных формы

Родственные темы

https://partners.v8.1c.ru/forum/t/743913/m/743913
https://partners.v8.1c.ru/forum/t/1231783/m/1231783

Files

ОтважныйБобр.epf (10.3 KB) ОтважныйБобр.epf Сергей Старых, 2023-05-31 10:16 PM
Actions #1

Updated by Сергей Старых over 1 year ago

  • Description updated (diff)
Actions #2

Updated by Сергей Старых over 1 year ago

  • Description updated (diff)
Actions #3

Updated by Сергей Старых over 1 year ago

  • Description updated (diff)
Actions #4

Updated by Сергей Старых over 1 year ago

  • Description updated (diff)
Actions #5

Updated by Сергей Старых over 1 year ago

  • Description updated (diff)
Actions #6

Updated by Сергей Старых over 1 year ago

  • Description updated (diff)

Also available in: Atom PDF