Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

ПолучитьОбъект() не работает

ПолучитьОбъект() не работает
Я
   ksenod
 
07.06.19 - 09:34
целый день мучений в поисках причины, началось все с Програмное создание характеристик ут11.4

Код вида

[code]
&НаСервере
Процедура Команда1(Команда)
    НайденыйОбъект=Справочники.Номенклатура.НайтиПоНаименованию("Набор пиратов в коробке 46,5*12*23,5");
    РедОбъект= НайденыйОбъект.ПолучитьОбъект();
    РедОбъект.Артикул = "неуд";
    Попытка
        РедОбъект.Записать();
    Исключение
        ОбщегоНазначенияКлиентСервер.СообщитьПользователю(КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
    КонецПопытки;
[/code]
Ничего не делает, если попытаться его отладить на клиенте(толстом) то он падает на ПолучитьОбъект(), с ошибкой При подписке ЗаписатьВерсиюОбъекта на событие ПередЗаписью произошла ошибка. Обработчик события не найден.
Но этот обработчик есть.
 
 
   Черный маклер
 
1 - 07.06.19 - 09:36
а если твое НайтиПоНаименованию возвращает Неопределено ?
   mpei
 
2 - 07.06.19 - 09:36
НайденыйОбъект что возвращает?
   ksenod
 
3 - 07.06.19 - 09:36
(1) Отладчиком посмотрел что там все хорошо. Код падает дальше.
   jsmith82
 
4 - 07.06.19 - 09:37
(1) тогда уж пустую ссылку
   eTmy
 
5 - 07.06.19 - 09:37
НайтиПоНаименованию("Набор пиратов в коробке 46,5*12*23,5");

Это пять
   jsmith82
 
6 - 07.06.19 - 09:37
на тонком клиенте отлаживай
   mpei
 
7 - 07.06.19 - 09:38
(3) что хорошо? ссылка?
   wowik
 
8 - 07.06.19 - 09:39
Если ЗначениеЗаполнено(НайденыйОбъект)...  наше все)
   ksenod
 
9 - 07.06.19 - 09:39
(7) https://ibb.co/zbtmx65 (5) Это просто отладка, в коде такой дичи не будет (6) Так не доступен ПолучитьОбьект, если не ошибаюсь
   mpei
 
10 - 07.06.19 - 09:42
(9) вроде все хорошо должно быть попробуй (6)
   eTmy
 
11 - 07.06.19 - 09:45
В тонком клиенте, в серверной процедуре
   dezss
 
12 - 07.06.19 - 09:47
(9) читай и впитывай про клиентский и серверный контекст
https://xn----1-bedvffifm4g.xn--p1ai/news/2017-03-09-how-server-call-works/
   mpei
 
13 - 07.06.19 - 09:49
(12) и причем тут это? у него стоит &НаСервере
   sqr4
 
14 - 07.06.19 - 09:51
(1) оно бы уже тут вальнулось 
 РедОбъект.Артикул = "неуд";
   Cyberhawk
 
15 - 07.06.19 - 09:51
(13) В толстом клиенте пади делает, вот и ошибка
   dezss
 
16 - 07.06.19 - 09:52
(13) согласен, не обратил внимания.
Странно, что падает на ПолучитьОбъект().
   mpei
 
17 - 07.06.19 - 09:52
(15) ага выше написал
   Cyberhawk
 
18 - 07.06.19 - 09:53
У автора проблемы с логикой просто
   ksenod
 
19 - 07.06.19 - 09:56
(12) (13) (14) Извиняюсь если ввел в заблуждение, Смотрел в переменную НаКлиенте, сам код ничего не делает в том виде как он указан в 1 посте. (18) Не стоит смешивать логику и знания.
   ksenod
 
20 - 07.06.19 - 09:56
(11) Сейчас попробую
   Cyberhawk
 
21 - 07.06.19 - 09:57
(19) "Не стоит смешивать логику и знания" // Я и не смешиваю, а сужу по твоему утверждению: "Ничего не делает".
   ksenod
 
22 - 07.06.19 - 10:00
(21) Пожалуйста, покиньте данную ветку форума.
   Cyberhawk
 
23 - 07.06.19 - 10:02
(22) Желание повластвовать в ответ на критику / правду говорит о неадекватном отношении к оной
   ksenod
 
24 - 07.06.19 - 10:05
(23) Если есть желание пообщаться создайте свою ветку форума с пометкой флуд, я готов присоединиться не стоит флудить в этой.
   Cyberhawk
 
25 - 07.06.19 - 10:09
(24) Ты что-то напутал, все только по делу
   bootini
 
26 - 07.06.19 - 11:18
(0) У тебя же ругается на подпиську, вот и ищи подпиську на событие.
   NUser
 
27 - 07.06.19 - 11:25
(5) В каком смысле?
   ksenod
 
28 - 07.06.19 - 11:29
(26) Она есть, с ней все хорошо. Просто не отрабатывает &НаКлиенте (27) Плохой тон зашивать такое в код.
   shuhard
 
29 - 07.06.19 - 11:36
(28)[ Она есть, с ней все хорошо. Просто не отрабатывает &НаКлиенте]
на клиенте нет  ПолучитьОбъект()
т.е. весь топик пурга
   singlych
 
30 - 07.06.19 - 12:08
Ну епрст.
Обработчик команды оставить НаКлиенте. Из него вызвать процедуру НаСервере, в ней все это НайтиПоНаименованию, ПолучитьОбъект и т.п. Проверить, что обработчик подписки в серверном модуле.
 
 
   ksenod
 
31 - 07.06.19 - 12:24
(30) Спасибо большое, вроде бы разобрался.

Заработало так:

НаКлиенте вызываю функцию

НаСервере Записываю переменную

Вопрос, почему я не мог по кнопке сразу вызвать функцию на сервере?(точнее она не исполнялась)?
Ушел изучать  (12)
   dezss
 
32 - 07.06.19 - 12:25
(31) Потому что событие происходит на клиенте, сервер о нем ничего не знает.
Кнопка же не на сервере.

Поэтому обработка нажатия кнопки сперва идет на клиенте, а оттуда уже можно сервер вызвать.
   VladZ
 
33 - 07.06.19 - 12:29
(0) Правило №1: Прежде чем что-то делать - прочитайте инструкцию.

В программировании вариант: "Бери лопату, кидай дальше. Пока летит - отдыхай" не работает. Тут нужно думать.
И нужно иметь какую-то базу. Без базы ты будешь как слепой котенок в трех соснах.
   eTmy
 
34 - 07.06.19 - 13:33
Я рад что всё закончилось хорошо!
   DrZombi
 
35 - 07.06.19 - 13:38
(24) Приведи свой код в порядок, и все проблемы перестанут возникать.
Сервер слева, Клиент справа :)
   DrZombi
 
36 - 07.06.19 - 13:39
(31) Разработчики 1С так реализовали, ответ прост, так же как ваши проблемы.
..Вселенная не вертится вокруг вас ;)...
   Вася Теркин
 
37 - 07.06.19 - 13:44
(34) Че закончилось? Пятница в разгаре, а клиент ушел. И кто теперь нас будет развлекать?
   Вася Теркин
 
38 - 07.06.19 - 13:44
(36) Нифига, вселенная мисты вокруг таких как он и вертится.
Эх вы...


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