1c8 вывод табличной части

Тема в разделе "1C и всё что с ней связано", создана пользователем KiR, 25 окт 2007.

  1. KiR

    KiR НЕ шибка опытный програмер)
    1C Team

    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    Сделал запрос - получил таблицу. Но есть проблеммы с выводом в макет. Ситуация такая.
    Таблица из запроса:
    Период |Счет |регистраторсодержания|субконто2|ДТ|КТ|
    03,08,07|99,01,1|покупка облигаций |НКД |12|0 |
    03,08,07|99,01,1|покупка облигаций |муниц обл|15|0 |
    Нужно вывести в макет:
    Дата |Операция |НКД|муниц обл| - шапка обязательно должна быть статической
    03,08,07|покупка облигаций| 12 |15 |
    Как добиться такого результата обходя каждую строчку запроса? Или может есть какой другой способ извлечения данных... Результат выволнения запроса отправляю в переменную:
    Результат = Запрос.Выплонить().Выгрузить()
     
  2. Zab

    Zab Well-Known Member
    1C Team

    Регистрация:
    7 авг 2006
    Сообщения:
    583
    Симпатии:
    0
    Создавай таблицу значений, в которой столбцы = значения субконто2. Заполняй данными запроса, сворачивай, и выводи наздоровие.
     
  3. KiR

    KiR НЕ шибка опытный програмер)
    1C Team

    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    <!--QuoteBegin-Zab+27:10:2007, 15:08 -->
    <span class="vbquote">(Zab @ 27:10:2007, 15:08 )</span><!--QuoteEBegin-->Создавай таблицу значений, в которой столбцы = значения субконто2. Заполняй данными запроса, сворачивай, и выводи наздоровие.[/quote]
    Спасибо. А можно поподробнее про вторую часть - "Заполняй данными запроса, сворачивай"?
     
  4. Zab

    Zab Well-Known Member
    1C Team

    Регистрация:
    7 авг 2006
    Сообщения:
    583
    Симпатии:
    0
    Открываешь выборку, и в цикле перебирая результат запроса, записываешь строки ТЗ. Есть метод, "выгрузить" из результата запроса в ТЗ, но он те не прокатит, т.к. нужно не просто выгрузить, а в процессе еще и менять структуру. А вот описание метода "Свернуть" из синтакс-помошника:
    справишся?
     
  5. KiR

    KiR НЕ шибка опытный програмер)
    1C Team

    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    <!--QuoteBegin-Zab+29:10:2007, 12:13 -->
    <span class="vbquote">(Zab @ 29:10:2007, 12:13 )</span><!--QuoteEBegin-->Открываешь выборку, и в цикле перебирая результат запроса, записываешь строки ТЗ. Есть метод, "выгрузить" из результата запроса в ТЗ, но он те не прокатит, т.к. нужно не просто выгрузить, а в процессе еще и менять структуру. А вот описание метода "Свернуть" из синтакс-помошника:

    справишся?[/quote]
    Неа. не справлюсь. Выгрузить метод знаю. Им и пользуюсь = Результат = Запрос.Выплонить().Выгрузить()
    Свернуть метод тоже знаю.
    А вот как в процессе поменять структуру - не знаю и не пойму к сожалению. Можешь пошагово объяснить?
     
  6. Zab

    Zab Well-Known Member
    1C Team

    Регистрация:
    7 авг 2006
    Сообщения:
    583
    Симпатии:
    0
    ручками :) , к сожалению, я ж говорил, что выгрузить не пройдет....
    Код (Text):
    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
    сТЗ = ТаблицаЗначений.Добавить();
    сТЗ.Период = Выборка.Период;
    сТЗ.Счет = Выборка.Счет;
    сТЗ.Регистратор = Выборка.Регистратор;
    Если Выборка.Субконто2 = переменнаяСодержащаяЗначениеНКД Тогда
    сТЗ.НКД = Выборка.ДТ-Выборка.КТ;
    сТЗ.МуницОбл = 0;
    ИначеЕсли Выборка.Субконто2 = переменнаяСодержащаяЗначениеМуницОбл Тогда
    сТЗ.МуницОбл = Выборка.ДТ-Выборка.КТ;
    сТЗ.НКД = 0;
    КонецЕсли;
    КонецЦикла;
    Потом сворачиваешь, перебираешь, и выводишь. Агу?
     
  7. KiR

    KiR НЕ шибка опытный програмер)
    1C Team

    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    Ща буду пробовать. спасибо. потом поглядим что получица))
     
  8. KiR

    KiR НЕ шибка опытный програмер)
    1C Team

    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    Блин. проблеммы с создаваемой таблицей значений. Можешь написать как структуру создать чтобы потом вышеописанный код заработал?
     
  9. Zab

    Zab Well-Known Member
    1C Team

    Регистрация:
    7 авг 2006
    Сообщения:
    583
    Симпатии:
    0
    хех... че с вами делать?
    Код (Text):
    // Создание таблицы значений
    ТаблицаЗначений = Новый ТаблицаЗначений;
    // добавим в таблицу значений три колонки
    ТаблицаЗначений.Колонки.Добавить("Отдел",ОписаниеТиповС,"Отдел");
    ТаблицаЗначений.Колонки.Добавить("Сотрудник",ОписаниеТиповС,
    "Фамилия сотрудника");
    ТаблицаЗначений.Колонки.Добавить("Оклад",ОписаниеТиповЧ,"Оклад");

    // добавим строку
    Стр=ТаблицаЗначений.Добавить();
    Стр.Отдел="Отдел 1";
    Стр.Сотрудник="Иванов";
    Стр.Оклад=5600;
    Вот кусок кода из синтакс-помошника. Надеюсь, переделаешь под себя.
     
  10. KiR

    KiR НЕ шибка опытный програмер)
    1C Team

    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    блин так и думал, что ты дашь кусок из синтакс помощьника. я это и сам видел.....

    Все... я понял свою ошибку! Спасибо огромное. Дальше попробую сам)))
     
Загрузка...

Поделиться этой страницей