|
Отладчик для массива | ☑ | ||
---|---|---|---|---|
0
Roma1314704
07.05.18
✎
09:41
|
Есть следующая функция. Необходимо в хml вывести значения со справочника и с регистра сведения - параметры
Как глянуть через отладчик что в массиве? &НаСервере Функция ПолучитьМассивДанных() МассивДанных = Новый Массив; //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Товар.Код КАК Код, | Товар.Родитель, | Товар.Родитель.Код КАК РодительКод, | Товар.Наименование КАК Наименование, | Товар.Ссылка, | Товар.ЦенаПродажиРозетка КАК ЦенаПродажи, | Товар.Бренд КАК Бренд, | Товар.ХарактеристикаXML КАК ОписаниеТовара, | Товар.СсылкаФотоТовара1 Как СсылкаФотоТовара1, | Товар.СсылкаФотоТовара2 Как СсылкаФотоТовара2, | Товар.СсылкаФотоТовара3 Как СсылкаФотоТовара3, | Товар.СсылкаФотоТовара4 Как СсылкаФотоТовара4, | Товар.ТоварXml КАК ТоварXml, | Товар.СсылкаНаСайт Как СсылкаНаСайт, | Остатки.КоличествоОстаток КАК ОстатокТовара | | | | ИЗ | Справочник.Номенклатура КАК Товар | ЛЕВОЕ СОЕДИНЕНИЕ | РегистрНакопления.ОстаткиПоСкладам.Остатки КАК Остатки | | ПО | Товар.Ссылка = Остатки.Номенклатура | | ГДЕ | Номенклатура.ТоварXml = &Истина И | Склад = &Склад; |ВЫБРАТЬ | РегистрСведенийЗначениеХарактеристикТоваров.Номенклатура КАК Номенклатура, | РегистрСведенийЗначениеХарактеристикТоваров.Характеристика КАК Характеристика, | РегистрСведенийЗначениеХарактеристикТоваров.ЗначениеХарактеристики КАК ЗначениеХарактеристики |ИЗ | РегистрСведений.ЗначениеХарактеристикТоваров КАК РегистрСведенийЗначениеХарактеристикТоваров |ГДЕ | РегистрСведенийЗначениеХарактеристикТоваров.Номенклатура = Номенклатура.Ссылка"; Запрос.УстановитьПараметр("Истина", Истина); Запрос.УстановитьПараметр("Склад", Справочники.Склады.НайтиПоНаименованию("Основной склад")); РезультатЗапроса = Запрос.ВыполнитьПакет(); ВыборкаДетальныеЗаписи = РезультатЗапроса[0].Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл НоваяЗапись = Новый Структура("Код, Наименование, Бренд, ОписаниеТовара, Характеристика, ЗначениеХарактеристики, ЦенаПродажи, СсылкаНаСайт, Категория, РодительскаяКатегорияКод,РодительскаяКатегория,СсылкаФотоТовара1,СсылкаФотоТовара2, СсылкаФотоТовара3, СсылкаФотоТовара4, ОстатокТовара"); НоваяЗапись.Код = Строка(ВыборкаДетальныеЗаписи.Код); НоваяЗапись.Наименование = Строка(ВыборкаДетальныеЗаписи.Наименование); НоваяЗапись.ЦенаПродажи = Строка(ВыборкаДетальныеЗаписи.ЦенаПродажи); НоваяЗапись.СсылкаНаСайт = Строка(ВыборкаДетальныеЗаписи.СсылкаНаСайт); НоваяЗапись.РодительскаяКатегория = Строка(ВыборкаДетальныеЗаписи.Родитель); НоваяЗапись.РодительскаяКатегорияКод = Строка(ВыборкаДетальныеЗаписи.РодительКод); НоваяЗапись.СсылкаФотоТовара1 = Строка(ВыборкаДетальныеЗаписи.СсылкаФотоТовара1); НоваяЗапись.СсылкаФотоТовара2 = Строка(ВыборкаДетальныеЗаписи.СсылкаФотоТовара2); НоваяЗапись.СсылкаФотоТовара3 = Строка(ВыборкаДетальныеЗаписи.СсылкаФотоТовара3); НоваяЗапись.СсылкаФотоТовара4 = Строка(ВыборкаДетальныеЗаписи.СсылкаФотоТовара4); НоваяЗапись.ОстатокТовара = Строка(ВыборкаДетальныеЗаписи.ОстатокТовара); ВыборкаДетальныеЗаписиХарактеристикиТовара = РезультатЗапроса[1].Выбрать(); Пока ВыборкаДетальныеЗаписиХарактеристикиТовара.Следующий() Цикл НоваяЗапись.Характеристика = Строка(ВыборкаДетальныеЗаписиХарактеристикиТовара.Характеристика); НоваяЗапись.ЗначениеХарактеристики = Строка(ВыборкаДетальныеЗаписиХарактеристикиТовара.ЗначениеХарактеристики); КонецЦикла; //Для Каждого Элемента ИЗ ВыборкаДетальныеЗаписи.Характеристика Цикл НоваяЗапись.ОписаниеТовара = Строка(ВыборкаДетальныеЗаписи.ОписаниеТовара); //МассивДанных.Добавить(НоваяЗапись); //КонецЦикла; НоваяЗапись.Бренд = Строка(ВыборкаДетальныеЗаписи.Бренд); МассивДанных.Добавить(НоваяЗапись); КонецЦикла; Возврат МассивДанных; КонецФункции &НаКлиенте Процедура ТестоваяКоманда(Команда) ПолучитьМассив = ПолучитьМассивДанных(); //Для Каждого Элемент Из ПолучитьМассив Цикл // Сообщить(Элемент); //КонецЦикла; КонецПроцедуры |
|||
1
xxTANATORxx
07.05.18
✎
09:43
|
F2 ??
|
|||
2
Fish
07.05.18
✎
09:43
|
(0) "Показать значение в отдельном окне". Удивительный вопрос.
|
|||
3
Roma1314704
07.05.18
✎
10:06
|
Пока ВыборкаДетальныеЗаписиХарактеристикиТовара.Следующий() Цикл
НоваяЗапись.Характеристика = Строка(ВыборкаДетальныеЗаписиХарактеристикиТовара.Характеристика); НоваяЗапись.ЗначениеХарактеристики = Строка(ВыборкаДетальныеЗаписиХарактеристикиТовара.ЗначениеХарактеристики); КонецЦикла; Характеристик и их значений 8 позиций по факту в массив записывает только 1 как мне записать все остальные? |
|||
4
Lexey_
07.05.18
✎
10:10
|
(3) нужно исправить код, который вне цикла
|
|||
5
Ненавижу 1С
гуру
07.05.18
✎
10:13
|
(3) потому-что у тебя всего одна НоваяЗапись
|
|||
6
Roma1314704
07.05.18
✎
10:14
|
Подскажите как это реализовать
|
|||
7
Мандалай
07.05.18
✎
10:15
|
Толи я после праздников плохо соображаю, то ли надо пакет убрать, соединить все в один запрос и организовать группировку по товарам, характеристикам. У тебя там бред какой то получается при определении ВыборкаДетальныеЗаписиХарактеристикиТовара = РезультатЗапроса[1].Выбрать();
|
|||
8
Boleev
07.05.18
✎
10:19
|
(6) мне просто интересно, чем ты занимался 11 лет 6 месяцев 1 день
|
|||
9
Roma1314704
07.05.18
✎
10:21
|
Собирался с мыслями что надо учить 1с
|
|||
10
Roma1314704
07.05.18
✎
10:23
|
Если серьезно , нужно помощь как это все до ума довести
|
|||
11
Мандалай
07.05.18
✎
10:28
|
1. Убери пакет, оставь только первый запрос.
2. На регистре остатков у тебя должна хранится информация по остаткам в разрезе характеристик, иначе бред получается. 3. Бери характеристики напрямую из регистра остатков. То есть второй запрос тебе без надобности, хотя тебе видней. 4. Не очень понимаю зачем тебе справочник Номенклатура, в таком варианте ты получишь всю номенклатуру, и ту которая есть на остатках и ту которой нет на остатке. Если конечно так надо по условию значит надо. Поэтому огласи какие данные должны попасть в отчет. |
|||
12
Roma1314704
07.05.18
✎
10:42
|
НоваяЗапись = Новый Структура("Код, Наименование, Бренд, ОписаниеТовара, Характеристика, ЗначениеХарактеристики, ЦенаПродажи, СсылкаНаСайт, Категория, РодительскаяКатегорияКод,РодительскаяКатегория,СсылкаФотоТовара1,СсылкаФотоТовара2, СсылкаФотоТовара3, СсылкаФотоТовара4, ОстатокТовара");
Все это должно попасть в отчет. Но в регистре сведений характеристика товара не 1-но значение их может быть несколько - как их все выдернуть в массив -не могу осилить |
|||
13
Мимохожий Однако
07.05.18
✎
10:47
|
Возьми листочек и нарисуй, что и где лежит. Потом по этому плану делай запрос.
|
|||
14
Roma1314704
07.05.18
✎
11:08
|
Да правильно. Не могу понять с этим массивом -ведь в структуре 1 значение характеристики соответственно сколько не перебирай запрос в цикле -запишет только последнее значение и одно единественное значение. Как записать в структуру остальные значения Характеристик?
|
|||
15
Roma1314704
07.05.18
✎
11:58
|
Разобрался. Всем спасибо
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |