Запуск команды на клиенте

Версия для печатиPDF-версия

Платформа:

Добрый день. Подскажите, пожалуйста, из клиентской процедуры вызывается серверная, в которой выполняется запрос получения детальных записей из регистра накопления, потом должна заполниться таблица документа по данным регистра. Режим работы программы серверный. По команде идет запрос к клиентской процедуре и потом на конец процедуры, а сам запрос не выполняется, т.е. при отладке из предприятия переходит на точку останова а потом на конец процедуры.

Листинг обработки команды

Отладка сервера подключена? Меню Отладка - Подключение. 

Да, подключена

А клиент и сервер на одной машине или на разных?

На одной.

Если есть доступ к реестру windows, посмотрите значение параметра ImagePath в ветке [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\1C:Enterprise 8.3 Server Agent].

Вот что выдает

Интересует значение ImagePath. На картинке не полностью видно. Есть ли там ключ "-debug"?

Вот полностью строка   

Мне кажется это какой-то глюк после обновления платформы, потому что и в файловом режиме, до этого все отлично работало, а теперь не работает ((

Добавьте в конец строки через пробел -debug. После этого перезапустите службу сервера 1С. И проверьте будет ли работать отладка.

А какая сейчас версия платформы?

8.3.6.2152

Так ведь в других документах в таких же случаях отладка идет

Тогда точно полтергейст.

А если в самой серверной процедуре точку останова поставить, тоже не останавливается?

а он до неё не доходит

Вот например файловый вариант, работал прекрасно до обновления платформы, теперь не заполняет таблицу если задаешь пробу

&НаСервере
Процедура ЗаполнитьНаСервере()
Если Объект.Проба.Пустая() Тогда
Запрос = Новый Запрос;
Запрос.Текст = 
"ВЫБРАТЬ
| СкупленныеТоварыОстатки.Проба,
| СкупленныеТоварыОстатки.Склад,
| СкупленныеТоварыОстатки.Статус,
| СкупленныеТоварыОстатки.НомерБилета,
| СкупленныеТоварыОстатки.ВесОстаток КАК Вес,
| СкупленныеТоварыОстатки.СуммаОстаток КАК Сумма
|ИЗ
| РегистрНакопления.СкупленныеТовары.Остатки КАК СкупленныеТоварыОстатки
|ГДЕ
| СкупленныеТоварыОстатки.ВесОстаток > 0
| И СкупленныеТоварыОстатки.Склад = &Склад";
 
Запрос.УстановитьПараметр("Склад", Объект.СкладОтправитель);
 
 
РезультатЗапроса = Запрос.Выполнить();
 
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
 
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
СтрокаТЧ = Объект.Передача.Добавить();
СтрокаТЧ.СкупочныйБилет = ВыборкаДетальныеЗаписи.НомерБилета;
СтрокаТЧ.Проба = ВыборкаДетальныеЗаписи.Проба;
СтрокаТЧ.Вес = ВыборкаДетальныеЗаписи.Вес;
СтрокаТЧ.Сумма = ВыборкаДетальныеЗаписи.Сумма;
СтрокаТЧ.Цена = ВыборкаДетальныеЗаписи.Сумма/ВыборкаДетальныеЗаписи.Вес;
 
КонецЦикла;
 
Иначе
 
Запрос = Новый Запрос;
Запрос.Текст = 
"ВЫБРАТЬ
| СкупленныеТоварыОстатки.Проба,
| СкупленныеТоварыОстатки.Склад,
| СкупленныеТоварыОстатки.Статус,
| СкупленныеТоварыОстатки.НомерБилета,
| СкупленныеТоварыОстатки.ВесОстаток КАК Вес,
| СкупленныеТоварыОстатки.СуммаОстаток КАК Сумма
|ИЗ
| РегистрНакопления.СкупленныеТовары.Остатки(
| ,
| Проба В
| (ВЫБРАТЬ
| ПередачаСкупленныхТоваров.Проба
| ИЗ
| Документ.ПередачаСкупленныхТоваров КАК ПередачаСкупленныхТоваров
| ГДЕ
| ПередачаСкупленныхТоваров.Ссылка = &Ссылка)) КАК СкупленныеТоварыОстатки
|ГДЕ
| СкупленныеТоварыОстатки.ВесОстаток > 0
| И СкупленныеТоварыОстатки.Склад = &Склад";
 
Запрос.УстановитьПараметр("Склад", Объект.СкладОтправитель);
Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка);
 
РезультатЗапроса = Запрос.Выполнить();
 
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
 
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
СтрокаТЧ = Объект.Передача.Добавить();
СтрокаТЧ.СкупочныйБилет = ВыборкаДетальныеЗаписи.НомерБилета;
СтрокаТЧ.Проба = ВыборкаДетальныеЗаписи.Проба;
СтрокаТЧ.Вес = ВыборкаДетальныеЗаписи.Вес;
СтрокаТЧ.Сумма = ВыборкаДетальныеЗаписи.Сумма;
СтрокаТЧ.Цена = ВыборкаДетальныеЗаписи.Сумма/ВыборкаДетальныеЗаписи.Вес;
 
КонецЦикла;
КонецЕсли;
 
КонецПроцедуры
 
&НаКлиенте
Процедура Заполнить(Команда)
Объект.Передача.Очистить();
ЗаполнитьНаСервере();
КонецПроцедуры
 

Код-то должен отрабатывать.

А в консоли запросов проверяли запрос?

Да, он дает пустые результаты

Во-первых, почему в запросе просто не написать:

| Проба = &Проба

и

Запрос.УстановитьПараметр("Проба", Объект.Проба); ?

Во-вторых, чем должна заполняться таблица, если результат запроса пустой?

Сейчас попробую так пробу написать

Ура, получилось! Спасибо, Алексей! Потом буду в серверном проверять, сейчас туда войти не могу, наверное, старший админ там ))

Рад помочь)