Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
15 Дек 2017, 20:59
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Работа с периодом  (Прочитано 8838 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Gunner

  • ****
  • Сообщений: 291
  • РЕПУТАЦИЯ: 23
  • КПД: 8%
  • Регистрация: 2011-08-07
  • Сайт: 
  • Профессия: Программист 1С
Вытаскиваю в консоле запросов данные из виртуальной таблицы регистра сведенений (срезпоследних) по сотрудникам. Есть следующие поля: фио,должность,отдел. Момент такой: например на 08.07.2011 сотрудник перешёл в другой отдел. Необходимо показать последнее перемещение на дату месяца, т.е если укажем параметр период 01.07.2011, то сотрудник должен быть в новом отделе(в который переходит 08.07.2011). Как сформировать этот вроде лёгкий запрос? Что-то не получается. Ещё бы хорошо, чтобы можно было указать начало и конец периода.
Делаю вот как:
ВЫБРАТЬ
   РаботникиОрганизацийСрезПоследних.Сотрудник КАК ФИО,
   РаботникиОрганизацийСрезПоследних.Должность КАК Должность,
   РаботникиОрганизацийСрезПоследних.Отдел КАК Отдел,
   НачалоПериода(РаботникиОрганизацийСрезпоследних.Период, Месяц) как Период
ИЗ
   РегистрСведений.РаботникиОрганизаций.СрезПоследних КАК РаботникиОрганизацийСрезПоследних
где
              РаботникиОрганизацийСрезпоследних.Период между &НачалоПериода и &КонецПериода

В параметрах указываю начало и конец периода с 01.07 по 31.07 - отдел новый, с 01.07 по 07.07 - пусто. Можно сделать вместо начало и конец периода только месячный период, но не получается( Помогите!


Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Не используй срез последних чо тут не понятного то
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Срез последних на то и придуман что бы получать срез на дату, нужны все движения дерзай реальную таблицу
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн Gunner

  • ****
  • Сообщений: 291
  • РЕПУТАЦИЯ: 23
  • КПД: 8%
  • Регистрация: 2011-08-07
  • Сайт: 
  • Профессия: Программист 1С
Но тогда я не смогу получить последнее значение на другую дату(

Оффлайн has

  • Модератор
  • *****
  • Сообщений: 1308
  • РЕПУТАЦИЯ: 285
  • КПД: 22%
  • Регистрация: 2011-01-28
  • Сайт: 
  • Профессия: Программист 1С
На 01.07 ты не получишь сотрудника, который ушел 08.07.

Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
А что мешает взять срез последних на дату 31.07? Тогда если человек в июле перешел в другой отдел, будет в новом отделе, если не переходил - перемещение отражено и не будет.
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Оффлайн Gunner

  • ****
  • Сообщений: 291
  • РЕПУТАЦИЯ: 23
  • КПД: 8%
  • Регистрация: 2011-08-07
  • Сайт: 
  • Профессия: Программист 1С
А что мешает взять срез последних на дату 31.07? Тогда если человек в июле перешел в другой отдел, будет в новом отделе, если не переходил - перемещение отражено и не будет.
Ты имеешь ввиду вот это: РегистрСведений....СрезПоследних(КонецПериода(&Период, Месяц)) ?
конец месяца брал, в консоле работает, в отчёте нет :(
Задача изменилась: как можно сделать так, чтобы начисления за месяц попадали и по одному отделу и по другому? (т.е с 01 по 07. - Xруб по отделу X, а с 08 по конец месяца Yруб по отделу Y)

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Хочу вертолет
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
конец месяца брал, в консоле работает, в отчёте нет :(
Как это не работает? Должно работать, значит что-то не так было сделано. Плюс, если уж не получается так, можно в запрос в это место передавать не Период, а КонецМесяца(Период).

Задача изменилась: как можно сделать так, чтобы начисления за месяц попадали и по одному отделу и по другому? (т.е с 01 по 07. - Xруб по отделу X, а с 08 по конец месяца Yруб по отделу Y)

Откуда берем начисления? В запросе не вижу их. Но могу предположить, что так и берем - в разрезе отдела.
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Оффлайн Gunner

  • ****
  • Сообщений: 291
  • РЕПУТАЦИЯ: 23
  • КПД: 8%
  • Регистрация: 2011-08-07
  • Сайт: 
  • Профессия: Программист 1С
Вот такой вот запрос сформировал.
ВЫБРАТЬ
   ВложенныйЗапрос.ВидРасчета КАК ВидНачисления,
   ВложенныйЗапрос.Сотрудник КАК Сотрудник,
   ВложенныйЗапрос.Результат КАК Результат,
   РаботникиОрганизацийСрезПоследних.Должность КАК Должность,
   РаботникиОрганизацийСрезПоследних.Отдел КАК Отдел,
   РаботникиОрганизацийСрезПоследних.Период КАК Период,
   ВложенныйЗапрос.ПериодРегистрации КАК ПериодНачисления
ИЗ
   (ВЫБРАТЬ
      ОсновныеНачисления.ПериодРегистрации КАК ПериодРегистрации,
      ОсновныеНачисления.ВидРасчета КАК ВидРасчета,
      ОсновныеНачисления.Сотрудник КАК Сотрудник,
      ОсновныеНачисления.Результат КАК Результат
   ИЗ
      РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК ОсновныеНачисления
   
   ОБЪЕДИНИТЬ ВСЕ
   
   ВЫБРАТЬ
      ДополнительныеНачисления.ПериодРегистрации,
      ДополнительныеНачисления.ВидРасчета,
      ДополнительныеНачисления.Сотрудник,
      ДополнительныеНачисления.Результат
   ИЗ
      РегистрРасчета.ДополнительныеНачисленияРаботниковОрганизаций КАК ДополнительныеНачисления) КАК ВложенныйЗапрос
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций.СрезПоследних(&Период, ) КАК РаботникиОрганизацийСрезПоследних
ПО ВложенныйЗапрос.Сотрудник = РаботникиОрганизацийСрезПоследних.Сотрудник
ГДЕ
   ГОД(ВложенныйЗапрос.ПериодРегистрации) = ГОД(&Период)
   И МЕСЯЦ(ВложенныйЗапрос.ПериодРегистрации) = МЕСЯЦ(&Период)

В параметрах скд указал в выражении периода функция КонецПериода(&Период, "Месяц"). Теперь считает всё хорошо, начисления попадают в новый отдел, в который сотрудник перешёл 08.07. А как сделать так, чтобы он попал и в старый отдел и в новый, а з/п какбы разделилась, т.е сколько ему начислили с 01 по 07 в старый отдел, с 08 по 31 в новый


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
180 Сообщений
ilyay ilyay
69 Сообщений
alex0402
54 Сообщений
oleg-x
48 Сообщений
AIFrame
46 Сообщений
andron81_81
44 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
Golickoff Golickoff
31 Сообщений
BuhRust
30 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 264
  • Точка Скрытых: 0
  • Точка Пользователей: 2
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal