Не отрабатывает процедура

1. dtepeev 01.07.24 10:42 Сейчас в теме
Задача заключается в том, чтобы при нажатии на строку динСписка на форме выводило данные по этой строке в таблице значение на этой же форме. Для этого использовал событие ПриАктивизацииСТроки. Посмотрел в отладчике, серверная процедура вообще не отрабатывает.

Вот мой код:
&НаСервере
Процедура РасшФормы_СписокРасширенныйПоискНоменклатураПриАктивизацииСт­рокиПослеНаСервере(ТекущаяСтрока)

ЗапросДляТЗ = Новый Запрос;
ЗапросДляТЗ.Текст =
"ВЫБРАТЬ
| ТоварыКОтгрузкеОстатки.Номенклатура КАК Номенклатура,
| ТоварыКОтгрузкеОстатки.Характеристика КАК Характеристика,
| ТоварыКОтгрузкеОстатки.Склад КАК Склад,
| ТоварыКОтгрузкеОстатки.КОтгрузкеОстаток КАК КОтгрузкеОстаток
|ПОМЕСТИТЬ ТоварыКОтгрузке
|ИЗ
| РегистрНакопления.ТоварыКОтгрузке.Остатки КАК ТоварыКОтгрузкеОстатки
|;
|
|////////////////////////////////////////////////////////////­////////////////////
|ВЫБРАТЬ
| СвободныеОстаткиОстатки.Номенклатура КАК Номенклатура,
| СвободныеОстаткиОстатки.ВНаличииОстаток КАК ВНаличииОстаток,
| СвободныеОстаткиОстатки.ВРезервеСоСкладаОстаток КАК ВРезервеСоСкладаОстаток
|ПОМЕСТИТЬ СвободныеОстатки
|ИЗ
| РегистрНакопления.СвободныеОстатки.Остатки КАК СвободныеОстаткиОстатки
|;
|
|////////////////////////////////////////////////////////////­////////////////////
|ВЫБРАТЬ
| ТоварыКОтгрузке.Номенклатура КАК Номенклатура,
| ТоварыКОтгрузке.Склад КАК Склад,
| ТоварыКОтгрузке.Характеристика КАК Характеристика,
| СвободныеОстатки.ВНаличииОстаток КАК ВНаличии,
| СвободныеОстатки.ВРезервеСоСкладаОстаток КАК ВРезерве,
| ТоварыКОтгрузке.КОтгрузкеОстаток КАК Отгружается,
| СвободныеОстатки.ВНаличииОстаток - СвободныеОстатки.ВРезервеСоСкладаОстаток - ТоварыКОтгрузке.КОтгрузкеОстаток КАК Доступно
|ИЗ
| ТоварыКОтгрузке КАК ТоварыКОтгрузке
| ЛЕВОЕ СОЕДИНЕНИЕ СвободныеОстатки КАК СвободныеОстатки
| ПО ТоварыКОтгрузке.Номенклатура = СвободныеОстатки.Номенклатура
|ГДЕ
| ТоварыКОтгрузке.Номенклатура.Ссылка = &ТекущаяСтрока";

ЗапросДляТЗ.УстановитьПараметр("ТекущаяСтрока", ТекущаяСтрока);
РезультатДляТЗ = ЗапросДляТЗ.Выполнить().Выгрузить();
ТаблицаСтроки.Загрузить(РезультатДляТЗ);

КонецПроцедуры

&НаКлиенте
Процедура РасшФормы_СписокРасширенныйПоискНоменклатураПриАктивизацииСт­рокиПосле(Элемент)

ТекущаяСтрока = Элементы.СписокРасширенныйПоискНоменклатура.ТекущаяСтрока;
Если ТекущаяСтрока = Неопределено Тогда
Возврат;
КонецЕсли;

РасшФормы_СписокРасширенныйПоискНоменклатураПриАктивизацииСт­рокиПослеНаСервере(ТекущаяСтрока);
КонецПроцедуры
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
14. SlavaKron 01.07.24 12:12 Сейчас в теме
(1) 1. Серверный вызов должен быть бесконтекстный.
2. Убедитесь, что с тем списком работаете – там 2 списка на форме.
15. dtepeev 01.07.24 12:14 Сейчас в теме
2. TormDV 01.07.24 11:14 Сейчас в теме
Для начала можно попробовать
ЗапросДляТЗ.УстановитьПараметр("ТекущаяСтрока", ТекущаяСтрока.Ссылка);
А то Вы ссылку к строке табличнйо части или чему-то похожему приравниваете.
4. dtepeev 01.07.24 11:18 Сейчас в теме
3. LeeAreHim 01.07.24 11:18 Сейчас в теме
ИЛИ
ТекущаяСтрока = Элементы.СписокРасширенныйПоискНоменклатура.ТекущаяСтрока;
попробуйте вместо ТекущаяСтрока использовать ТекущиеДанные, ну и правки по параметрам запроса.
5. Lenten 25 01.07.24 11:23 Сейчас в теме
>Посмотрел в отладчике, серверная процедура вообще не отрабатывает

а у вас отладчик на сервере включен?
6. dtepeev 01.07.24 11:23 Сейчас в теме
(5)Вот в этом и заключается мой вопрос)
7. Lenten 25 01.07.24 11:25 Сейчас в теме
(6)вот что пишут в поисковиках


Если не работает отладка в 1С 8.2 и 8.3
Остановить службу 1C:Enterprise 8.2 Server Agent.
Запустить редактор системного реестра. Чтобы открыть редактор реестра, необходимо нажать Windows + R (или Пуск-Выполнить) и ввести в командную строку regedit.
Найти ветку реестра [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\1C:Enterprise 8.2 Server Agent\].
Находим свойство «ImagePath»= , добавляем в строку «-debug».
Записываем и запускаем службу.
Пример:
До включения:
«»C:\Program Files (x86)\1cv82\8.2.18.109\bin\ragent.exe» -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d «C:\Program Files (x86)\1cv82\srvinfo»»
После включения отладки:
«»C:\Program Files (x86)\1cv82\8.2.18.109\bin\ragent.exe» -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d «C:\Program Files (x86)\1cv82\srvinfo» -debug»
8. dtepeev 01.07.24 11:42 Сейчас в теме
(7)Серверная отладка подключена
Прикрепленные файлы:
9. dtepeev 01.07.24 11:44 Сейчас в теме
10. Lenten 25 01.07.24 11:45 Сейчас в теме
(9)>Не отрабатывает процедура


так если вы ставите в процедуре точку останова, отладка в нее заходит?
11. dtepeev 01.07.24 11:49 Сейчас в теме
(10)Да. ПОлучается проблема в другом?
12. Lenten 25 01.07.24 11:51 Сейчас в теме
(11)в переменной РезультатДляТЗ данные верные? если в отладке смотреть
13. Lenten 25 01.07.24 11:59 Сейчас в теме
(11)

ЗапросДляТЗ.УстановитьПараметр("ТекущаяСтрока", ТекущаяСтрока);
РезультатДляТЗ = ЗапросДляТЗ.Выполнить().Выгрузить();
ТаблицаСтроки.Загрузить(РезультатДляТЗ);

ЗначениеВРеквизитФормы(ТаблицаСтроки, "ТаблицаСтроки")


еще добавьте
16. dtepeev 01.07.24 12:14 Сейчас в теме
(13)
ЗначениеВРеквизитФормы(ТаблицаСтроки)
Ошибка при вызове метода контекста (ЗначениеВРеквизитФормы)
17. Lenten 25 01.07.24 12:17 Сейчас в теме
(16)ЗначениеВРеквизитФормы(ТаблицаСтроки, "ТаблицаСтроки")
18. dtepeev 01.07.24 12:20 Сейчас в теме
(17)Недопустимое значение параметра (параметр номер '2')
19. Lenten 25 01.07.24 12:25 Сейчас в теме
(18)ЗначениеВРеквизитФормы(<Значение>, <ИмяРеквизита>)

а у вас имя таблицы на форме какое? ТаблицаСтроки?
21. Lenten 25 01.07.24 12:30 Сейчас в теме
(18)хотя я ща на своей базе попробовал строку в таб часть записать, там и без ЗначениеВРеквизитФормы добавляет.


&НаСервере
Процедура Команда1НаСервере()

ТабЗнач = новый ТаблицаЗначений;
ТабЗнач.Колонки.Добавить("Реквизит1");

новаяСтрока = ТабЗнач.Добавить();

новаяСтрока.Реквизит1 = 123;

Объект.ТабличнаяЧасть1.Загрузить(ТабЗнач);

КонецПроцедуры

&НаКлиенте
Процедура Команда11(Команда)
Команда1НаСервере();
КонецПроцедуры






у вас выходит только Объект.ТаблицаСтроки.Загрузить(РезультатДляТЗ); стоит поменять


ну и да. надо посмотреть запрос данные то выводит
22. dtepeev 01.07.24 12:34 Сейчас в теме
(21)Спасибо за помощь, все заработало)
20. SlavaKron 01.07.24 12:29 Сейчас в теме
Банально, по данной номенклатуре нет остатков к отгрузке. (запрос хоть и кривой, но рабочий).
Оставьте свое сообщение

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