|
Метод "ВставитьОбласть" - отрабатывает по разному... |
☑ |
0
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);
не влияет на результат
|
|
2
manuuu
20.04.18
✎
16:20
|
Возможно макет не тот устанавливается?
|
|
3
1Садовник
20.04.18
✎
16:29
|
(2) Макет не причем, его нет в обработке.
|
|
4
singlych
20.04.18
✎
16:34
|
Не ошибка не возникает, а сообщение не сообщается.
|
|
5
1Садовник
20.04.18
✎
16:53
|
(4) Отрабатывает метод в тонком клиенте и возникает ошибка в толстом вот пример готовый:
&НаСервере
Функция ТестНаСервере()
Сообщение = Новый СообщениеПользователю;
ТабДокИсходный = Новый ТабличныйДокумент;
ТабДокНовый = Новый ТабличныйДокумент;
ТабДокИсходный.Область(1,1).Текст = "ячейка1";
ТабДокИсходный.Область(1,3).Текст = "ячейка3";
ОбластьИсходная = ТабДокИсходный.Область(1,1,1,3);
ОбластьПриемник = ТабДокНовый.Область(1,1,1,5);
Попытка
ТабДокНовый.ВставитьОбласть(ОбластьИсходная, ОбластьПриемник);
Сообщение.Текст = "Получилось вставить 3 колоноки в 5";
Исключение
Сообщение.Текст = "Ошибка";
КонецПопытки;
Сообщение.Сообщить();
Возврат ТабДокНовый;
КонецФункции
&НаКлиенте
Процедура Тест(Команда)
ТД = ТестНаСервере();
ТД.Показать();
КонецПроцедуры
|
|
6
singlych
20.04.18
✎
16:58
|
Убери попытку и повтори.
|
|
7
1Садовник
20.04.18
✎
17:02
|
(6) убрал. В тонком метод молча отработал. Вот результат:
|
|
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой