8.х Помогите рационально сконструировать запрос

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем 1Cnica, 3 мар 2009.

  1. TopicStarter Overlay
    1Cnica
    Offline

    1Cnica Опытный в 1С

    Регистрация:
    13 фев 2009
    Сообщения:
    416
    Симпатии:
    0
    Баллы:
    26
    Всем привет.
    Такая проблема: требуется вывести отчет по сотрудникам и клиентам. Для этого каждый сотр заполняет в базе документ РаботыЗаДень, которые затем накапливаются в регистре накопления РаботаСотрудников.
    Документ представляет собой следующее:

    Вложения:

    • раб.JPG
      раб.JPG
      Размер файла:
      64 КБ
      Просмотров:
      26
  2. vitaly_mnpz
    Offline

    vitaly_mnpz Опытный в 1С

    Регистрация:
    15 фев 2009
    Сообщения:
    267
    Симпатии:
    0
    Баллы:
    26
    а в чем проблема- то?
    оборотный регистр накопления с измерениями контрагент, сотрудник, работа, ресурсом количество

    открываешь универсальный отчет, выбираешь этот регистр и вуаля
  3. TopicStarter Overlay
    1Cnica
    Offline

    1Cnica Опытный в 1С

    Регистрация:
    13 фев 2009
    Сообщения:
    416
    Симпатии:
    0
    Баллы:
    26
    дык это-то понятно, но макет должен иметь такой вид:


    мало того, что надо вывести сотрудников по подразделением, это ладно вывела (вертикально в макете)
    потом организации из выборки, это тоже ладно, вывела (горизонтально)
    но ведь теперь надо связать одно с другим из того же запроса
    вот запрос:
    Код:
    ЗапросПоРабКад = Новый Запрос;
    
    
    ЗапросПоРабКад.УстановитьПараметр("Н", НачалоДня(ЭлементыФормы.Н.Значение));   //ДатаНач
    ЗапросПоРабКад.УстановитьПараметр("К", КонецДня(ЭлементыФормы.К.Значение));//ДатаКон
    
    
    ЗапросПоРабКад.Текст = 
    
    "ВЫБРАТЬ
    |	РаботаСотрудников.Период,
    |	РаботаСотрудников.Организация КАК Организация,
    |	РаботаСотрудников.Выработка КАК Выработка,
    |	РаботаСотрудников.Физлицо.ФизЛицо КАК ФизлицоФизЛицо,
    |	РаботаСотрудников.МоментВремени,
    |	ВложенныйЗапрос.Период КАК Период1,
    |	ВложенныйЗапрос.ФизЛицо КАК ФизЛицо,
    |	ВложенныйЗапрос.Подразделение КАК Подразделение
    |ИЗ
    |	РегистрНакопления.РаботаСотрудников КАК РаботаСотрудников
    |		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
    |			РаботникиСрезПоследних.Период КАК Период,
    |			РаботникиСрезПоследних.ФизЛицо КАК ФизЛицо,
    |			РаботникиСрезПоследних.Подразделение КАК Подразделение
    |		ИЗ
    |			РегистрСведений.Работники.СрезПоследних КАК РаботникиСрезПоследних) КАК ВложенныйЗапрос
    |		ПО РаботаСотрудников.Физлицо.ФизЛицо = ВложенныйЗапрос.ФизЛицо
    |ГДЕ
    |	РаботаСотрудников.Период МЕЖДУ &Н И &К
    |
    |УПОРЯДОЧИТЬ ПО
    |	ФизлицоФизЛицо
    |ИТОГИ
    |	СУММА(Выработка)
    |ПО
    |	ОБЩИЕ,
    |	Организация,
    |	ФизЛицо";
    
    РезПоКадрам = ЗапросПоРабКад.Выполнить().Выгрузить();
    

    Вложения:

    • мак.JPG
      мак.JPG
      Размер файла:
      134,1 КБ
      Просмотров:
      22
  4. TopicStarter Overlay
    1Cnica
    Offline

    1Cnica Опытный в 1С

    Регистрация:
    13 фев 2009
    Сообщения:
    416
    Симпатии:
    0
    Баллы:
    26
    то есть сколько времени (в минутах) каждый сотрудник потратил на каждого клиента и еще до кучи вывести сумму оплаты ему за это, которая считается выборкой графика работы сотрудника, количества рабочих дней в выбранном периоде, ну в общем исходя из ставки сотрудника, которая опять же должна цеплятся по-видимому из регистра Работники.

    короче, моск вывернут :'(
  5. vitaly_mnpz
    Offline

    vitaly_mnpz Опытный в 1С

    Регистрация:
    15 фев 2009
    Сообщения:
    267
    Симпатии:
    0
    Баллы:
    26
    Не нужно городить сложные запросы. Все поля нужно вычислять при проведении документа, регистрирующего выработку. А в регистре накопления добавить измерения, которые могут потребоваться для группировок и отборов отчета
  6. TopicStarter Overlay
    1Cnica
    Offline

    1Cnica Опытный в 1С

    Регистрация:
    13 фев 2009
    Сообщения:
    416
    Симпатии:
    0
    Баллы:
    26
    пожалуйста, объясните поподробнее.
    вы имеете ввиду в регистр добавить подразделение сотрудника что ли?
    а это как сделать?
  7. vitaly_mnpz
    Offline

    vitaly_mnpz Опытный в 1С

    Регистрация:
    15 фев 2009
    Сообщения:
    267
    Симпатии:
    0
    Баллы:
    26
    то есть сколько времени (в минутах) каждый сотрудник потратил на каждого клиента и еще до кучи вывести сумму оплаты ему за это, которая считается выборкой графика работы сотрудника, количества рабочих дней в выбранном периоде, ну в общем исходя из ставки сотрудника, которая опять же должна цеплятся по-видимому из регистра Работники.

    Все поля, которые могут понадобиться в отчете пишите в регистр, если уж это предмет разработки, а не стремление реализовать всё в типовом функционале.
  8. TopicStarter Overlay
    1Cnica
    Offline

    1Cnica Опытный в 1С

    Регистрация:
    13 фев 2009
    Сообщения:
    416
    Симпатии:
    0
    Баллы:
    26
    понятно, огромное спасибо.
Похожие темы
  1. alp
    Ответов:
    9
    Просмотров:
    772
Загрузка...

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