Проблема с отчетом по регистру

Тема в разделе "1C и всё что с ней связано", создана пользователем fly-fire-fox, 5 янв 2008.

  1. fly-fire-fox

    fly-fire-fox Гость

    Здравсвуйте! Проблема собственно такая - создал регситр создал процедуру проведения по регистру :
    Процедура ОбработкаПроведения()

    //Проведение документа по регистру ВыданныеТМЦ
    ТаблицаНоменклатуры = СоздатьОбъект("ТаблицаЗначений");
    ВыгрузитьТабличнуюЧасть(ТаблицаНоменклатуры);
    ТаблицаНоменклатуры.ВыбратьСтроки();
    Пока ТаблицаНоменклатуры.ПолучитьСтроку() = 1 Цикл
    //ЗаписьРегистра = СоздатьОбъект("Регистр.ВыданныеТМЦ");
    Регистр.ВыданныеТМЦ.Сотрудник = Сотрудник;
    Регистр.ВыданныеТМЦ.Выдавший = ПолученоОт;
    Регистр.ВыданныеТМЦ.НаименованиеМЦ = ТаблицаНоменклатуры.Товар;
    Регистр.ВыданныеТМЦ.Количество = ТаблицаНоменклатуры.Количество;
    Регистр.ВыданныеТМЦ.Цена = ТаблицаНоменклатуры.Цена;
    Регистр.ВыданныеТМЦ.Сумма = ТаблицаНоменклатуры.Сумма;
    Регистр.ВыданныеТМЦ.Дата = ТаблицаНоменклатуры.ДатаВыдачи;
    Регистр.ВыданныеТМЦ.ДвижениеВыполнить();
    КонецЦикла;
    //ЗаписьРегистра.ДвижениеВыполнить();
    КонецПроцедуры


    И создал отчет по этому регистру, но почему то отчет не выбирает данные из регистра или же он пустой.. Как можно посмотреть содержимое регистра, или же в чем у меня тут ошибка? Код выборки из регстра вот:

    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса = "
    |Наименование = Регистр.ВыданныеТМЦ.НаименованиеМЦ;
    |Количество = Регистр.ВыданныеТМЦ.Количество;
    |Цена = Регистр.ВыданныеТМЦ.Цена;
    |Сумма = Регистр.ВыданныеТМЦ.Сумма;
    |Сотрудник = Регистр.ВыданныеТМЦ.Сотрудник;
    |Дата = Регистр.ВыданныеТМЦ.Дата;
    |Группировка Сотрудник;
    |//Условие(Сотрудник = ВыбСотрудник);
    |";
    Если Запрос.Выполнить(ТекстЗапроса) = 0 тогда
    Сообщить("Хреновый запрос");
    Возврат;
    КонецЕсли;
    Номер = 0;
    Пока Запрос.Группировка(1) = 1 Цикл
    Сообщить("Здесь я был");
    Номер = Номер + 1;
    Если Запрос.Сотрудник.ЭтоГруппа() = 1 Тогда
    Сообщить("Здесь я был");
    ПечатьОтчет.ВывестиСекицию("ТМЦ");
    КонецЕсли;
    КонецЦикла;
     
  2. Isabela

    Isabela Гость

    1. Период запроса не указан
    2. А может, проще сделать так :
    Reg = CreateObject("Регистр.ВыданныеТМЦ");
    Reg.SelectActs(Date1,Date2);
    While Reg.GetDocAct() > 0 do
    Message(Reg.Сотрудник);
    и т.д.
    enddo;
     
  3. Zab

    Zab Well-Known Member
    1C Team

    Регистрация:
    7 авг 2006
    Сообщения:
    583
    Симпатии:
    0
    <!--QuoteBegin-fly-fire-fox+5:01:2008, 08:29 -->
    <span class="vbquote">(fly-fire-fox @ 5:01:2008, 08:29 )</span><!--QuoteEBegin-->Как можно посмотреть содержимое регистра
    [snapback]92241" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Правой кнопкой по документу в журнале, там ищи пункт "Движения документа" откроется окошко, где сможешь выбрать по какому регистру движения смотреть.
    Пробежав по коду, вижу, что ты выводишь секцию, только если у тебя сотрудник - группа. Это так надо? В движениях у тебя тоже группы сотрудников?
     
  4. fly-fire-fox

    fly-fire-fox Гость

    Изменил запрос так

    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса = "
    |Период с ДатаНач по ДатаКон;
    |Наименование = Регистр.ВыданныеТМЦ.НаименованиеМЦ;
    |Количество = Регистр.ВыданныеТМЦ.Количество;
    |Цена = Регистр.ВыданныеТМЦ.Цена;
    |Сумма = Регистр.ВыданныеТМЦ.Сумма;
    |Сотрудник = Регистр.ВыданныеТМЦ.Сотрудник;
    |Дата = Регистр.ВыданныеТМЦ.Дата;
    |Функция КолСтрок = Счётчик();
    |Функция ПриходИмя = Приход(Сумма);
    |";
    Если Запрос.Выполнить(ТекстЗапроса) = 0 тогда
    Сообщить("Хреновый запрос");
    Возврат;
    КонецЕсли;
    Сообщить(Запрос.КолСтрок);

    КолСтрок = 0 получается, т.е. выбока не происходит, почему это может быть?Условий нет в этот период в регистре точно есть данные

    Если выбирать не через запрос то как сделать фильтр по сотруднику? Перебирать все значения и выводить только те где есть нужный сотрудник?
     
  5. Zab

    Zab Well-Known Member
    1C Team

    Регистрация:
    7 авг 2006
    Сообщения:
    583
    Симпатии:
    0
    <!--QuoteBegin-fly-fire-fox+5:01:2008, 17:49 -->
    <span class="vbquote">(fly-fire-fox @ 5:01:2008, 17:49 )</span><!--QuoteEBegin-->КолСтрок = 0 получается, т.е. выбока не происходит, почему это может быть?Условий нет в этот период в регистре точно есть данные
    [snapback]92272" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    походу, нет группировки в запросе<!--QuoteBegin-fly-fire-fox+5:01:2008, 17:49 -->
    <span class="vbquote">(fly-fire-fox @ 5:01:2008, 17:49 )</span><!--QuoteEBegin-->Если выбирать не через запрос то как сделать фильтр по сотруднику? Перебирать все значения и выводить только те где есть нужный сотрудник?
    [snapback]92272" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    можно и так, но есть еще варианты:
    ВыбратьДвижения(<ДатаНачала>,<ДатаКонца>,<ГрафаОтбора>) - обрати внимание на последний параметр, и :УстановитьФильтр(<?>,);
    А вообще, такие вопросы решаются методом залезания в нужную ветку синтакс-помошника, и обзора возможных методов.
     
  6. Pro

    Pro Гость

    1. Регистр накопительный?!
    2.
    Код (Text):
    |Функция ПриходИмя = Приход(Сумма);
    тогда пользовать нельзя
    3. нет группировки...
     
Загрузка...
Похожие Темы - Проблема отчетом по
  1. c0de3r
    Ответов:
    4
    Просмотров:
    109
  2. DobermannTT
    Ответов:
    10
    Просмотров:
    130
  3. SoulPaladin
    Ответов:
    3
    Просмотров:
    118
  4. Artael
    Ответов:
    1
    Просмотров:
    106
  5. ENSLER
    Ответов:
    0
    Просмотров:
    100

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