Имя: Пароль:
1C
 
Регистр накопления обороты
0 Cherryy
 
22.05.16
22:00
Помогите исправить ошибку..вот тут в функции(нах-ся в общих модулях):

Функция ОбщиеЗаказыКлиента() Экспорт     
    Отбор = Новый Структура("Клиент", ЭлементКлиента);
    ОбщийОбъемЗакупки = РегистрыНакопления.Продажи.Обороты("Клиент","Сумма");
    ОбщийОбъемЗакупки.ВыбратьСтроку("Продажи.Обороты за предыдущий месяц по "+Клиент);
    КонецФункции    

На форме вызывается так:

&НаКлиенте
      Процедура КлиентПриИзменении(Элемент)
Если Объект.Клиент <> ПредопределенноеЗначение("Справочник.Контрагенты.ПустаяСсылка") Тогда
       ОбъемЗакупки = РаботаСоСправочниками.ОбщиеЗаказыКлиента();
    ПроцентСкидки = 0;
        Если ОбъемЗакупки.Количество() > 0 Тогда
            СуммаЗакупки = ОбъемЗакупки[0].Сумма;
            Если СуммаЗакупки >= 10000 Тогда ПроцентСкидки = 15;
                ИначеЕсли СуммаЗакупки >= 5000 Тогда ПроцентСкидки = 10;
                ИначеЕсли СуммаЗакупки >= 3000 Тогда ПроцентСкидки = 5;    
                ИначеЕсли СуммаЗакупки >= 1000 Тогда ПроцентСкидки = 2;    
            КонецЕсли;
        КонецЕсли;    
        Для Каждого СтрокаТЧ Из Элементы.Товары Цикл
            СтрокаТЧ.Цена = СтрокаТЧ.Цена*(100-ПроцентСкидки)/100;
                    КонецЦикла;
    КонецЕсли;    
      КонецПроцедуры
1 Chainsaw
 
22.05.16
22:05
(0) Какую именно ошибку?
2 Cherryy
 
22.05.16
22:08
Функция ОбщиеЗаказыКлиента() Экспорт    
    Отбор = Новый Структура("Клиент", ЭлементКлиента);
    ОбщийОбъемЗакупки = РегистрыНакопления.Продажи.Обороты("Клиент","Сумма");
    ОбщийОбъемЗакупки.ВыбратьСтроку("Продажи.Обороты за предыдущий месяц по "+Клиент);
    КонецФункции    


ругается на Клиента
3 Lexey_
 
22.05.16
22:11
(2) без паяльника не расскажешь, видать?
4 Cherryy
 
22.05.16
22:15
{ОбщийМодуль.РаботаСоСправочниками.Модуль(11,36)}: Переменная не определена (ЭлементКлиента)
    Отбор = Новый Структура("Клиент", <<?>>ЭлементКлиента); (Проверка: Сервер)
{ОбщийМодуль.РаботаСоСправочниками.Модуль(13,76)}: Переменная не определена (Клиент)
    ОбщийОбъемЗакупки.ВыбратьСтроку("Продажи.Обороты за предыдущий месяц по "+<<?>>Клиент);  (Проверка: Сервер)
5 Chainsaw
 
22.05.16
22:15
(2) Ну хорошо. Какую именно ошибку из минимум двух тебе помочь исправить?
6 Chainsaw
 
22.05.16
22:16
(4) ... из четырех
7 Cherryy
 
22.05.16
22:17
Желательно бы все, пожалуйста)
8 Cherryy
 
22.05.16
22:18
Ибо все перепробовал, только все запутал в итоге(
9 Chainsaw
 
22.05.16
22:20
Последние две ошибки - в контексте общего модуля не видны переменные или реквизиты или что там у тебя, определенные в контексте формы. Наверно, стоит их туда передать.
Неплохо было бы также вернуть из функции результат.
А самое, что неприятное - на клиенте нет РегистрыНакопления.
Так что выбирай - или РегистрыНакопления или ВыбратьСтроку("...");
10 hhhh
 
22.05.16
22:27
(9) все нормально -  РегистрыНакопления у него на сервере
11 Cherryy
 
22.05.16
23:00
эм..объект.клиент, так?
Возврат ОбщийОбъемЗакупки(); ???
12 Chainsaw
 
22.05.16
23:01
(10) А "ВыбратьСтроку" в той же функции значит на клиенте. Ок =)
13 Chainsaw
 
22.05.16
23:03
(11) Гм... дай-ка еще чуть-чуть потелепатирую. Думай ярче о свой форме, тут какие-то помехи =)
14 Chainsaw
 
22.05.16
23:04
(10)+
Хотя да, судя по "ПриИзменении2 это толстый клиент, не заметил. Ну, тогда "&НаКлиенте" лишнее
15 Cherryy
 
22.05.16
23:08
ОбщийОбъемЗакупки.ВыбратьСтроку("Продажи.Обороты за предыдущий месяц по "+Клиент);

Вообще думаю убрать эту строку
16 Cherryy
 
22.05.16
23:10
Мне нужно из РН общую сумму заказов по контрагенту
17 Сергиус
 
22.05.16
23:21
(16)А почему не запросом?
18 hhhh
 
22.05.16
23:22
(16) что такое ЭлементКлиента у тебя? Фокус такой? Не было же? И вдруг пишешь это слово?