Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Сброс дробного количества при выполнении метода Провести()

v7: Сброс дробного количества при выполнении метода Провести()
Я
   slimuz
 
07.09.20 - 07:01
Добрый день.
При выполнении проведения методом Провести() в обработке, происходит сброс дробного количества (реквизит количество, точность 3), т.е. сохраняет только округленное кол-во до запятой. Обработка выполняет проведение в док. счет-фактура.
   Kigo_Kigo
 
1 - 07.09.20 - 07:38
Смотри ОбработкаПроведения()
   Злопчинский
 
2 - 07.09.20 - 13:08
(0) "происходит сброс дробного количества (реквизит количество, точность 3)"
1. либо кривые руки программитса (см.п.1)
2. либо не надо путать разрядность поля на форме с разрядностью реквизита в регистре/проводке.
если будет тупняк - стучись в скайп zlopun, посмотрим
   slimuz
 
3 - 08.09.20 - 08:30
(1) А можете наглядно показать как применить эту обработку в этой части обработки:

    Протокол.ДобавитьСтроку("Счета-фактуры");
    СФ=СоздатьОбъект("Документ.СчетФактура");
    СФ.ВыбратьДокументы(Дата1,Дата2);
    Флаг=0 ;
    ФлагАВ=0 ;
    Пока СФ.ПолучитьДокумент()=1 Цикл
        Состояние("Ищу и провожу счета-фактуры "+СФ.НомерДок);
        Если Список.Принадлежит(СФ.Склад)=1 Тогда
            Если СФ.Провести(,"Авт")=1 Тогда
                СписокПроведенных.ДобавитьЗначение(СФ.ТекущийДокумент());
                Номер=СФ.НомерДок ;
                Протокол.ДобавитьСтроку("/СФ[Номер  ] Проведен");
                //Проведение актов возврата

                АВ.ВыбратьПодчиненныеДокументы(СФ.ТекущийДокумент(),Дата2,СФ.ТекущийДокумент());
                Пока АВ.ПолучитьДокумент()=1 Цикл
                    Если (АВ.Вид()="АктВозврата") Тогда
                        Если (АВ.ПроводитьПриЗаписи=0) Тогда
                            Если АВ.Провести(,"Авт")=1 Тогда
                                Номер=АВ.НомерДок ;
                                Протокол.ДобавитьСтроку("/  АВ[Номер] Проведен");
                                СписокПроведенных.ДобавитьЗначение(АВ.ТекущийДокумент());
                            Иначе
                                Протокол.ДобавитьСтроку("АВ"+СокрЛ(АВ.НомерДок)+"  Не проведен");
                                ФлагАВ=1 ;
                                Прервать ;
                            КонецЕсли;
                        КонецЕсли ;
                    КонецЕсли ;
                КонецЦикла ;
                Если ФлагАВ=1 Тогда
                    Прервать ; 
                КонецЕсли;
            Иначе
                Протокол.ДобавитьСтроку("СФ"+СокрЛ(СФ.НомерДок)+"  Не проведен");
                Флаг=1 ;
                Прервать ;
            КонецЕсли;
        КонецЕсли ;
    КонецЦикла;
   Builder
 
4 - 08.09.20 - 09:25
(3) В этой части обработки эту обработку никак не применить.
Применить тут: Документ.СчетФактура - Модуль документа
   HawkEye
 
5 - 08.09.20 - 09:29
(4)
"Замечание:
Метод нельзя использовать в теле предопределенной процедуры ОбработкаПроведения."
   slimuz
 
6 - 08.09.20 - 09:34
(4) А в модуле документа применена. При проведении кнопкой док. сброса значений после запятой реквизита кол-ва не происходит, сброс происходит при проведении с помощью обработки
   Ёпрст
 
7 - 08.09.20 - 10:25
(6) у тя в модуле заложен свой механизм проведения, коли параметром что-то в модуль передаешь в метод Провести()
   Ёпрст
 
8 - 08.09.20 - 10:26
аот и открой модуль проведения дока и сымотри, че там
   Builder
 
9 - 08.09.20 - 10:36
(5) Имелось ввиду что надо искать проблемы (0) не в (3), а в модуле документа.
   slimuz
 
10 - 08.09.20 - 13:38
(9) Разжевали мне, разобрался. Благодарю)) (7) (9)
   Злопчинский
 
11 - 08.09.20 - 15:02
(3) блин капец сколько лестниц если понастроили... попроще надо писать...

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.