Имя: Пароль:
1C
1С v8
Не проводится документ ошибка не задана кратность валюты. Программа бп 3
0 sidalexsandr
 
03.02.22
16:15
Документ Поступление наличных СТPT-000011 от 26.01.2022 22:48:40 не может быть проведен.
Не задана кратность валюты  на дату 26.01.22

Вопрос: кратность валюты искать в справочнике валют или она где-то в документе?
1 DrShad
 
03.02.22
16:45
выкинь свои правила на помойку
2 Kuzmich123
 
03.02.22
16:46
(1)  А причем здесь правила?

(2) Регистр сведений Курсы валют
3 Kuzmich123
 
03.02.22
16:46
(0) РС Курсы Валют
4 piter3
 
03.02.22
16:47
Не загружен курс валют
5 sidalexsandr
 
04.02.22
11:22
Написал обработку для установки кратности валюты на дату
&НаКлиенте
Процедура УстКратность(Команда)
    
    СервУстКратность();
    Сообщить("Кратность валюты рубль установлена на дату = " );
    
КонецПроцедуры

&НаСервере
Процедура СервУстКратность()
    
    РегистрКурсыВалют = РегистрыСведений.КурсыВалют.СоздатьМенеджерЗаписи();
    РегистрКурсыВалют.Период    = Дата(2022,01,01);;
    РегистрКурсыВалют.Валюта    = Справочники.Валюты.НайтиПоКоду("643");
    РегистрКурсыВалют.Курс      = 1;
    РегистрКурсыВалют.Кратность = 1;
    РегистрКурсыВалют.Записать();
    
КонецПроцедуры

Консоль запросов показывает что в регистре кратность установлена на дату 010122. А в справочнике пустое поле кратность (реквизита кратность тоже нет у справочника Валют)

Вопрос: как в справочнике валют задать кратность?
6 Amra
 
04.02.22
11:27
(5) ОТойди и ничего не трогай
7 ДенисЧ
 
04.02.22
11:30
Открыть РС Курсы и задать. Зачем для этого обработка? У нас такое делали даже младшие бухи, если им права давали...
8 sidalexsandr
 
04.02.22
11:40
(7) При открытии этого регистра в пользовательском режиме нет вообще ни одного реквизита. Но проблема решена обработкой. Консоль запросов показывает что кратность валюты рубль установлена на начало этого года и даже на 1980 год.
9 ДенисЧ
 
04.02.22
11:42
(8) http://pics.rsh.ru/img/kur_tzq0sdz5.png

Что у меня не так?
10 vicof
 
04.02.22
11:44
(9) У тебя есть мозг)
11 ДенисЧ
 
04.02.22
11:45
(10) Он есть, только тут он ни причём....
12 pechkin
 
04.02.22
12:13
валюта руб случайно не задвоилась?
13 sidalexsandr
 
04.02.22
12:23
(12) Не задвоилась
14 sidalexsandr
 
04.02.22
12:39
Подниму
15 DrShad
 
04.02.22
12:53
отладчик не твой метод?
16 Amra
 
04.02.22
13:04
(15) Не барское это дело
17 acht
 
04.02.22
13:07
(15) Миста же есть
18 sidalexsandr
 
04.02.22
13:22
(15) В отладчике поиск по Не задана кратность валюты  на дату
Ничего не выдает
19 DrShad
 
04.02.22
13:23
врешь
20 sidalexsandr
 
04.02.22
13:29
(19) Изменил не много строку поиска и стало находится
21 sidalexsandr
 
04.02.22
13:41
Нашел СтруктураКурсаДокумента = РаботаСКурсамиВалют.ПолучитьКурсВалюты(Реквизиты.ВалютаДокумента, Реквизиты.Дата);
        
        Если СтруктураКурсаДокумента.Кратность = 0 Тогда
            Отказ           = Истина;
            ШаблонСообщения = НСтр("ru = 'Документ %1 не может быть проведен.
                |Не задана кратность валюты %2 на дату %3'");

Далее
Функция ПолучитьКурсВалюты(Валюта, ДатаКурса) Экспорт
    
    Результат = РегистрыСведений.КурсыВалют.ПолучитьПоследнее(ДатаКурса, Новый Структура("Валюта", Валюта));
    
    Результат.Вставить("Валюта",    Валюта);
    Результат.Вставить("ДатаКурса", ДатаКурса);
    
    Возврат Результат;
    
КонецФункции
22 sidalexsandr
 
04.02.22
13:42
Не понимаю из-за чего процедура ПолучитьКурсВалюты выдает кратность = 0 ?
23 DrShad
 
04.02.22
13:43
проверяй входящие переменные
24 sidalexsandr
 
04.02.22
13:44
(23) Спасибо
25 piter3
 
04.02.22
14:07
может уже скрин покажешь своего РС
26 sidalexsandr
 
04.02.22
14:18
(25) У РС нет формы, но (5)
27 acht
 
04.02.22
14:20
(26) > У РС нет формы
А ты все-таки попробуй.