8.х УТ Отбор в универсальном отчете по виду документа движения

Тема в разделе ""1С:Управление торговлей УТ"", создана пользователем Itsys, 15 мар 2010.

  1. TopicStarter Overlay
    Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    Добрый день,

    Есть в типовой конфигурации отчет "Ведомость по товарам на складах", построенный на универсальном отчете, надо отобрать движения, которые сделаны по определенной номенклатуре оприходованием товаров.
    Для этого надо каким-то образом установить отбор по виду документа движения, но каким образом это сделать не нашел. Может кто сталкивался с такой задачей, подскажите что делать?
  2. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    В типовом - никак.
    Стоп - сейчас подумал, что можно сделать... Ща покручу и проверю
  3. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Эх, если бы он был на СКД - можно было бы сделать и в типом нормально.

    А так - только частный случай (когда оприходование проведено по БУ) - поставь отбор, что
    Документ движения (регистратор).Сумма документа (регл.) <> 0
  4. TopicStarter Overlay
    Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    А если в нетиповом?
    Каким образом в запросе для построителя задать возможность отбора по виду?
  5. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Код:
    "ГДЕ 
    ДокументДвижения ССЫЛКА Документ.РеализацияТоваровУслуг"
    
  6. TopicStarter Overlay
    Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    :unsure: А чтобы пользователь сам мог выбрать вид документа?
  7. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    А, не догнал :)

    Тогда даем список пользователю, где значение - это имя метаданных документа, а представление - это синоним.
    А дальше уже дело техники - заменяем в запросе имя метаданных на нужное. В целом - так можно даже в списке загнать.
    Делов-то :)
  8. TopicStarter Overlay
    Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    Я имел в виду, как его запихнуть в стандартную таблицу отборов построителя... как сделать дополнительным реквизитом формы я и так знаю...
  9. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    В таблицу отборов - не получиться. Только если в 8.2 (там есть ТИПЗНАЧЕНИЯ в запросе).
    Поэтому только запрос, который формируется программно.
    Посмотри, как сделан Универсальный отчет в типовых - тот же принцип.
  10. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    На партнерском хороший совет дали. Действительно можно воспользоваться, если задача разовая.
  11. TopicStarter Overlay
    Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    До этого я и сам додумался... :)
    В том то и дело, что задача не разовая, а постоянная, пользователи говорят, что все время ставить галки в категориях, можно что-нибудь пропустить или забыть, а отчетом пользуются разные люди и кому-то надо отбор по оприходованию, другому по перемещению и т.д. Хоть регламентное задание пиши :)
  12. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Ну, тогда писать свой отчет.
  13. TopicStarter Overlay
    Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    В том то и дело, что даже в своем отчете этого не добьешься... Нужна гибкость универсального отчета... В общем буду добавлять на форму выбор типа документа и замена запроса перед формированием...
  14. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Это я и имел ввиду.
    В любом случае тип документа-то надо будет выбирать!

    Либо переходите на 8.2 без режима совместимости и используйте ТИПЗНАЧЕНИЯ в запросе, тогда не надо будет динамически запрос собирать
  15. TopicStarter Overlay
    Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    Легко сказать "переходите"... только это фиг выполнишь...
    Ладно, тему можно закрывать...
  16. TopicStarter Overlay
    Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    Дошли руки, вернулся к вопросу.
    Изменил унивесальный отчет - в расширенную настройку на закладке отборы сделал выбор вида документа.
    Перед формированием отчета сделал добавление в запрос построителя секцию ГДЕ.

    Возникла проблема: при формировании отчета слетают установленный группировки по строкам.
    Входящий запрос в построитель:
    Код:
    ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ИсточникДанных.Склад КАК Склад,
    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Склад) КАК СкладПредставление,
    ИсточникДанных.Номенклатура КАК Номенклатура,
    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Номенклатура) КАК НоменклатураПредставление,
    ИсточникДанных.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.ХарактеристикаНоменклатуры) КАК ХарактеристикаНоменклатурыПредставление,
    ИсточникДанных.СерияНоменклатуры КАК СерияНоменклатуры,
    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.СерияНоменклатуры) КАК СерияНоменклатурыПредставление,
    ИсточникДанных.Качество КАК Качество,
    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Качество) КАК КачествоПредставление,
    ИсточникДанных.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток,
    ИсточникДанных.КоличествоПриход КАК КоличествоПриход,
    ИсточникДанных.КоличествоРасход КАК КоличествоРасход,
    ИсточникДанных.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток,
    ИсточникДанных.КоличествоОборот КАК КоличествоОборот,
    ИсточникДанных.Регистратор КАК Регистратор,
    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Регистратор) КАК РегистраторПредставление,
    ИсточникДанных.Период КАК Период,
    НачалоПериода(ИсточникДанных.Период, День) КАК ПериодДень,
    НачалоПериода(ИсточникДанных.Период, Неделя) КАК ПериодНеделя,
    НачалоПериода(ИсточникДанных.Период, Декада) КАК ПериодДекада,
    НачалоПериода(ИсточникДанных.Период, Месяц) КАК ПериодМесяц,
    НачалоПериода(ИсточникДанных.Период, Квартал) КАК ПериодКвартал,
    НачалоПериода(ИсточникДанных.Период, Полугодие) КАК ПериодПолугодие,
    НачалоПериода(ИсточникДанных.Период, Год) КАК ПериодГод
    //ПОЛЯ_СВОЙСТВА
    //ПОЛЯ_КАТЕГОРИИ
    {ВЫБРАТЬ
    Склад.*,
    Номенклатура.*,
    ХарактеристикаНоменклатуры.*,
    СерияНоменклатуры.*,
    Качество.*,
    КоличествоНачальныйОстаток,
    КоличествоПриход,
    КоличествоРасход,
    КоличествоКонечныйОстаток,
    КоличествоОборот,
    Регистратор.* КАК Регистратор,
    Период КАК Период,
    ПериодДень,
    ПериодНеделя,
    ПериодДекада,
    ПериодМесяц,
    ПериодКвартал,
    ПериодПолугодие,
    ПериодГод
    //ПСЕВДОНИМЫ_СВОЙСТВА
    //ПСЕВДОНИМЫ_КАТЕГОРИИ
    }
    ИЗ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Регистратор {&Периодичность},, {
    Склад.* КАК Склад,
    Номенклатура.* КАК Номенклатура,
    ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры,
    СерияНоменклатуры.* КАК СерияНоменклатуры,
    Качество.* КАК Качество}) КАК ИсточникДанных
    //СОЕДИНЕНИЯ
    [b]ГДЕ ИсточникДанных.Регистратор ССЫЛКА Документ.СписаниеТоваров[/b]
    {ГДЕ
    ИсточникДанных.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток,
    ИсточникДанных.КоличествоПриход КАК КоличествоПриход,
    ИсточникДанных.КоличествоРасход КАК КоличествоРасход,
    ИсточникДанных.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток,
    ИсточникДанных.КоличествоОборот КАК КоличествоОборот,
    ИсточникДанных.Регистратор.* КАК Регистратор,
    ИсточникДанных.Период КАК Период,
    НачалоПериода(ИсточникДанных.Период, День) КАК ПериодДень,
    НачалоПериода(ИсточникДанных.Период, Неделя) КАК ПериодНеделя,
    НачалоПериода(ИсточникДанных.Период, Декада) КАК ПериодДекада,
    НачалоПериода(ИсточникДанных.Период, Месяц) КАК ПериодМесяц,
    НачалоПериода(ИсточникДанных.Период, Квартал) КАК ПериодКвартал,
    НачалоПериода(ИсточникДанных.Период, Полугодие) КАК ПериодПолугодие,
    НачалоПериода(ИсточникДанных.Период, Год) КАК ПериодГод
    //УСЛОВИЯ_СВОЙСТВА
    //УСЛОВИЯ_КАТЕГОРИИ
    }
    {УПОРЯДОЧИТЬ ПО
    Склад.*,
    Номенклатура.*,
    ХарактеристикаНоменклатуры.*,
    СерияНоменклатуры.*,
    Качество.*,
    КоличествоНачальныйОстаток,
    КоличествоПриход,
    КоличествоРасход,
    КоличествоКонечныйОстаток,
    КоличествоОборот,
    Регистратор.*,
    Период,
    ПериодДень,
    ПериодНеделя,
    ПериодДекада,
    ПериодМесяц,
    ПериодКвартал,
    ПериодПолугодие,
    ПериодГод
    //ПСЕВДОНИМЫ_СВОЙСТВА
    //ПСЕВДОНИМЫ_КАТЕГОРИИ
    }
    ИТОГИ
    СУММА(КоличествоНачальныйОстаток),
    СУММА(КоличествоПриход),
    СУММА(КоличествоРасход),
    СУММА(КоличествоКонечныйОстаток),
    СУММА(КоличествоОборот)
    //ИТОГИ_СВОЙСТВА
    //ИТОГИ_КАТЕГОРИИ
    ПО
    ОБЩИЕ
    {ИТОГИ ПО
    Склад.*,
    Номенклатура.*,
    ХарактеристикаНоменклатуры.*,
    СерияНоменклатуры.*,
    Качество.*,
    Регистратор.*,
    Период,
    ПериодДень,
    ПериодНеделя,
    ПериодДекада,
    ПериодМесяц,
    ПериодКвартал,
    ПериодПолугодие,
    ПериодГод
    //ПСЕВДОНИМЫ_СВОЙСТВА
    //ПСЕВДОНИМЫ_КАТЕГОРИИ
    }
    
    В настройке установлены группировки по складу и номенклатуре. При формировании отчета не выводится ни одна группировка, при входе в настройку в группировках строк пусто, а все поля фигурируют как дополнительные.
    Посмотрел итоговый запрос в построителе:
    Код:
    ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ИсточникДанных.Склад КАК Склад,
    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Склад) КАК СкладПредставление,
    ИсточникДанных.Номенклатура КАК Номенклатура,
    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Номенклатура) КАК НоменклатураПредставление,
    ИсточникДанных.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.ХарактеристикаНоменклатуры) КАК ХарактеристикаНоменклатурыПредставление,
    ИсточникДанных.СерияНоменклатуры КАК СерияНоменклатуры,
    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.СерияНоменклатуры) КАК СерияНоменклатурыПредставление,
    ИсточникДанных.Качество КАК Качество,
    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Качество) КАК КачествоПредставление,
    ИсточникДанных.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток,
    ИсточникДанных.КоличествоПриход КАК КоличествоПриход,
    ИсточникДанных.КоличествоРасход КАК КоличествоРасход,
    ИсточникДанных.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток,
    ИсточникДанных.КоличествоОборот КАК КоличествоОборот,
    ИсточникДанных.Регистратор КАК Регистратор,
    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Регистратор) КАК РегистраторПредставление,
    ИсточникДанных.Период КАК Период,
    НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ДЕНЬ) КАК ПериодДень,
    НАЧАЛОПЕРИОДА(ИсточникДанных.Период, НЕДЕЛЯ) КАК ПериодНеделя,
    НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ДЕКАДА) КАК ПериодДекада,
    НАЧАЛОПЕРИОДА(ИсточникДанных.Период, МЕСЯЦ) КАК ПериодМесяц,
    НАЧАЛОПЕРИОДА(ИсточникДанных.Период, КВАРТАЛ) КАК ПериодКвартал,
    НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ПОЛУГОДИЕ) КАК ПериодПолугодие,
    НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ГОД) КАК ПериодГод
    ИЗ
    РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Регистратор, , ) КАК ИсточникДанных
    ГДЕ
    ИсточникДанных.Регистратор ССЫЛКА Документ.ПередачаТоваровВодителю
    ИТОГИ
    СУММА(КоличествоНачальныйОстаток),
    СУММА(КоличествоПриход),
    СУММА(КоличествоРасход),
    СУММА(КоличествоКонечныйОстаток),
    СУММА(КоличествоОборот)
    ПО
    ОБЩИЕ
    
    Если из запроса построителя убрать
    Код:
    ГДЕ ИсточникДанных.Регистратор ССЫЛКА Документ.СписаниеТоваров
    
    , то отчет формируется нормально

    Вложения:

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