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

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

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

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

Оффлайн Dethmontt

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

Оффлайн Gunner

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

Оффлайн has

  • Модератор
  • *****
  • Сообщений: 1310
  • РЕПУТАЦИЯ: 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

  • Денис
  • Модератор
  • *****
  • Сообщений: 2861
  • РЕПУТАЦИЯ: 548
  • КПД: 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 в новый


Теги:
 


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

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

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


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

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
152 Сообщений
oleg-x
65 Сообщений
alex0402
63 Сообщений
AIFrame AIFrame
52 Сообщений
wise wise
37 Сообщений
KOI8-R
34 Сообщений
buketov.av buketov.av
34 Сообщений
Alter
24 Сообщений
alexandr_ll
21 Сообщений
BuhRust
21 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal