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

1С:Предприятие :: 1С:Предприятие 8 общая

Метод "ВставитьОбласть" - отрабатывает по разному...

Метод "ВставитьОбласть" - отрабатывает по разному...
Я
   1Садовник
 
20.04.18 - 16:18
Из СП:
Описание:
Вставляда возникает ошибка.
ет копию исходной области табличного документа в область-приемник.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
Примечание:
Если размеры исходной области не соответствуют результирующей области, то при выполнении мето

Пример (управляемые формы, процедура в модуле формы внешней обработки):

&НаСервере
Процедура ТестНаСервере()
    Сообщение = Новый СообщениеПользователю;
    ТабДокИсходный = Новый ТабличныйДокумент;
    ТабДокНовый    = Новый ТабличныйДокумент;
    ОбластьИсходная = ТабДокИсходный.Область(1,1,1,5);
    ОбластьПриемник = ТабДокИсходный.Область(1,1,1,3);
    Попытка
        ТабДокНовый.ВставитьОбласть(ОбластьИсходная, ОбластьПриемник);
        Сообщение.Текст = "Получилось вставить 5 колонок в 3";
    Исключение
        Сообщение.Текст = "Ошибка разный размер областей";
    КонецПопытки;
    Сообщение.Сообщить();
КонецПроцедуры

И вот вопрос - почему при разных размерах областей (источник и приемник) ошибка НЕ возникает в тонком клиенте для файловой базы. И также НЕ возникает для тонкого и толстого клиента клиент-серверной базы.
Тестировал на платформах  8.3.11.3034, 8.3.10.2466 (версия по всей видимости не влияет).

Сообщение "Ошибка разный размер областей" можно увидеть только при запуске в толстом клиенте файловой базы.
 
 
   1Садовник
 
1 - 20.04.18 - 16:20
ОбластьПриемник = ТабДокИсходный.Область(1,1,1,3);

можно заменить на 

ОбластьПриемник = ТабДокНовый.Область(1,1,1,3);

не влияет на результат
   manuuu
 
2 - 20.04.18 - 16:20
Возможно макет не тот устанавливается?
   1Садовник
 
3 - 20.04.18 - 16:29
(2) Макет не причем, его нет в обработке.
   singlych
 
4 - 20.04.18 - 16:34
Не ошибка не возникает, а сообщение не сообщается.
   1Садовник
 
5 - 20.04.18 - 16:53
(4) Отрабатывает метод в тонком клиенте и возникает ошибка в толстом вот пример готовый:

&НаСервере
Функция ТестНаСервере()
    Сообщение = Новый СообщениеПользователю;
    ТабДокИсходный = Новый ТабличныйДокумент;
    ТабДокНовый    = Новый ТабличныйДокумент;
    ТабДокИсходный.Область(1,1).Текст = "ячейка1";
    ТабДокИсходный.Область(1,3).Текст = "ячейка3";
    ОбластьИсходная = ТабДокИсходный.Область(1,1,1,3);
    ОбластьПриемник = ТабДокНовый.Область(1,1,1,5);
    Попытка
        ТабДокНовый.ВставитьОбласть(ОбластьИсходная, ОбластьПриемник);
        Сообщение.Текст = "Получилось вставить 3 колоноки в 5";
    Исключение
        Сообщение.Текст = "Ошибка";
    КонецПопытки;
    Сообщение.Сообщить();
    Возврат ТабДокНовый;
КонецФункции


&НаКлиенте
Процедура Тест(Команда)
    ТД = ТестНаСервере();
    ТД.Показать();
КонецПроцедуры
   singlych
 
6 - 20.04.18 - 16:58
Убери попытку и повтори.
   1Садовник
 
7 - 20.04.18 - 17:02
(6) убрал. В тонком метод молча отработал. Вот результат:
http://ipic.su/img/img7/fs/1.1524232942.png

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