|   |   | 
| 
 | Отладчик для массива | ☑ | ||
|---|---|---|---|---|
| 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 | 
        Разобрался. Всем спасибо     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |