УТ 11.5 Как передать по ОЛЕ таблицу значений на клиенте?

1. pentanom 25 03.12.23 13:38 Сейчас в теме
На сервере можно выполнить
	ТЗ = ValueFromStringInternal(СоединениеБД.ValueToStringInternal(ТЗвнутр));
где ТЗвнутр - таблица значений из другой базы. Чем можно заменить эту строку на клиенте? Хотел сделать просто
&НаСервере
Функция ПолучитьТЗ(ТЗвнутр)
	ТЗ = ValueFromStringInternal(СоединениеБД.ValueToStringInternal(ТЗвнутр));
	Возврат ТЗ
КонецФункции
но так не получается:
Ошибка при вызове метода контекста (ПолучитьТЗ)
{ВнешняяОбработка.ЗагрузкаЗУ.Форма.Форма.Форма(167)}: ТЗ = ПолучитьТЗ(ТЗвнутр);
{ВнешняяОбработка.ЗагрузкаЗУ.Форма.Форма.Форма(46)}: ВыполнитьОбработку(1, Элементы.Индикатор, Элементы.Обработано);
{mngcore/MessageBox.clf(4)}: Close(-100);
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'param':
форма: Элемент
имя: {http://v8.1c.ru/8.2/managed-application/modules}param
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'COMОбъект'
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. RustamZz 03.12.23 15:44 Сейчас в теме
(1) Обработку данных надо выполнять на сервере. Гонять бездумно объемную информация туда-сюда - плохая идея.
3. pentanom 25 03.12.23 18:02 Сейчас в теме
(2)Просто хотел выводить индикатор, а он выводится на клиенте.
4. RustamZz 03.12.23 18:07 Сейчас в теме
(3) Для индикатора не нужна, мне кажется, целая таблица значений
5. user1880116 03.12.23 20:42 Сейчас в теме
(1) Судя по ошибке, ты пытаешся передать на сервер COMОбъект в параметре функции. Даже любопытно, как ты себе представляешь как это должно работать.
6. pentanom 25 03.12.23 22:40 Сейчас в теме
(5)
(1) Судя по ошибке, ты пытаешся передать на сервер COMОбъект в параметре функции. Даже любопытно, как ты себе представляешь как это должно работать.
Честно говоря, никак. Если кто-то может подсказать как на клиенте можно из ТЗвнутр (COMОбъект) получить ТЗ (Таблица значений), подскажите.
7. user856012 13 04.12.23 00:12 Сейчас в теме
(6)
Если кто-то может подсказать как на клиенте можно из ТЗвнутр (COMОбъект) получить ТЗ (Таблица значений), подскажите.
Подсказываю: читайте Гоголя, "Мертвые души":
Видно, что повар руководствовался более каким-то вдохновеньем и клал первое, что попадалось под руку: стоял ли возле него перец – он сыпал перец, капуста ли попалась – совал капусту, пичкал молоко, ветчину, горох – словом, катай-валяй, было бы горячо, а вкус какой-нибудь, верно, выдет.
9. pentanom 25 04.12.23 10:05 Сейчас в теме
(7)В Comedy ткнуться не пытались?
10. user1880116 04.12.23 10:29 Сейчас в теме
(9) Там говорят, что мест нет. Говорят, как pentanom уволится, так с радостью на его позицию и возьмут.
12. user856012 13 04.12.23 12:41 Сейчас в теме
(10)
как pentanom уволится
Вряд ли отпустят: где они еще найдут человека, который для вывода индикатора (число!) непременно хочет передать таблицу значений, а для этого использовать COM-объект?

Это же уникальный стиль программирования: "Per aspera ad rectum".
17. pentanom 25 04.12.23 16:36 Сейчас в теме
(12)
человека, который для вывода индикатора (число!) непременно хочет передать таблицу значений, а для этого использовать COM-объект?
И откуда вы это взяли? Кто-то ляпнул, а вы за ним повторяете. Мне нужно в процессе обработки заполнять некоторую информацию из таблицы значений. Может так понятнее?
20. user856012 13 04.12.23 20:06 Сейчас в теме
(17)
И откуда вы это взяли? Кто-то ляпнул, а вы за ним повторяете.
А давайте посмотрим - кто именно?
Ошибка отображения типов:
Отсутствует отображение для типа 'COMОбъект'
И кто же этот "ляпатель" был был, ась?
Мне нужно в процессе обработки заполнять некоторую информацию из таблицы значений.
Ахха, вот только "таблица значений из другой базы", которую вы с (не)завидным упорством пытаетесь запихать в строку, причем внутреннюю!!!

Предвижу вопрос: "Нуичотакова?" А то, что еще со времен 7.7 результат ЗначениеВСтрокуВнутр() содержал внутренние идентификаторы объектов базы (то, что сейчас называется GUID), которые были начисто лишены всякого смысла за пределами данной базы! Так что попытки ее восстановить в текущей базе и получить какую-то информацию - заведомо бессмысленны.

Не верите? Ну и не надо, читайте:
Внимание! Строковое представление данных имеет специальный системный формат, использующий идентификацию данных внутри одной информационной базы. Рекомендуется использовать данную функцию только для обеспечения обратной функциональной совместимости с 1С:Предприятием 7.7
В источнике это даже выделено красным цветом... но на дятлов красный цвет, к сожалению, не действует.
21. pentanom 25 04.12.23 20:43 Сейчас в теме
(20)
И кто же этот "ляпатель" был был, ась?
См (4). (сейчас Рустемчик еще что-то выдаст).
(20)
Ахха, вот только "таблица значений из другой базы", которую вы с (не)завидным упорством пытаетесь запихать в строку, причем внутреннюю!!!
Никакого упорства нет. Это здесь с упорством хотят мне что-то приписать. А я просто задал ОДИН вопрос.
Если хотите, то могу ознакомить с задачей.
В базе УТ 10.3 есть РС, у которого одним из реквизитов является таблица значений сохраненная в хранилище значений. Теперь содержимое этого РС нужно перенести в базу УТ 11.5. Сделал обработку переноса, в которой главная процедура была на сервере. И все прекрасно работало. Но захотелось сделать визуализацию процесса переноса, но столкнулся с переносом этой таблицы значений. Если делать перенос без этой таблицы, то нужно просто главную процедуру выполнять на клиенте. А надо переносить и ее. Вот я и воткнулся на эту строку.
Спросил совета как обойти проблему - и тут посыпалось ...

Я понятно написал?
22. RustamZz 04.12.23 20:50 Сейчас в теме
(21) Не надо из-за этого напрягать клиента. Он может быть, например, во Владивостоке, а сервер в ж.пе мира. Из-за этого и динозавры вымерли, что пока сигнал идет от хвоста к голове, хвост уже съеден. А для визуализации котика, как в БП, показывай.
23. pentanom 25 04.12.23 20:54 Сейчас в теме
24. starik-2005 3046 05.12.23 08:03 Сейчас в теме
(22)
пока сигнал идет от хвоста к голове
Была тетка одна - любила про провода и сигналы рассказывать. Придумала слово "баг" и "дебаггер". И на столько она про провода, что самый в мире провод в честь ее назвали.

Грейс Мюррей Хоппер (Grace Murray Hopper) (умерла 1 января 1992) — один из пионеров программирования, математик. Контр-адмирал ВМФ США. По праву считается «бабушкой COBOL» и удостоена многочисленных наград за неоценимый вклад, внесенный в развитие этого языка программирования. Родилась 9 декабря 1906 года в Нью-Йорке. Родители, отец — Уолтер Флетчер Мюррей (Walter Fletcher Murray) и мать — Мэри Кэмпбел Хорн Мюррей (Mary Campbell Horne Murray).
8. Oldsad 04.12.23 03:06 Сейчас в теме
(6) Выполняйте
"стрИсточник = СоединениеБД.ValueToStringInternal(ТЗвнутр)" на клиенте
"ЗначениеИзСтрокиВнутр(стрИсточник) " на сервере
pentanom; +1 Ответить
11. pentanom 25 04.12.23 12:22 Сейчас в теме
(8)
(6) Выполняйте
"стрИсточник = СоединениеБД.ValueToStringInternal(ТЗвнутр)" на клиенте
"ЗначениеИзСтрокиВнутр(стрИсточник) " на сервере
Мне кажется, что я примерно это и делаю
&НаКлиенте
Процедура ...
.......		
		Если НЕ ТЗвнутр = Неопределено Тогда
			ТЗврем = СоединениеБД.ValueToStringInternal(ТЗвнутр);
			ТЗ = ПолучитьТЗ(ТЗврем);
			ДанныеСтроки.Вставить("ТЗ",ТЗ);
		Иначе
			ДанныеСтроки.Вставить("ТЗ",Неопределено);
		КонецЕсли;
		НайтиСоздатьЗУ(ДанныеСтроки);
КонецЦикла;
КонецПроцедуры

&НаСервере
Функция ПолучитьТЗ(ТЗврем)
	Возврат ЗначениеИзСтрокиВнутр(ТЗврем);
КонецФункции
Показать
13. user1880116 04.12.23 13:04 Сейчас в теме
(11)
Мне кажется, что я
Возвращаешь на клиента таблицу значений, которая там в принципе существовать не может. И совершенно без разницы, где выполняется твоё ЗначениеИзСтрокиВнутр.
16. pentanom 25 04.12.23 16:31 Сейчас в теме
(13)
Возвращаешь на клиента таблицу значений, которая там в принципе существовать не может. И совершенно без разницы, где выполняется твоё ЗначениеИзСтрокиВнутр.
Спасибо за подсказку. В этом направлении мне и нужно смотреть.
14. soft_wind 04.12.23 13:42 Сейчас в теме
(11) Что-же, вы все, велосипед изобретаете? возьмите готовую обработку, с индикатором
и сделайте свою обработку по подобию!
(пример можно взять из консоли запросоа! любая продвинутая консоль имеет функционал обработки результата, а он соответственно Индикатор процесса обработки)
15. user1880116 04.12.23 15:22 Сейчас в теме
(14)
вы все, велосипед изобретаете?
Ильдар Ривгатович тут для себя целый новый мир открывает, а ты про велосипед...
18. pentanom 25 04.12.23 16:42 Сейчас в теме
(14)
пример можно взять из консоли запросоа!
У меня есть три варианта консоли запросов, но в них индикаторов нет:( А вы про какую? Ссылку можно получить?
19. soft_wind 04.12.23 17:00 Сейчас в теме
(18) зайдите с другого края, попробуйте работать не с ТЗ а с коллекцией формы
(та же ТЗ но как реквизит формы)
вот она и будет вам доступана и наклиенте и насервере

(прямо так и хочется простенький примерчик обработки ТЗ с индикатором написать)
25. pentanom 25 05.12.23 10:22 Сейчас в теме
У меня все получилось! Всем спасибо!
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот