Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Не загружается в таблицу значений          
kosalex Подменю пользователя
сообщение 31.10.14, 21:30
Сообщение #1

Ветеран
*******
Группа: Пользователи
Сообщений: 805
Спасибо сказали: 14 раз
Рейтинг: 0

Вечер добрый, есть обработка, считает количетсво вагонов в РС и выгружает в таблицу.
Процедура КнопкаВыполнитьНажатие(Кнопка)
    
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    КФЗПростойВагона.НомерВагона
        |ИЗ
        |    РегистрСведений.КФЗПростойВагона КАК КФЗПростойВагона";

    РезультатЗапроса = Запрос.Выполнить();
    
    ТЗДанные = РезультатЗапроса.Выгрузить();
    
    ТЗРезультат = Новый ТаблицаЗначений;
    
    
    ТЗРезультат.Колонки.Добавить("НомерВагона",Новый ОписаниеТипов("Строка"),"Номер вагона",);
    
    Колонка = ТЗДанные.ВыгрузитьКолонку("НомерВагона");
    
    ТЗРезультат.ЗагрузитьКолонку(Колонка,"НомерВагона"); //ПОСЛЕ ЭТОЙ СТРОКИ ТЗРезультат - пусто! Хотя в "Колонка" - массив, данные есть!
    
    ТЗВывод = Новый ТаблицаЗначений;
    ТЗВывод.Колонки.Добавить("НомерВагона",,"Номер вагона",);
    ТЗВывод.Колонки.Добавить("Количество",,"Количество",);
    
    ТЗДанные.Свернуть("НомерВагона");
    
    Для Каждого СтрокаТЗДанные Из ТЗДанные Цикл
        Для Каждого СтрокаТЗРезультат Из ТЗРезультат Цикл
            Если СтрокаТЗДанные.НомерВагона = СтрокаТЗРезультат.НомерВагона Тогда                
                    СтрокаТЗВывод = ТЗВывод.Добавить();
                    СтрокаТЗВывод.НомерВагона = СтрокаТЗДанные.НомерВагона;
                    СтрокаТЗВывод.Количество = 1;
            КонецЕсли;
        КонецЦикла;
    КонецЦикла;
    
    ТЗВывод.Свернуть("НомерВагона","Количество");
    
    Информация.Загрузить(ТЗВывод);
КонецПроцедуры


Мое решение можно реализовать по другому, проще, что я и сделал:
Процедура КнопкаВыполнитьНажатие(Кнопка)
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    КФЗПростойВагона.НомерВагона КАК НомерВагона,
        |    СУММА(1) КАК Количество
        |ИЗ
        |    РегистрСведений.КФЗПростойВагона КАК КФЗПростойВагона
        |
        |СГРУППИРОВАТЬ ПО
        |    КФЗПростойВагона.НомерВагона";

    РезультатЗапроса = Запрос.Выполнить().Выгрузить();
    
    Информация.Загрузить(РезультатЗапроса);
КонецПроцедуры


Но вопрос по первому куску кода остался, что сделал не так, почему не загружаются значения?

Father Fury Подменю пользователя
сообщение 01.11.14, 9:41
Сообщение #2

Общительный
**
Группа: Пользователи
Сообщений: 14
Спасибо сказали: 0 раз
Рейтинг: 0

Много лишнего.

Цитата(Father Fury @ 01.11.14, 9:38) *
Много лишнего, ошибок, глумления, ....


ignsv Подменю пользователя
сообщение 01.11.14, 11:22
Сообщение #3

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 193
Спасибо сказали: 60 раз
Рейтинг: 0

Цитата(kosalex @ 31.10.14, 21:30) *
ТЗРезультат.ЗагрузитьКолонку(Колонка,"НомерВагона");


ЗагрузитьКолонку() - не создает строки в ТЗРезультат, посмотрите пример в СП + протестируйте предварительно создав пустые строки

sava1 Подменю пользователя
сообщение 01.11.14, 18:36
Сообщение #4

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2688
Из: Проскуров
Спасибо сказали: 681 раз
Рейтинг: 659.7

Цитата(ignsv @ 01.11.14, 12:22) *
ЗагрузитьКолонку() - не создает строки в ТЗРезультат

Плюс значение надо типизировать

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 24.04.24, 20:08
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!