|
Кривые руки или запрос? | ☑ | ||
---|---|---|---|---|
0
tabarigen
30.10.15
✎
16:03
|
Пишу простой сервис
Функция PoluchitOstatki() // Получаем объекты XDTO НоменклатураОстатокТип = ФабрикаXDTO.Тип("http://*******.ru/", "StrokaElektronnogoZakaza"); МассивНоменклатураОстатокТип = ФабрикаXDTO.Тип("http://*******.ru/", "MassivElektronnogoZakaza"); //Создаем объекты НоменклатураОстаток = ФабрикаXDTO.Создать(НоменклатураОстатокТип); МассивНоменклатураОстаток = ФабрикаXDTO.Создать(МассивНоменклатураОстатокТип); //Запросом получаем номенклатуру и остатки Запрос = Новый Запрос; Запрос.УстановитьПараметр("ДатаНаСегодня", НачалоДня(ТекущаяДата())); Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 500 | НомНоменклатура.Наименование, | НомНоменклатура.СтавкаНДС, | ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК Цена, | ЕСТЬNULL(НомНоменклатура.Срок, ""2002-09-24"") КАК Срок, | ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток, | ЕСТЬNULL(НомНоменклатура.Производитель.Наименование, "" "") КАК Производитель |ИЗ | Справочник.Номенклатура КАК НомНоменклатура | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаНаСегодня, ) КАК ТоварыНаСкладахОстатки | ПО НомНоменклатура.Ссылка = ТоварыНаСкладахОстатки.Номенклатура.Ссылка | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаНаСегодня, ) КАК ЦеныНоменклатурыСрезПоследних | ПО НомНоменклатура.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура.Ссылка"; РезультатЗапроса = Запрос.Выполнить().Выгрузить(); Выборка = РезультатЗапроса.Выбрать(); Пока Выборка.Следующий() Цикл //Заполняем значения строки электронного заказа НоменклатураОстаток.Nomenklatura = Выборка.Наименование; НоменклатураОстаток.Proizvoditel = Выборка.Производитель; //НоменклатураОстаток.StavkaNds = Перечисления.СтавкиНДС.; НоменклатураОстаток.Cena = Выборка.Цена; НоменклатураОстаток.Srok = Выборка.Срок; НоменклатураОстаток.Ostatok = Выборка.КоличествоОстаток; //Добавляем данные в массив МассивНоменклатураОстаток.StrokaZakaza.Добавить(НоменклатураОстаток); КонецЦикла; Возврат МассивНоменклатураОстаток; КонецФункции На выходе получаю, одну и ту же строку для всего массива <img src="https://habrastorage.org/files/e91/39c/bf8/e9139cbf890b4da8b32c962da8fc23b7.png"/> Хотя в консоли запросов выдается нормальный результат, то есть разные элементы массива <img src="https://habrastorage.org/files/368/b4f/f03/368b4ff03d0a4881871a51fcacdfddcd.png"/> |
|||
1
tabarigen
30.10.15
✎
16:04
|
упс картинки не вставились, ладно скину так
https://yadi.sk/i/3oifMp4ok8DLS https://yadi.sk/i/Gc3ImVRbk8DMF |
|||
2
tabarigen
30.10.15
✎
16:05
|
Пятница ребята!) Если что)
|
|||
3
Fragster
гуру
30.10.15
✎
16:07
|
вставь отбор по типу цены в параметры ВТ с ценами. убери .ссылка
|
|||
4
Fragster
гуру
30.10.15
✎
16:07
|
ну и вообще по всем измерениям регистра с ценами, кроме номенклатуры
|
|||
5
tabarigen
30.10.15
✎
16:29
|
(3) отбор сделал. в целом запрос стал выполняться замеьтно шустрее. я вот не пойму зачем сервис выдаетс только первую строку.
|
|||
6
tabarigen
30.10.15
✎
16:30
|
||||
7
tabarigen
30.10.15
✎
16:32
|
Пробовал Цикл Для Каждого. То же самое. В консоли запросов, выдаются разные позиции номенклатуры, веб-сервис же возвращает одну и ту же.
Что в SOAP Ui что в браузере одно и то же. |
|||
8
Ненавижу 1С
гуру
30.10.15
✎
16:32
|
потому что ты работаешь с одним и тем же объектом, объект создавай в цикле:
НоменклатураОстаток = ФабрикаXDTO.Создать(НоменклатураОстатокТип); |
|||
9
Лодырь
30.10.15
✎
16:32
|
НоменклатураОстаток = ФабрикаXDTO.Создать(НоменклатураОстатокТип);
в цикл засунуть не желаешь? |
|||
10
tabarigen
30.10.15
✎
16:38
|
(9) ай да Лодырь, ай да красавец. Сделал как ты сказал, теперь все ок.
https://yadi.sk/i/pZidcpayk8GDy P.S. Как сюда картинки вставлять? |
|||
11
Ненавижу 1С
гуру
30.10.15
✎
16:39
|
(10) вот ты негодяй, я же первым был, пятницо!
|
|||
12
Лодырь
30.10.15
✎
16:42
|
(11) Не повезло )
|
|||
13
tabarigen
30.10.15
✎
17:46
|
(8) Ненавижу1С родненький ты мой, большое тебе человеческое спасибо xD
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |