|
http-сервис. Запрос списка документов контрагента | ☑ | ||
---|---|---|---|---|
0
bulkinsan
27.08.15
✎
00:22
|
Приветствую умнейших. Разбираю http- сервисы. Но вот проблема, не могу получить запросом список документов. Сервис работает проверено на другом методе, да и отладчиком спокойно пробегает по коду. передаю параметризированый сегмент в тело запрос. Это же запрос работает в обработке при подключении напрямую к базе. НО не работает в методе сервиса, понять не могу. ПРосто пустой результат. Собственно накодил:
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Чеки.Номер, | Чеки.Дата КАК Дата, | Чеки.Ответственный |ИЗ | Документ.Чеки КАК Чеки |ГДЕ | Чеки.Контрагент = &Контрагент | |УПОРЯДОЧИТЬ ПО | Дата УБЫВ"; Запрос.УстановитьПараметр("Контрагент", Контрагент); |
|||
1
bulkinsan
27.08.15
✎
00:24
|
может как-то расшарить документ иль как?
|
|||
2
PaulBC
27.08.15
✎
02:30
|
Покажи весь текст метода. Вообще Запрос - по умолчанию параметр метода сервиса, в котором передается HTTPСервисЗапрос, а своим Запрос = Новый Запрос ты его переопределяешь.
|
|||
3
bulkinsan
27.08.15
✎
09:21
|
(2) Тело функции
Контрагент = Запрос.ПараметрыURL.Получить("name"); Ответ = Новый HTTPСервисОтвет(200); Если Контрагент = "" Тогда Ответ.УстановитьТелоИзСтроки("Не верный контрагент"); Возврат Ответ; КонецЕсли; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Чеки.Номер, | Чеки.Дата КАК Дата, | Чеки.Ответственный |ИЗ | Документ.Чеки КАК Чеки |ГДЕ | Чеки.Контрагент = &Контрагент | |УПОРЯДОЧИТЬ ПО | Дата УБЫВ"; Запрос.УстановитьПараметр("Контрагент", Контрагент); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Если Не ВыборкаДетальныеЗаписи.Количество() = 0 Тогда СписокДокументов = "№ Дата Ответственный </br>"; Пока ВыборкаДетальныеЗаписи.Следующий() Цикл СписокДокументов = СписокДокументов + ВыборкаДетальныеЗаписи.Номер + " " + ВыборкаДетальныеЗаписи.Дата + " " + ВыборкаДетальныеЗаписи.Ответственный + "</br>"; КонецЦикла; ТекстОтвета = " |<html> |<head><title> Результат запроса статуса пользователя</title> </head> |<body> Список документов контаргента " + Контрагент + "</br>" + СписокДокументов + " |Чтобы получить список документов другого контрагента, измените параметризированный сегмент {name} в адрессной строке </body> |</html>"; Ответ.КодСостояния = 200; Ответ.УстановитьТелоИзСтроки(ТекстОтвета); Ответ.Заголовки["Content-Type"] = "text/html"; Иначе Ответ.УстановитьТелоИзСтроки("Документы не найдены"); КонецЕсли; Возврат Ответ; |
|||
4
bulkinsan
27.08.15
✎
09:24
|
(2) вот блин. А ведь и всамом деле я переопределяю Запрос...
Хотя, счерт с ним с переопределением, входящий параметр Запрос я получил и обработал, а дальше уже не важно что с ним будет. думаю не в этом дело |
|||
5
bulkinsan
27.08.15
✎
09:52
|
up
|
|||
6
PaulBC
27.08.15
✎
09:58
|
Так Чеки.Контрагент у тебя наверняка ссылка на справочник, а Контрагент, которого получаешь из http запроса - строка
|
|||
7
bulkinsan
27.08.15
✎
10:10
|
(6) да.. скорее всего в этом проблема. Сейчас нету возможности проверить. невнимательный, Вечером протестирую на Чек.Контрагент.Наименование
Спасибо :) |
|||
8
alex4x
28.08.15
✎
09:47
|
Даешь текстовый формат работы с 1С!
Входишь в консоль, пишешь запрос на еще более простом языке чем сейчас в запросах и вуаля! Войти в 1С-База2 Админ 123пароль Ентер! Покажи документы за 01.01.2015 - 01.07.2015 Ентер! Проведи документы за 01.01.2015 - 01.07.2015 Ентер! Выйти из 1С Ентер! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |