Имя: Пароль:
1C
 
Не записываются новые записи регистра сведений Курсы валют
0 Анцеранана
 
10.10.14
14:16
Уважаемые коллеги! Помогите...
Не записываются новые записи регистра сведений Курсы валют (добавляю значения по внутрифирменной валюте).
Через отладчик видно, что запись создается и записывается.
Тем не менее в базе никаких записей не появляется.
Отчего может быть такой глюк?
1 Анцеранана
 
10.10.14
14:17
тему неправильно указал изменить пожалуйста
2 aka AMIGO
 
10.10.14
14:17
(1) Не забывай.
3 butterbean
 
10.10.14
14:18
код давай
4 aka AMIGO
 
10.10.14
14:18
И укажи конфигурацию, версию, релиз..
5 Defender aka LINN
 
10.10.14
14:20
(0) Транзакция?
6 anatoly
 
10.10.14
14:31
консолью запросов видно? может отбор?
7 Анцеранана
 
10.10.14
14:45
УПП:

Процедура ЗагрузитьКурсыВалют() Экспорт  
    
Попытка
        НачатьТранзакцию();
        
        ОбработкаЗагрузкиКурсовВалют = Обработки._КурсыВалютРБК.Создать();
        ОбработкаЗагрузкиКурсовВалют.УстановитьПериодЗагрузки();
        ОбработкаЗагрузкиКурсовВалют.ЗаполнитьВалюты(Истина);
КонецПроцедуры
        ОбработкаЗагрузкиКурсовВалют.ЗагрузитьКурсыСРБК();
        
        НачДата = ТекущаяДата()-2592000; КонДата = КонецДня(ТекущаяДата())+1;
        РегистрКурсыВалют = РегистрыСведений.КурсыВалют;
        Зап = Новый Запрос;
        Зап.Текст = "ВЫБРАТЬ
        |    КурсыВалют.Период,
        |    КурсыВалют.Валюта,
        |    КурсыВалют.Курс,
        |    КурсыВалют.Кратность
        |ИЗ
        |    РегистрСведений.КурсыВалют КАК КурсыВалют
        |ГДЕ
        |    КурсыВалют.Валюта.Ссылка = &ВалютаUSD
        |    И КурсыВалют.Период >= &ДатаНач
        |    И КурсыВалют.Период <= &ДатаКон";
        Зап.УстановитьПараметр("ВалютаUSD",Справочники.Валюты.НайтиПоКоду("840"));
        Зап.УстановитьПараметр("ДатаНач",НачДата);
        Зап.УстановитьПараметр("ДатаКон",КонДата);
        Отбор = Зап.Выполнить().Выбрать();
        Пока Отбор.Следующий() Цикл
            ТекущаяВалюта = Отбор.Валюта;  
            НоваяВалюта  = Справочники.Валюты.НайтиПоКоду("101");
            
            ЗаписьКурсовВалют = РегистрКурсыВалют.СоздатьМенеджерЗаписи();
            ЗаписьКурсовВалют.Валюта = НоваяВалюта;
            ЗаписьКурсовВалют.Период = Отбор.Период;
            ЗаписьКурсовВалют.Прочитать();
            Если НЕ ЗаписьКурсовВалют.Выбран() Тогда
                ЗаписьКурсовВалют.Активность = Истина;
                ЗаписьКурсовВалют.Валюта    = НоваяВалюта;
                ЗаписьКурсовВалют.Период    = Отбор.Период;
                ЗаписьКурсовВалют.Курс      = Отбор.Курс*1.03;
                ЗаписьКурсовВалют.Кратность = Отбор.Кратность;
                ЗаписьКурсовВалют.Записать();
            КонецЕсли;
            
            ТекущаяВалюта = Отбор.Валюта;  
            НоваяВалюта  = Справочники.Валюты.НайтиПоКоду("006");
            
            ЗаписьКурсовВалют = РегистрКурсыВалют.СоздатьМенеджерЗаписи();
            ЗаписьКурсовВалют.Валюта = НоваяВалюта;
            ЗаписьКурсовВалют.Период = Отбор.Период;
            ЗаписьКурсовВалют.Прочитать();
            Если НЕ ЗаписьКурсовВалют.Выбран() Тогда
                ЗаписьКурсовВалют.Активность = Истина;
                ЗаписьКурсовВалют.Валюта    = НоваяВалюта;
                ЗаписьКурсовВалют.Период    = Отбор.Период;
                ЗаписьКурсовВалют.Курс      = Отбор.Курс*1.03;
                ЗаписьКурсовВалют.Кратность = Отбор.Кратность;
                ЗаписьКурсовВалют.Записать();
            КонецЕсли;
        КонецЦикла;    
        
        РегистрКурсыВалют = РегистрыСведений.КурсыВалют;
        
        Зап = Новый Запрос;
        Зап.Текст = "ВЫБРАТЬ
        |    КурсыВалют.Период,
        |    КурсыВалют.Валюта,
        |    КурсыВалют.Курс,
        |    КурсыВалют.Кратность
        |ИЗ
        |    РегистрСведений.КурсыВалют КАК КурсыВалют
        |ГДЕ
        |    КурсыВалют.Валюта.Ссылка = &ВалютаUSD
        |    И КурсыВалют.Период >= &ДатаНач
        |    И КурсыВалют.Период <= &ДатаКон";
        Зап.УстановитьПараметр("ВалютаUSD",Справочники.Валюты.НайтиПоКоду("978"));
        Зап.УстановитьПараметр("ДатаНач",НачДата);
        Зап.УстановитьПараметр("ДатаКон",КонДата);
        Отбор = Зап.Выполнить().Выбрать();
        Пока Отбор.Следующий() Цикл
            ТекущаяВалюта = Отбор.Валюта;  
            НоваяВалюта  = Справочники.Валюты.НайтиПоКоду("102");
            
            ЗаписьКурсовВалют = РегистрКурсыВалют.СоздатьМенеджерЗаписи();
            ЗаписьКурсовВалют.Валюта = НоваяВалюта;
            ЗаписьКурсовВалют.Период = Отбор.Период;
            ЗаписьКурсовВалют.Прочитать();
            Если НЕ ЗаписьКурсовВалют.Выбран() Тогда
                ЗаписьКурсовВалют.Валюта    = НоваяВалюта;
                ЗаписьКурсовВалют.Период    = Отбор.Период;
                ЗаписьКурсовВалют.Курс      = Отбор.Курс*1.03;
                ЗаписьКурсовВалют.Кратность = Отбор.Кратность;
                ЗаписьКурсовВалют.Записать();
            КонецЕсли;
            
            ТекущаяВалюта = Отбор.Валюта;  
            НоваяВалюта  = Справочники.Валюты.НайтиПоКоду("007");
            
            ЗаписьКурсовВалют = РегистрКурсыВалют.СоздатьМенеджерЗаписи();
            ЗаписьКурсовВалют.Валюта = НоваяВалюта;
            ЗаписьКурсовВалют.Период = Отбор.Период;
            ЗаписьКурсовВалют.Прочитать();
            Если НЕ ЗаписьКурсовВалют.Выбран() Тогда
                ЗаписьКурсовВалют.Валюта    = НоваяВалюта;
                ЗаписьКурсовВалют.Период    = Отбор.Период;
                ЗаписьКурсовВалют.Курс      = Отбор.Курс*1.03;
                ЗаписьКурсовВалют.Кратность = Отбор.Кратность;
                ЗаписьКурсовВалют.Записать();
            КонецЕсли;
        КонецЦикла;    
    Исключение
        ВызватьИсключение;
    КонецПопытки;



Нашел похожую тему, идентичную фактически

Регламентное задание тестирование выполнения
8 mikecool
 
10.10.14
14:47
а фиксация где?
9 shuhard_серый
 
10.10.14
15:06
(0)[добавляю значения по внутрифирменной валюте]
в макет справочника Валюты добавь строчку с кодом своей валюты и в обработку загрузка курсов валют блок кода для расчета курсов

всё остальное УПП сделает сама