Помогите запрос составить

  1. 9 г. назад

    в регистре сведений периодическом надо вытащить по условиям все записи за 2014 год...к примеру оклады...но так же нужно показывать оклад до изменения...чет не соображу как запрос составить??? дату же динамически во вторую таблицу не передашь...а как быть???

    Ответы: (1) (7)
  2. V777 но так же нужно показывать оклад до изменения...

    который был в 2013-м? или что?

    нарисуй структуру РС и таблицу, которую хочешь получить на выходе

    Ответы: (4)
  3. срез предпоследних?

  4. ВЫБРАТЬ
    	ЦеныНоменклатуры.Номенклатура КАК Номенклатура,
    	ЦеныНоменклатуры.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
    	ЦеныНоменклатуры.Период КАК Период,
    	ЦеныНоменклатуры.Цена КАК Цена,
    	МАКСИМУМ(ЦеныНоменклатурыДляСоединения.Период) КАК ПериодЦены
    ПОМЕСТИТЬ ТаблицаПредварительная
    ИЗ
    	РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
    		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатурыДляСоединения
    		ПО ЦеныНоменклатуры.Номенклатура = ЦеныНоменклатурыДляСоединения.Номенклатура
    			И ЦеныНоменклатуры.ХарактеристикаНоменклатуры = ЦеныНоменклатурыДляСоединения.ХарактеристикаНоменклатуры
    			И ЦеныНоменклатуры.Период > ЦеныНоменклатурыДляСоединения.Период
    
    СГРУППИРОВАТЬ ПО
    	ЦеныНоменклатуры.Номенклатура,
    	ЦеныНоменклатуры.ХарактеристикаНоменклатуры,
    	ЦеныНоменклатуры.Период,
    	ЦеныНоменклатуры.Цена
    ;
    
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    	ТаблицаПредварительная.Период КАК Период,
    	ТаблицаПредварительная.Номенклатура КАК Номенклатура,
    	ТаблицаПредварительная.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
    	ТаблицаПредварительная.Цена КАК Цена,
    	ТаблицаПредварительная.ПериодЦены КАК ПериодЦены,
    	ЦеныНоменклатуры.Цена КАК ЦенаПредыдущая
    ИЗ
    	ТаблицаПредварительная КАК ТаблицаПредварительная
    		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
    		ПО ТаблицаПредварительная.Номенклатура = ЦеныНоменклатуры.Номенклатура
    			И ТаблицаПредварительная.ХарактеристикаНоменклатуры = ЦеныНоменклатуры.ХарактеристикаНоменклатуры
    			И ТаблицаПредварительная.ПериодЦены = ЦеныНоменклатуры.Период
    Ответы: (4) (5)
  5. (1) РС простой...сотрудник вид расчета оклад действие(начать, изменить, прекратить)...а получить надо сотрудник дата изменения оклада...оклад предыдущий...оклад на который поменяли...

    (3) в принципе работает...НО
    допустим сотру поменяли оклад два раза за год...в 13 году было 200 000...01.06 поменяли на 230 000 01.07 поменяли на 240 000
    так вот в первой строке предыдущий оклад пишет 240 000 а новый 200 000...дальше нормально...

  6. 26.02.2015 09:19:57 отредактировано V777

    (3) пардон...все работает...эт я криворукий...)
    спасибо...)

  7. еще вопросец...у мну в запросе два параметра даты...хочу в скд что бы они при открытии отчета на форме были для выбора...чет не выходит их вытащить...раньше делал вроде...

    Ответы: (10)
  8. (0) Это ты к сертификации готовишься? У меня как раз такой запросик на экзамене попался )

    Ответы: (9)
  9. 26.02.2015 10:19:30 отредактировано MIK

    Разбитие оклада при многократном изменении его значения внутри периода расчета. Вариант получения разбивки прямо в запросе.

    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Ссылка", Ссылка);
    Запрос.УстановитьПараметр("ДатаНачала", НачалоМесяца(ПериодРегистрации));
    Запрос.УстановитьПараметр("ДатаОкончания", КонецМесяца(ПериодРегистрации));

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

    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
    НоваяЗапись = Движения.ОсновныеНачисления.Добавить();
    ЗаполнитьЗначенияСвойств(НоваяЗапись, Выборка);
    КонецЦикла;

    (с)

  10. (7) да не кадровики тут мозги парят...

  11. (6) отчет делай на управляемой форме, в СКД на закладке настройки в параметрах включи в пользовательские настройки

    Ответы: (11)
  12. (10) в том то и дело...я это помню...галки все поставил...на форме нету...думаю мож подзабыл чего???

    Ответы: (16)
  13. покажи скрин настроек, скрин пользовательских настроек, скрин отчета в режиме предприятия

  14. 1.PNG
    2.PNG

    Ответы: (15)
  15. 3.PNG

  16. (13) конечно подзабыл. в 8.1 надо на форму кинуть ТабличноеПоле и указать источник - параметры данных компоновщика настроек.

    в УФ настройки появляются автоматом

    Ответы: (16)
  17. (11) я же тебе написал, при условии управляемых форм. раз обычные - смотри (15)

  18. ааа...вот оно че...писец я тормоз...)))

или зарегистрируйтесь чтобы ответить!