Имя: Пароль:
1C
1С v8
Получение из РС определенного числа
,
0 Sasha_H
 
27.09.11
15:09
Здраствуйте. Отпуск на пользу не пошол, чет не могу решить задачку.

Есть регистр сведений к примеру с данными:
100
200
300
400

Необходимо взять число которое входит в данный диапазон но не больше другого. Например входящее число 270. Вот как сделать чтобы вернулся результат только 200?

вот тут запросик моего регистра начал писать но с условием что-то никак...

ВЫБРАТЬ
   ШкалаБонусов.Менеджер,
   ШкалаБонусов.План,
   ШкалаБонусов.Бонус
ИЗ
   РегистрСведений.ШкалаБонусов КАК ШкалаБонусов
ГДЕ
   ?????
1 Ненавижу 1С
 
гуру
27.09.11
15:11
ВЫБРАТЬ
   ШкалаБонусов.Менеджер,
   МАКСИМУМ(ШкалаБонусов.План)
ИЗ
   РегистрСведений.ШкалаБонусов КАК ШкалаБонусов
ГДЕ
   ШкалаБонусов.План<=&Параметр
СГРУППИРОВАТЬ ПО
   ШкалаБонусов.Менеджер
2 palpetrovich
 
27.09.11
15:12
МЕЖДУ ?
3 Sasha_H
 
27.09.11
15:13
между не канает так как м.б. к примеру 10. нету конечного диапазона
4 palpetrovich
 
27.09.11
15:13
(3) да, (1) рулит кажись
5 Sasha_H
 
27.09.11
15:15
та рулит, то рулит, только вот измерения у меня там три, и соеденять надо сумму из другим регистром, то есть не канает такое.
6 Sasha_H
 
27.09.11
15:16
Параметр = СуммовойРесурсДругого регистра
7 Sasha_H
 
27.09.11
15:16
а это условия более для вложенного запроса подходит или как само по себе
8 Ненавижу 1С
 
гуру
27.09.11
15:16
(7) озвучь всю задачу
9 Sasha_H
 
27.09.11
15:20
необходимо по выручке проданных товаров определить бонус менеджера.

В бонусной схеме есть план и бонус, то есть если менеджер делает сумму продаж которая есть в планах то ему бонус в ЗП. Так вот соот-но, что первый регистр у нас Продажи, который будет ЛЕВЫМ соединением с РС.ШкалаБонусов.
10 DrShad
 
27.09.11
15:21
я когда-то из такого РС собирал временную таблицу с полями От и До, а потом МЕЖДУ и все канало
11 Ненавижу 1С
 
гуру
27.09.11
15:25
(9) и в чем проблема?
достаточно также еще группировать не только по менеджеру, но еще и по бонусу
12 Ненавижу 1С
 
гуру
27.09.11
15:28
+(11) херня, вложи все это в подзапрос и соеди с собой же бонусы
13 Sasha_H
 
27.09.11
15:47
ВЫБРАТЬ
   Продажи.Организация,
   Продажи.Контрагент.ОсновнойМенеджерПокупателя КАК Менеджер,
   Продажи.Контрагент,
   Продажи.ДоговорКонтрагента,
   Продажи.ЗаказПокупателя,
   Продажи.ДокументПродажи,
   Продажи.СтоимостьОборот КАК Продано
{ВЫБРАТЬ
   Организация.*,
   Менеджер.*,
   Контрагент.*,
   ДоговорКонтрагента.*,
   ЗаказПокупателя.*,
   ДокументПродажи.*,
   Продано КАК Продано}
ИЗ
   РегистрНакопления.Продажи.Обороты(
           &ДатаНач,
           &ДатаКон,
           ,
           ДоговорКонтрагента.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровКонтрагентов.СПокупателем)
               И ДоговорКонтрагента.ВедениеВзаиморасчетов = ЗНАЧЕНИЕ(Перечисление.ВедениеВзаиморасчетовПоДоговорам.ПоЗаказам)
               И ДокументПродажи ССЫЛКА Документ.РеализацияТоваровУслуг
               И (НЕ ДокументПродажи.ТипЦен = ЗНАЧЕНИЕ(Справочник.ТипыЦенНоменклатуры.ПустаяСсылка))
               И ЗаказПокупателя <> ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)) КАК Продажи
{ГДЕ
   Продажи.Организация.*,
   Продажи.Контрагент.ОсновнойМенеджерПокупателя.* КАК Менеджер,
   Продажи.Контрагент.*,
   Продажи.ДоговорКонтрагента.*,
   Продажи.ЗаказПокупателя.*,
   Продажи.ДокументПродажи.*,
   Продажи.СтоимостьОборот}
ИТОГИ
   СУММА(Продано)
ПО
   ОБЩИЕ
{ИТОГИ ПО
   Менеджер.*,
   Контрагент.*}

Сложность остоит в том, что бонусная программа должна посчитаться уже на весь оборот продажи а не для каждой накладной.
14 Sasha_H
 
27.09.11
15:48
я так понял придется СКД вруки брать!?
15 Axel2009
 
27.09.11
15:53
ну ты создай регистр сведений с данными от включительно, и до исключая. и строй запрос. в чем проблема то?
16 IronDemon
 
27.09.11
16:19
(15) +1
В ресурсах "Начальный предел" и "Конечный предел" задай
http://clip2net.com/s/1czh2
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший