Имя: Пароль:
1C
1С v8
ERP 2.5.10.74. Регистр сведений "ОтносительныеКурсыВалют". Как туда данные попадают?
0 Lama12
 
20.01.23
15:34
Вопрос как в РС "ОтносительныеКурсыВалют"?
Причина вопроса.
При закрытии месяца, при переоценке валютных остатков, точнее при проверке необходимости их переоценить, происходит связь валютных остатков с вышеобозначенным регистром по полю Валюта. При этом не учитывается что записей в данном регистре может быть несколько из-за различных значений измерения "БазоваяВалюта". В результате проверка необходимости произвести переоценку происходит по фиг какому курсу.
У меня два мнения.
1. Разработчики допустили ошибку опираясь на ситуацию что в регистре "ОтносительныеКурсыВалют" не может быть записей со значением измерения "БазоваяВалюта" отличным от валюты регл учета.
2. Кто-то или какой-то автоматический механизм ввел в данный регистр запись со значением измерения "БазоваяВалюта" отличным от валюты регл учета.

С учетом того, что в самом регистре имеется механизм загрузки курсов валют с ЕЦБ, наиболее вероятен первый вариант. Но хотелось бы понять кроме данной обработки имеются какие-то другие механизмы делающие записи в данный регистре? Просто у меня запись с базовой валютой "Белорусский рубль". А механизма в загрузки курсов с Белорусского ЦБ в конфигурации нет. Предполагаю что либо пользователи внесли руками, либо откуда-то программно запись создалась.
Вопрос - откуда запись могла появиться программно?
1 lodger
 
20.01.23
15:41
ctrl + shift + F ОтносительныеКурсыВалют enter
2 Lama12
 
20.01.23
15:46
(1) Искал. Там сейчас вся конфа на этом регистре работает. У меня в результатах поиска 794 строки.
3 shuhard
 
20.01.23
17:00
(2) используй точки останова, Люк (с)
4 shuhard
 
20.01.23
17:10
(3) +1
// Выполняет синхронизацию между РС.КурсыВалют и РС.ОтносительныеКурсыВалют.
//
// Параметры:
//  Источник - РегистрСведенийНаборЗаписей - Набор записей РС.КурсыВалют или РС.ОтносительныеКурсыВалют.
//
Процедура СинхронизоватьКурсыВалют(Источник) Экспорт
    
    БазоваяВалюта = Константы.ВалютаРегламентированногоУчета.Получить();
    Если Не ЗначениеЗаполнено(БазоваяВалюта) Тогда
        Возврат;
    КонецЕсли;
    
    Если ТипЗнч(Источник) = Тип("РегистрСведенийНаборЗаписей.КурсыВалют") Тогда
        Приемник = РегистрыСведений.ОтносительныеКурсыВалют.СоздатьНаборЗаписей();
        ИмяРегистра = Метаданные.РегистрыСведений.ОтносительныеКурсыВалют.Имя;
    Иначе
        Если Источник.Отбор.БазоваяВалюта.Значение <> БазоваяВалюта Тогда
            Возврат;
        КонецЕсли;
        Приемник = РегистрыСведений.КурсыВалют.СоздатьНаборЗаписей();
        БазоваяВалюта = Неопределено;
        ИмяРегистра = Метаданные.РегистрыСведений.КурсыВалют.Имя;
    КонецЕсли;
    
    Если Источник.Количество() > 0 Тогда
        ОбновитьСинхронизируемыеКурсы(Источник, Приемник, ИмяРегистра, БазоваяВалюта);
    Иначе
        УдалитьСинхронизируемыеКурсы(Источник, Приемник, БазоваяВалюта)
    КонецЕсли;
    
КонецПроцедуры
5 johnbay
 
20.01.23
17:16
Сегодня нашел такую же проблему. валюта Евро. Была запись что 1евро = 1бакс. Бакс был базовой валютой. одна запись от 01.08.22.
Выяснить удалось лишь что это не проблема релиза из заголовка. В старых копиях 2.5.8 запись так же есть.
Так что в текущем обработчике синхронизации проблему не найти. Она вероятно в каких то старых релизах. Может в том самом где валюты переделали.
6 shuhard
 
20.01.23
17:17
(4) +1
// См. подписку на событие "ПриЗаписиКурсовВалют"
Процедура ПриЗаписиКурсовВалютПриЗаписи(Источник, Отказ, Замещение) Экспорт
    
    Если Источник.ДополнительныеСвойства.Свойство("ЗаписьПриОбновленииИнформационнойБазы") Тогда
        Возврат;
    КонецЕсли;
    
    Если Источник.ДополнительныеСвойства.Свойство("СинхронизацияКурсовВалют") Тогда
        Возврат;
    КонецЕсли;
    
    РаботаСКурсамиВалютУТ.СинхронизоватьКурсыВалют(Источник);
    
КонецПроцедуры

ПриЗаписиКурсовВалют
РегистрСведенийНаборЗаписей.КурсыВалют, РегистрСведенийНаборЗаписей.ОтносительныеКурсыВалют
7 kauksi
 
20.01.23
17:24
Относительные курсы - это когда используют в расчетах валюту ЕВРО+15%
8 shuhard
 
20.01.23
17:25
(7) зажёг
9 Lama12
 
20.01.23
23:19
(7) Хы :-) Пятница
Основная теорема систематики: Новые системы плодят новые проблемы.