Управляемые формы. запросы. #635206


#0 by Rastas_
Доброго времени суток! Прошу помощи! не могу разобраться с механизмом работы. Если демо версия УТ 11. Сделал запрос к дописанному регистру сведений. запрос через консоль запросов возвращает верный результат, а если тот же запрос вызвать в модуле форме в отдельной процедуре с указанием &НаСервере возвращает пустое значение. В чем может быть проблема и как можно самому помониторить ошибку????
#1 by ДенисЧ
Проблема, как всегда, в одном и том же...
#2 by Rastas_
В чем же?
#3 by Buster007
увы(
#4 by Rastas_
а реальную помощь кто-то может оказать??
#5 by Buster007
параметры в запросе устанавливаются?
#6 by GLazNik
Процедурку чтоль покажи... если конечно она не очень большая...
#7 by Rastas_
Для проверки вырезал все параметры.
#8 by Buster007
экстрасенсы в отпуске...
#9 by Rastas_
&НаСервере
#10 by GLazNik
и почему решили что оно не работает?
#11 by Rastas_
Выборка.Количество; Возвращает 0, когда как этот же запрос через консоль запросов возвращает 1 строку
#12 by Rastas_
завел произвольный регистр сведений подчиненный регистратору, не периодический. в него решил программно сделать запись. Получилось. а вот запросов через документ данные уже не могу вытащить.
#13 by GLazNik
а это точна вся процедура? отсутствие скобки наводит на мысль, что перед она подверглась правке с вашей стороны
#14 by Infsams654
Процедура ПриЗаписиНаСервере(... Процедура-обработчик вызывается после записи объекта (после события ПриЗаписи объекта) в базу данных, но до окончания транзакции записи.
#15 by Rastas_
комментарии вырезал. это вся процедура.
#16 by Rastas_
переставил процедуру в &НаСервере Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи) Та же беда.
#17 by GLazNik
точно точно? какой может быть комментарий тут: Запрос.Выполнить). ну если повторно записываем справочник, то запись то уже есть в базе... так что
#18 by Goggy
Создай свою, не жадничай.
#19 by Rastas_
создал. без результатов...
#20 by GLazNik
вроде все нормально. а значит что-то ты не договариваешь.
#21 by Rastas_
создай регистр сведений подчиненный регистратору! в регистраторах указать Заказ поставщику. сделать несколько измерений пару ресурсов. чтобы данные брались из доументам. в момент записи документа выполнять поиск записей в регистре если записей нет то выполнить добавление если есть то скопировать записи(чтобы не было замещения) и выполнить запись в регистр сведений.
#22 by Rastas_
элементарная задача в принципе, но вот вытащить данные нивкакую не выходит.
#23 by Infsams654
покажи всю процедуру с параметрами
#24 by Rastas_
&НаСервере
#25 by GLazNik
Да что ж такое то... ну не рабочий код жеж Если Выборка.Количество>0 тогда Для каждого строкаВыборка из Выборка цикл Иначе
#26 by Rastas_
тут нужно разобрать принцип. Вы можете помочь имея данный код?
#27 by Rastas_
я сейчас проверяю именно им
#28 by Rastas_
перенес в процедуру после записи. вы были правы. если объект новый, то запись выдаст ошибку!
#29 by GLazNik
а вообще вся логика нарушена... если у тебя регистр подчинен регистратору, то и пиши движения в обработке проведения
#30 by Rastas_
хорошо, перенесу в проведение!
#31 by GLazNik
переносить не надо... там все работает несколько иначе... примерно так: ЗаписьДвижения.<твои измерения и ресурсы> Все
#32 by Rastas_
К сожалению не сработало...
#33 by Rastas_
Ап!
#34 by Rastas_
Хэлп!!
#35 by Reset
Я правильно понял, что ТС просит найти ошибку в своем коде, он его не выкладывает, а выкладывает дикие вырезки с дикими же (синтаксическими) ошибками?
#36 by Reset
Фантасмагория какая-то.
#37 by Rastas_
Не совсем! ошибок в коде я не прошу найти! меня интересует механизм. Есть регистр Сведений, к которому не выполняется запрос. почему он может не выполняться?
#38 by Rastas_
#39 by Rastas_
полный код трех связных процедур. но мне кажется это не является необходимым!
#40 by Reset
"ошибок в коде я не прошу найти" "почему он может не выполняться?" - из-за ошибок в коде, кэп.
#41 by Reset
Что такое мОбъект в ПроверитьИВнестиИзмененияВИсториюИзмененияСтатусов и почему по его ссылке долджны быть записи в регистре?
#42 by Rastas_
&НаСервере КонецПроцедуры
#43 by Rastas_
Вызывается в документе ЗаказПоставщику.
#44 by Reset
*почему по его ссылке долджны быть записи в регистре? ЗаписатьИсториюИзмененияСтатусов, к примеру, не заполняет Регистратор вообще (по моему, должно выдавать ошибку при записи)
#45 by Reset
Если, конечно, кто-то умный не создал измерение с именем "регистратор"
#46 by Rastas_
не создал.
#47 by Reset
Тогда, вероятно, ЕД_ОтветственныеЛица - подчинен регистратору, а ЗаписатьИсториюИзмененияСтатусов никогда не добавляла записи в него.
#48 by Reset
*почему по его ссылке должны быть записи в регистре?
#49 by Reset
Короче, запрос в ПолучитьИсториюИзмененияСтатусов корректный. Правильный ответ в - проверяте параметры.
#50 by Rastas_
я уже запрос без параметров сделал!! всё равно не возвращает данные, хотя они есть!
#51 by Reset
Как определил, что ни есть?
#52 by Reset
что они*
#53 by Rastas_
консолью запросов. и напрямую открыв регистр сведений.
#54 by Rastas_
Платформа 1С:Предприятие 8.2 (8.2.16.352)
#55 by Reset
Дает разный результат в консоли и в коде конфигурации?
#56 by Cunni
может я чушь сморожу, но вчера было нечто похожее, с одной только оговоркой, я результат смотрел уже на __выходе__ из серверной процедуры. Результат - таблица значений, которая доступна только на сервере, в клиент возвращалось 0.
#57 by Reset
Не чушь, хотя у него процедуры все три &НаСервере
#58 by Rastas_
Именно об этом и говорю, что на сервере и через консоль выдает разные результаты.
#59 by Rastas_
сейчас сделал несколько записей с разными документами. Через запрос в процедуре записи в регистре 2, а по данным консоли перед проведением документа записей 3. т.е. отсутствует записи текущего документа.
#60 by Rastas_
отсутствуют*
#61 by Reset
Очевидно, они удаляются перед проведением
#62 by Reset
Делать движения на основании своих движений - хреновая идея
#63 by Rastas_
ну а иначе рискую потерять данные. движения копируются в Тч там обрабатываются и просто делается новая запись. т.к. расчитываю на маленький объем данных то не критично.
#64 by Rastas_
час отладки и решение найдено!
#65 by GLazNik
запретить редактировать проведенный документ? или по крайней мере менять реквизиты отвечающие за этот регистр? не?
#66 by Aprobator
правильно делают - нефиг им делать в ПриЗаписи.
#67 by Aprobator
к .
#68 by Rastas_
вся фишка в хитром механизме типовом! ПроведениеСервер.ЗаписатьНаборыЗаписей(ЭтотОбъект); добавил три строчки и всё. Если Объект.Движения.Найти("ЕД_ОтветственныеЛица") <> Неопределено Тогда Если нельзя поместить Код в при записи, то каким образом я могу получить измененный реквизит объекта???
#69 by GLazNik
По моему вы выбрали не верный путь решение вашей задачи. И сейчас пытаетесь изобрести велосипед с квадратными колесами. Что конкретно вам нужно? какая стоит задача?
#70 by Rastas_
я хочу в регистр сведений сохранять измененный реквизит. и вести историю изменения. Собственно, что и сделал.)
#71 by Rastas_
Glaznik, так будет предложение в логику работы??))) может твоё решение будет качественней?
#72 by Aprobator
нефига не понял - версирование что ли нужно? Только самобытное?
#73 by Goggy
Методологи фирмы 1С НАСТОЯТЕЛЬНО не рекомендует использовать запросы в модулях форм ваашпе. Раз такая гулянка пошла,попробуй перенеси сам запрос в ф-цию в модуле менеджера с передачей параметров и скажи результат.
#74 by Aprobator
да ладно - динамический список и тот запрос юзает.
#75 by Aprobator
впрочем запрос запросу рознь.
#76 by hhhh
вот это твое "выполнять поиск записей в регистре если записей нет то выполнить добавление если есть то скопировать записи(чтобы не было замещения) " - это полный бред. В регистрах сведений в 1С нет update, поэтому нет смысла копировать записи, там по-любому делается через удаление старых записей и создание новых. в общем выбрось всё это на помойку. И не парься.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С