Имя: Пароль:
1C
1С v8
Обработка
🠗 (Волшебник 09.08.2017 15:20)
,
0 malex18
 
09.08.17
15:19
Задание: Необходимо создать обработку переноса данных из табличной части «Настройка вознаграждения» справочника «Менеджеры» в регистр сведений «Настройка вознаграждения».

Решение:
&НаСервере
Процедура ОборотОборотСуммаПриИзмененииНаСервере()    
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ПродажиОбороты.СуммаОборот КАК СуммаОборот,
        |    Менеджеры.Ссылка КАК Ссылка
        |ПОМЕСТИТЬ ВТ
        |ИЗ
        |    Справочник.Менеджеры КАК Менеджеры
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, Месяц, ) КАК ПродажиОбороты
        |        ПО (ПродажиОбороты.Менеджер = Менеджеры.Ссылка)
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |    ТабМенеджеры.СуммаПродажЗаМесяц КАК СуммаПродажЗаМесяц,
        |    ТабМенеджеры.ПроцентВознаграждения КАК ПроцентВознаграждения,
        |    ТабМенеджеры.Ссылка КАК Ссылка,
        |    ВТ.СуммаОборот КАК СуммаОборот
        |ПОМЕСТИТЬ ВТ2
        |ИЗ
        |    ВТ КАК ВТ
        |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Менеджеры.НастройкаВознаграждения КАК ТабМенеджеры
        |        ПО ВТ.Ссылка = ТабМенеджеры.Ссылка
        |            И ВТ.СуммаОборот >= ТабМенеджеры.СуммаПродажЗаМесяц
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |    ВТ2.Ссылка КАК Ссылка,
        |    МАКСИМУМ(ВТ2.ПроцентВознаграждения * ВТ2.СуммаОборот/100) КАК Поле1
        |ИЗ
        |    ВТ2 КАК ВТ2
        |
        |СГРУППИРОВАТЬ ПО
        |    ВТ2.Ссылка";
    
    Запрос.УстановитьПараметр("КонецПериода", КонецМесяца(Объект.Период));
    //Запрос.УстановитьПараметр("Менеджер",ПродажиОбороты);
    Запрос.УстановитьПараметр("НачалоПериода",НачалоМесяца(Объект.Период));
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
КонецПроцедуры
1 Волшебник
 
модератор
09.08.17
15:20
и что?
2 malex18
 
09.08.17
15:20
Что не так сделал?
И что делать дальше?
3 Волшебник
 
модератор
09.08.17
15:23
(2) Спроси у того, кто дал тебе это задание.
4 malex18
 
09.08.17
15:24
Прекрасные ответы. Спасибо
5 Dmitry1c
 
09.08.17
15:32
+1 в копилку тупых, ленивых и жадных
6 Любопытная
 
09.08.17
15:33
(2) ничего не сделал. Запрос не читала, но записи данных в регистр не вижу. Значит ничего пока не сделал. Молодец, продолжай в том же духе
7 malex18
 
09.08.17
15:35
А как сделать запись в регистр?
Создал кнопку в форме обработки и какую команду туда писать не понимаю.
подскажите
8 Любопытная
 
09.08.17
15:38
(7) читай СП в разделе РегистрыСведений. Ну или погугли)
9 Dmitry1c
 
09.08.17
15:41
(7) некий человек целый курс на 30 часов по программированию записал, и выложил БЕСПЛАТНО на ютуб

https://www.youtube.com/watch?v=s6b8EXmz8a4&list=PLSFncBcxU4aKMwuwUtL3eQQlbopY2HPLL

посмотри для начала, перед тем как хоть какие-то реальные задачи делать
10 Феликс232
 
09.08.17
17:51
суровая постановка вопроса :)
про добавление записей в регистр сведений там
v8: V8: Добавление записей в регистр сведений программно:
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс