7.7 Добавить в отчет поле реквизита (табличного)

Тема в разделе "Отчеты и обработки для "1С:Предприятие 7.7"", создана пользователем evgeniyok, 26 май 2008.

  1. TopicStarter Overlay
    evgeniyok
    Offline

    evgeniyok

    Регистрация:
    31 окт 2006
    Сообщения:
    39
    Симпатии:
    0
    Баллы:
    1
    Ребят привет! Сорри 2-ой день (только начинаю) мучаюсь не могу сделать отчет...
    Не подскажите ....
    У меня есть приходная накладная в ней есть данные по приходному товару... и, табличный реквизит, "Количество", при проведении (как сам понял - может ошибаюсь) это количество товара заносится на склад (в регистры). Также у меня есть отчет, который показыает сколько товара в каждой партии осталось на складе (из регистров).
    Необходимо показать сколько товара по каждой партии ПРИШЛО (изначально) по каждой приходной накладной в одном отчете, с названием ТМЦ и прочим. Количество - табличный реквизит документа ПриходнаяНакладная. Не знаю, некоторые говорят, что это Реестр..., некоторые Групповая обработка. Но мне именно необходимо вывести ТМЦ. ПАРТИЯ. КОЛИЧЕСТВО.

    Или как сделать отчет по всем документам (Приходным накладным) с указанием всех реквизитов (Шапки и Табличных)?
    Версия дбф., 7-ка., конф. Оперативный учет.

    Помогите если знаете или ткните меня "носом", где есть подобная тема если повторяюсь. Если вопрос не понятно задал.. скажите...
    Спасибо большое.
  2. Stado_adama
    Offline

    Stado_adama Модераторы Модератор

    Регистрация:
    27 ноя 2007
    Сообщения:
    1.086
    Симпатии:
    0
    Баллы:
    26
    тебя спасет запрос по регистру "партии наличные"... обороты снимай с него и все будет...
  3. TopicStarter Overlay
    evgeniyok
    Offline

    evgeniyok

    Регистрация:
    31 окт 2006
    Сообщения:
    39
    Симпатии:
    0
    Баллы:
    1
    Сорри Stado_adama, но как это делается... Ша гуглю, но пока не находит...
  4. TopicStarter Overlay
    evgeniyok
    Offline

    evgeniyok

    Регистрация:
    31 окт 2006
    Сообщения:
    39
    Симпатии:
    0
    Баллы:
    1
    Получилось, но коряво. Если будут советы буду только рад...
  5. Stado_adama
    Offline

    Stado_adama Модераторы Модератор

    Регистрация:
    27 ноя 2007
    Сообщения:
    1.086
    Симпатии:
    0
    Баллы:
    26
    а в чем корявость? давай обрисовывай картину... клади сюда код... разберемся :)
  6. TopicStarter Overlay
    evgeniyok
    Offline

    evgeniyok

    Регистрация:
    31 окт 2006
    Сообщения:
    39
    Симпатии:
    0
    Баллы:
    1
    Покопался здесь на форуме, огромное спасибо.. Amishechka и Slin,
    но действительно хотелось бы получше разобраться в коде...
    Партия ТМЦ Количество ВесНетто ВесБрутто
    054181A OXйцу 30mg №20 13046 0 0
    054564A йцу 30mg №20 35100 0 0
    5M007 цйуйцку 30mg №20 132 0 0

    Код:
    Процедура Отчет()
    Перем Запрос, ТекстЗапроса, Таб;
    //Создание объекта типа запрос
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса = 
    "//{{ЗАПРОС(Таблица1)
    |Период с ДатаС по ДатаПо;    
    |ОбрабатыватьДокументы все;
    |ТМЦ = Документ.ПриходнаяНакладная.ТМЦ;
    |ПриходнаяНакладная = Документ.ПриходнаяНакладная.Партия;	
    |Кво = Документ.ПриходнаяНакладная.Кво;    
    |Партия = Документ.ПриходнаяНакладная.Партия;
    |ВесНетто = Документ.ПриходнаяНакладная.ВесНетто;
    |ВесБрутто = Документ.ПриходнаяНакладная.ВесБрутто;	
    //Группировка ПриходнаяНакладная;
    |Группировка Документ;
    |Группировка СтрокаДокумента;
    |";//}}ЗАПРОС;
    // Если ошибка в запросе, то выход из процедуры    
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда 
    Возврат;   
    КонецЕсли;
    // Подготовка к заполнению выходных форм данными запроса    
    Таб = СоздатьОбъект("Таблица");    
    Таб.ИсходнаяТаблица("Таблица1");    
    // Заполнение полей "Заголовок"    
    Таб.ВывестиСекцию("Заголовок");    
    Состояние("Заполнение выходной таблицы...");    
    Пока Запрос.Группировка("Документ") = 1 Цикл        
    Пока Запрос.Группировка("СтрокаДокумента")=1 Цикл
    // Заполнение полей ПринятоеОборудование  
    Партия = Запрос.Партия;
    ТМЦ = Запрос.ТМЦ;    
    Кво = Запрос.Кво;
    ВесНетто = Запрос.ВесНетто;
    ВесБрутто = Запрос.ВесБрутто;
    Таб.ВывестиСекцию("ПриходнаяНакладная"); 
    КонецЦикла;    
    КонецЦикла;
    // Вывод заполненной формы    
    Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);    
    Таб.ТолькоПросмотр(1);    
    Таб.Показать("Сформировать", "");
    КонецПроцедуры
    
  7. TopicStarter Overlay
    evgeniyok
    Offline

    evgeniyok

    Регистрация:
    31 окт 2006
    Сообщения:
    39
    Симпатии:
    0
    Баллы:
    1

    Еще возник вопрос по ходу дела...
    Может ли этот код как-то повлиять на значения в регистрах?
    По идее нет - это же ведь только запрос к базе, но....
  8. Stado_adama
    Offline

    Stado_adama Модераторы Модератор

    Регистрация:
    27 ноя 2007
    Сообщения:
    1.086
    Симпатии:
    0
    Баллы:
    26
    "Может ли этот код как-то повлиять на значения в регистрах?" (с) - нет, не может...

    насчет твоего запроса... запрос по документам конечно же хорошо, но я бы на твоем месте вытаскивал обороты регистра... да и этот запрос у тебя не совсем корректен... не надо группировать строки документа, посмотри типовые запросы с сделай через функцию... быстрее будет работать!
  9. TopicStarter Overlay
    evgeniyok
    Offline

    evgeniyok

    Регистрация:
    31 окт 2006
    Сообщения:
    39
    Симпатии:
    0
    Баллы:
    1
    Получилось одно, как появилась другая проблема
    Пытаюсь на печатную форму занести значение - <ТекПарГоденДо>
    Не выводит вообще ничего. Значение типа дата. Значение берется из подчиненного справочника Партии. Родитель - ТМЦ. Запарился, проблема - можно сказать не проблема... а не дает ничего увидеть. Ну и опять же ребят покажите, что не правильно? Спасибо, буду ждать ответа.

    Код:
    Парт = СоздатьОбъект("Справочник.Партии");
    Парт.ВыбратьЭлементы(0);
    Пока Парт.ПолучитьЭлемент() = 1 Цикл 
    ТекПартия = Парт.ТекущийЭлемент();
    Если ТекПартия = Партия Тогда
    ТекПарГоденДо = Парт.ГоденДо; ///Получение значения подчиненного справочника
    Сообщить(ТекПарГоденДо);  /// Правильно сообщает дату!!!
    КонецЕсли
    КонецЦикла;   
    
    PS Самое прикольное то, что используя Сообщить(ТекПарГоденДо), все показывается нормально.

    Чего-то мне надоело за тобой посты поправлять... ИСПОЛЬЗУЙ ТЭГ
    Код:
    
    
  10. TopicStarter Overlay
    evgeniyok
    Offline

    evgeniyok

    Регистрация:
    31 окт 2006
    Сообщения:
    39
    Симпатии:
    0
    Баллы:
    1
    И еще один вопросик..
    Не подскажите, как реализовать процедуру клика на поле список..., чтобы потом уже заносить в этот список значения из диалогового окна.
    Опять же спасибо.
  11. Stado_adama
    Offline

    Stado_adama Модераторы Модератор

    Регистрация:
    27 ноя 2007
    Сообщения:
    1.086
    Симпатии:
    0
    Баллы:
    26
    может у тебя колонка в которой лежит значение ТекПарГоденДо имеет тип не формула?
  12. TopicStarter Overlay
    evgeniyok
    Offline

    evgeniyok

    Регистрация:
    31 окт 2006
    Сообщения:
    39
    Симпатии:
    0
    Баллы:
    1
    Stado_adama ты имеешь ввиду тип ячейки? Если да, то у меня стоит тип Выражение (<ТекПарГоденДо>)
    ...Странность в том, что пишу Сообщить(ТекПарГоденДо), чтобы проверить, все нормально показывает 01.01.10, а в печатную форму не ставит.
  13. Stado_adama
    Offline

    Stado_adama Модераторы Модератор

    Регистрация:
    27 ноя 2007
    Сообщения:
    1.086
    Симпатии:
    0
    Баллы:
    26
    ячейка эта в область печати попадает? дальше по коду до вывода нужной области переменная точно нигде не зануляется?
  14. TopicStarter Overlay
    evgeniyok
    Offline

    evgeniyok

    Регистрация:
    31 окт 2006
    Сообщения:
    39
    Симпатии:
    0
    Баллы:
    1
    Stado_adama тебе 5. Че-то я вообще запарился.. пол дня сидел... оказалось просто, что ВывестиСекцию рашьше поставил чем вычисляется значение... Ламерский случай..., но на ошибках учатся... просто 2 недели прошло в момента работы с 1С.
    Спасибо тебе еще раз

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