Версия для печати темы (https://pro1c.org.ua/index.php?s=0944396442ffd926dded97c92dfa3e74&showtopic=42168)
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование управляемых форм 1С 8.2 _ ПолучитьИдентификатор() почему пишет: "Метод объекта не обнаружен (ПолучитьИдентификатор)"
Автор: Gigi 24.11.17, 13:30
Всем привет!
Никто не подскажет почему функция: ПолучитьИдентификатор() не работает на сервере на пример в процедуре в общем модуле..
Пришит: "Метод объекта не обнаружен (ПолучитьИдентификатор)"
Гууу ... этот клиент серверное ограничение ... как уже достало блин
Нет что бы команды РАБОТАЛИ ... работали ВЕЗДЕ и там и тут. Достало.
Ладно! Не буду...
Вот код из общего модуля
//........
МассивУдаляемыхСтрок= Новый Массив;
Для Каждого Строка Из ОбъектЮрЛицо.ТЧ_Показания Цикл
ТекСтрокаНомер=Строка.НомерСтроки;
ТекСтрокаИдент=Строка.ПолучитьИдентификатор(); //вот где пришит: "Метод объекта не обнаружен (ПолучитьИдентификатор)"
Если Сторка.Реквизит2=ложь Тогда
МассивУдаляемыхСтрок.Добавить(ТекСтрокаИдент);
КонецЕсли;
//........
КонецЕсли;
//........
Цель в том, что бы обозначить и загнать в массив строки табличной части для последующего удаления.
На клиенте все нормально работает. А на сервере стопориться на
Строка.ПолучитьИдентификатор()
не распознает... тормаз
Вообщем буду признателен ... опять вынужден искать решение и выходить на форум
Так что буду признателен!
Gigi @ Сегодня, 14:12
,
Дело в том, что метод
ПолучитьИдентификатор()
на сервере доступен.
По крайней мере в синтаксис помощнике так написано.
Но почему тогда не распознает и пишет не обнаружен ... зараза
Так что, большая просьба о помощи.
Автор: Vidocq05 24.11.17, 13:34
Gigi @ Сегодня, 14:30
,
Открыв синтакс-помощник я выяснил, что для табличной части объекта такого метода нет. И соответственно, логично предположить, что по этой причине и возникает ошибка.
Автор: Petre 24.11.17, 13:40
Gigi @ Сегодня, 13:30
,
Не имеет значение, клиент или сервер. Важен тип значения, в данном случае, Строка.
Телепатирую, что это - строка табличной части, которая не имеет такого метода.
А там, на клиенте, где у вас не ругается, это - элемент данных формы.
Автор: Vidocq05 24.11.17, 13:45
Цитата(Vidocq05 @ 24.11.17, 14:34)
что для табличной части объекта такого метода нет
Пардон. Для строки табличной части
Автор: Gigi 24.11.17, 13:55
Цитата(Petre @ 24.11.17, 14:40)
Не имеет значение, клиент или сервер. Важен тип значения, в данном случае, Строка.
Телепатирую, что это - строка табличной части, которая не имеет такого метода.
А там, на клиенте, где у вас не ругается, это - элемент данных формы.
Там где не ругается это ОБЪЕКТ ...
Вот в таком виде:
//........
МассивУдаляемыхСтрок= Новый Массив;
Для Каждого Строка Из Объект.ТЧ_Показания Цикл
ТекСтрокаНомер=Строка.НомерСтроки;
ТекСтрокаИдент=Строка.ПолучитьИдентификатор(); //Тут все нормально
Если Сторка.Реквизит2=ложь Тогда
МассивУдаляемыхСтрок.Добавить(ТекСтрокаИдент);
КонецЕсли;
//........
КонецЕсли;
//........
Т.е. абсолютно то же самое только в общем модуле объект табличной части нужно получить
//........
ОбъектЮрЛицо = РезультатПоиска.ПолучитьОбъект(); // т.е. тут объект ТЧ получен.
//........
МассивУдаляемыхСтрок= Новый Массив;
Для Каждого Строка Из ОбъектЮрЛицо.ТЧ_Показания Цикл
ТекСтрокаНомер=Строка.НомерСтроки;
ТекСтрокаИдент=Строка.ПолучитьИдентификатор(); //Но все стопориться на этой линии блин .. ругается
Если Сторка.Реквизит2=ложь Тогда
МассивУдаляемыхСтрок.Добавить(ТекСтрокаИдент);
КонецЕсли;
//........
КонецЕсли;
//........
Как решить проблему?
Автор: Petre 24.11.17, 14:04
Gigi @ Сегодня, 13:55
,
Курите данные формы.
Автор: Vidocq05 24.11.17, 14:19
Gigi @ Сегодня, 14:55
,
На клиенте поставьте точку останова напротив "ТекСтрокаНомер=Строка.НомерСтроки;" и запустите выполнение кода. Когда выполнение кода остановится на точке останова, выделите "Строка", нажмите на ней правой кнопкой мыши и выберите "Вычислите выражение". И напишите сюда какой имеет тип "Строка".
Автор: Gigi 24.11.17, 15:13
Цитата(Vidocq05 @ 24.11.17, 15:19)
На клиенте поставьте точку останова напротив "ТекСтрокаНомер=Строка.НомерСтроки;" и запустите выполнение кода. Когда выполнение кода остановится на точке останова, выделите "Строка", нажмите на ней правой кнопкой мыши и выберите "Вычислите выражение". И напишите сюда какой имеет тип "Строка".
Ща попробую...
Но вообще я в общем модуле построил так ... сперва создаются строки табличной части... все строки... и нужные и не нужные.
Потом нужно удалить не нужные. А потом сохранить/Провести документ с ТЧ.
Т.е. сохранял в конце.
Поэтому попробовал сохранить два раза в одной процедуре.
Сперва после создания всех строк ТЧ. И уже после удалять не нужные и потом второй раз сохранить.
Все равно не выходит.
Нарыл для теста еще команду:
Объект1 = ДанныеФормыВЗначение(ОбъектЮрЛицо, Тип("ДокументОбъект.ЮрЛица_Акты"));
Объект1.ВывестиСообщение(ОбъектЮрЛицо.ОбъектИмя);
Но как его для поставленной цели использовать
и нужна ли эта команда в данном случае не въезжаю
И все равно че то ругается при тесте
Ладно! Ща попробую как советуете .. потом продолжу тему
Gigi @ Сегодня, 15:33
,
Сделал как советуете
Цитата
Выражение: Строка
Значение: ДокументТабличнаяЧастьСтрока.ЮрЛица_Акты.ТЧ_Показания
Тип: ДокументТабличнаяЧастьСтрока.ЮрЛица_Акты.ТЧ_Показания
Вот что пишет результат "Вычислите выражение".
Gigi @ Сегодня, 15:46
,
Как решить проблему?
Гууу ... как надоело ... постоянно одно и то же ... куда не смотри везде стопор
Gigi @ Сегодня, 16:12
,
Если у кого соображения буду весьма ...
Автор: Petre 24.11.17, 15:51
Цитата(Gigi @ 24.11.17, 15:13)
Как решить проблему?
Какая стоит задача?
Автор: Vidocq05 24.11.17, 16:36
Цитата(Gigi @ 24.11.17, 16:13)
Выражение: Строка
Значение: ДокументТабличнаяЧастьСтрока.ЮрЛица_Акты.ТЧ_Показания
Тип: ДокументТабличнаяЧастьСтрока.ЮрЛица_Акты.ТЧ_Показания
Это на клиенте?
Цитата(Gigi @ 24.11.17, 16:13)
Поэтому попробовал сохранить два раза в одной процедуре.
Сперва после создания всех строк ТЧ. И уже после удалять не нужные и потом второй раз сохранить.
А почему не добавлять сразу только нужные.
Автор: logist 24.11.17, 17:06
Цитата(Gigi @ 24.11.17, 15:13)
как надоело ... постоянно одно и то же ... куда не смотри везде стопор
Бросьте это дело, и не мучайте себя и окружающих.
Автор: Batchir 24.11.17, 21:25
Каждый раз когда топикстартер начинает свой рассказ у меня звучит в голове песня 1С-ника Нуралиеву.
Это у меня одного так?
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua