helpf.pro
Регистрация

Надбавки по регистру продажи

Kristina
05.11.2010 14:07Прочитано: 2244
Здравствуйте. Добавляю на регистр Продажи Измерения «ФизЛицо», на Справочнике «Должности» устанавливаю процент бонуса на должность – записываю в регистр (Периодический, Месяц). Запросом получаю таблицу она ниже прикреплена. Проблема в том что когда сотрудник принят дважды на работу или имеет перемещение на другую должность – В таблице заполняется два поля с разным значением Приказа, должности, процента(так и должно быть), а вот СуммаОборота по регистру продажи одна. Как можно разделить эту сумму. (Например сотрудник работал с 1-15 число на должносьти Охраник(Процент 1,5) с 16- 31 число на должносьти Дворник (2,1) а на регисре продажи за месяц на сотрудники Сумма оборот = 5000 ) Если нужен код запроса могу скинуть. Ой долго парюсь может кто что поможет! *01
Yandex
Возможно, вас также заинтересует
Реклама на портале
Kristina
05.11.2010 14:09Ответ № 1
Код 1C v 8.х
  ВЫБРАТЬ
РаботникиОрганизацийСрезПоследних.Период,
РаботникиОрганизацийСрезПоследних.Физлицо,
РаботникиОрганизацийСрезПоследних.Приказ,
РаботникиОрганизацийСрезПоследних.Должность
ПОМЕСТИТЬ РаботникиОрганизации
ИЗ
(ВЫБРАТЬ
МАКСИМУМ(РаботникиОрганизацийСрезПоследних.Период) КАК Период,
РаботникиОрганизацийСрезПоследних.Физлицо КАК Физлицо
ИЗ
РегистрСведений.РаботникиОрганизаций.СрезПоследних(&Дата1, Организация = &Организация) КАК РаботникиОрганизацийСрезПоследних
ГДЕ
РаботникиОрганизацийСрезПоследних.ПричинаИзмененияСостояния <> &Увольнение

СГРУППИРОВАТЬ ПО
РаботникиОрганизацийСрезПоследних.Физлицо) КАК ВложенныйЗапрос
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций.СрезПоследних(&Дата0, Организация = &Организация) КАК РаботникиОрганизацийСрезПоследних
ПО ВложенныйЗапрос.Период = РаботникиОрганизацийСрезПоследних.Период
И ВложенныйЗапрос.Физлицо = РаботникиОрганизацийСрезПоследних.Физлицо

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
РаботникиОрганизаций.Период,
РаботникиОрганизаций.Физлицо,
РаботникиОрганизаций.Приказ,
РаботникиОрганизаций.Должность
ИЗ
РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
ГДЕ
РаботникиОрганизаций.Организация = &Организация
И РаботникиОрганизаций.Период МЕЖДУ &Дата И &Дата1
И РаботникиОрганизаций.ПричинаИзмененияСостояния <> &Увольнение
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
УстановкаПроцентаОтПродажиСрезПоследних.ДолжностиОрганизации,
УстановкаПроцентаОтПродажиСрезПоследних.Процент
ПОМЕСТИТЬ ПроцентДолжности
ИЗ
РегистрСведений.УстановкаПроцентаОтПродажи.СрезПоследних(&Дата1, ) КАК УстановкаПроцентаОтПродажиСрезПоследних
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
РаботникиОрганизации.Период,
РаботникиОрганизации.Физлицо,
РаботникиОрганизации.Приказ,
ПроцентДолжности.ДолжностиОрганизации,
ПроцентДолжности.Процент,
ПродажиОбороты.СтоимостьОборот
ИЗ
РегистрНакопления.Продажи.Обороты(&Дата, &Дата1, , Организация = &Организация) КАК ПродажиОбороты
ЛЕВОЕ СОЕДИНЕНИЕ РаботникиОрганизации КАК РаботникиОрганизации
ЛЕВОЕ СОЕДИНЕНИЕ ПроцентДолжности КАК ПроцентДолжности
ПО РаботникиОрганизации.Должность = ПроцентДолжности.ДолжностиОрганизации
ПО ПродажиОбороты.Продавец = РаботникиОрганизации.Физлицо]
E_Migachev
07.11.2010 20:40Ответ № 2
Ошибка здесь:
Код 1C v 8.х
 ВЫБРАТЬ
УстановкаПроцентаОтПродажиСрезПоследних.ДолжностиОрганизации,
УстановкаПроцентаОтПродажиСрезПоследних.Процент
ПОМЕСТИТЬ ПроцентДолжности
ИЗ
РегистрСведений.УстановкаПроцентаОтПродажи.СрезПоследних(&Дата1, ) КАК УстановкаПроцентаОтПродажиСрезПоследних
;

он у тебя получает срез последних - т.е. ТОЛЬКО последнее значение!
Kristina
08.11.2010 07:31Ответ № 3
За ответ конечно спс, но все же даже если брать срез последних с регистраСведений сумма с регистра оборотыПродажи все ровно одна на две записи из регистра регистраСведений.
E_Migachev
08.11.2010 09:29Ответ № 4
(1) а для чего вот это?:
Код 1C v 8.х
   ВЫБРАТЬ
РаботникиОрганизацийСрезПоследних.Период,
РаботникиОрганизацийСрезПоследних.Физлицо,
РаботникиОрганизацийСрезПоследних.Приказ,
РаботникиОрганизацийСрезПоследних.Должность
ПОМЕСТИТЬ РаботникиОрганизации
ИЗ
(ВЫБРАТЬ
МАКСИМУМ(РаботникиОрганизацийСрезПоследних.Период) КАК Период,
РаботникиОрганизацийСрезПоследних.Физлицо КАК Физлицо
ИЗ
РегистрСведений.РаботникиОрганизаций.СрезПоследних(&Дата1, Организация = &Организация) КАК РаботникиОрганизацийСрезПоследних
ГДЕ
РаботникиОрганизацийСрезПоследних.ПричинаИзмененияСостояния <> &Увольнение

СГРУППИРОВАТЬ ПО
РаботникиОрганизацийСрезПоследних.Физлицо) КАК ВложенныйЗапрос
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций.СрезПоследних(&Дата0, Организация = &Организация) КАК РаботникиОрганизацийСрезПоследних
ПО ВложенныйЗапрос.Период = РаботникиОрганизацийСрезПоследних.Период
И ВложенныйЗапрос.Физлицо = РаботникиОрганизацийСрезПоследних.Физлицо

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
РаботникиОрганизаций.Период,
РаботникиОрганизаций.Физлицо,
РаботникиОрганизаций.Приказ,
РаботникиОрганизаций.Должность
ИЗ
РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
ГДЕ
РаботникиОрганизаций.Организация = &Организация
И РаботникиОрганизаций.Период МЕЖДУ &Дата И &Дата1
И РаботникиОрганизаций.ПричинаИзмененияСостояния <> &Увольнение
;

когда можно просто:
Код 1C v 8.х
 ВЫБРАТЬ
РаботникиОрганизаций.Период,
РаботникиОрганизаций.Физлицо,
РаботникиОрганизаций.Приказ,
РаботникиОрганизаций.Должность
ИЗ
РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
ГДЕ
РаботникиОрганизаций.Организация = &Организация
И РаботникиОрганизаций.Период МЕЖДУ &Дата И &Дата1
И РаботникиОрганизаций.ПричинаИзмененияСостояния <> &Увольнение


Далее смотрим это:
Код 1C v 8.х
 ВЫБРАТЬ
УстановкаПроцентаОтПродажиСрезПоследних.ДолжностиОрганизации,
УстановкаПроцентаОтПродажиСрезПоследних.Процент
ПОМЕСТИТЬ ПроцентДолжности
ИЗ
РегистрСведений.УстановкаПроцентаОтПродажи.СрезПоследних(&Дата1, ) КАК УстановкаПроцентаОтПродажиСрезПоследних
;
Получается ты срезаешь последние только на дату1, а тебе получается нужно снимать на каждую дату Перемещения или Приема на работу - это можно сделать только в СКД вот пример
Далее ты получаешь обороты продаж за указанный период, а нужно за периоды Перемещения и Приема - опять же это может только СКД
*13
Kristina
08.11.2010 12:22Ответ № 5
Это для того: Сотрудник повторно принят на работу, в запрос попадает две записи, одна из которых по старому приказу(Срез последних), хотя я уже сама запуталась в этом запросе *17 *01 *06 Спс, сейчас посмотрю *06
Kristina
09.11.2010 13:22Ответ № 6
Все наверное нужно закрыть вопрос...Я уже все по другому переиграла....(((
Kristina
09.11.2010 13:23Ответ № 7
Вопрос закрыт!
Подсказка: Для быстрого перемещения к последнему ответу или к вопросу используйте или .
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.