Имя: Пароль:
1C
1C 7.7
v7: ТиС 9.2, Поступление ТМЦ, ошибка в документе
,
0 tesei
 
14.06.22
10:52
В поступлении сумма взаиморасчетов не соответствует итогу по сумме в табличной части. В ТЧ один товар. Сумма взаиморасчетов равна цена * другое количество. Я пробовал на копии добиться такого же результата в пользовательском режиме - безрезультатно, при всех манипуляциях сумма взаиморасчетов = итогу по сумме ТЧ. От меня требуют указать причину ошибки. Ваши предположения, как такое могло произойти?
1 Kigo_Kigo
 
14.06.22
11:20
"Ваши предположения, как такое могло произойти?"Ну наверно кто то пожаловался на вас в спортлото :)
А по факту смотри Отчет взаиморасчеты с документами движения, Сумма взаиморасчетов = Долг на дату документа + Итог по документу
2 tesei
 
14.06.22
11:21
(1) я имел в виду реквизит шапки поступления, СуммаВзаиморасчетов. Реквизит ТЧ Сумма. Так вот СуммаВзаиморасчетов <> Итог("Сумма").
3 Масянька
 
14.06.22
11:25
(2) А пользователь, который завел этот док-т, что говорит?
4 Kigo_Kigo
 
14.06.22
11:28
(2) А не будет равна если не закрыт прошлый долг или был аванс или предоплата
5 Масянька
 
14.06.22
11:28
(4) Не помню такого.
6 Ryzeman
 
14.06.22
11:29
(2) Если обновляешь табличную часть (например вводишь такое же количество) - результат тот же? Если да - пройдись отладчиком на рабочей базе. Если нет, то... А в этой конфе есть история изменений? Посмотреть что он тыкал и под ним в копии сделать то же самое.
7 Kigo_Kigo
 
14.06.22
11:33
(5) Функция глТекущийДолг(Фирма, Договор, Роль) Экспорт
    Перем Рез;
    
    Если (ПустоеЗначение(Фирма)  =1) или
         (ПустоеЗначение(Договор)=1) Тогда
        Рез = 0;
    Иначе
        
        Если нРег(Роль) = "поставщик" Тогда
            РабРег = Регистр.Поставщики;
            Рез    = РабРег.СводныйОстаток(Фирма, Договор, , , "СуммаВал");  
            
        ИначеЕсли нРег(Роль) = "покупатель" Тогда
            РабРег = Регистр.Покупатели;                                      
            Рез    = РабРег.СводныйОстаток(Фирма, Договор, , , ,"СуммаВал");
            
        ИначеЕсли нРег(Роль) = "все" Тогда
            РабРег = Регистр.Поставщики;
            Рез    =       РабРег.СводныйОстаток(Фирма, Договор, , ,  "СуммаВал");
            РабРег = Регистр.Покупатели;                                      
            Рез    = Рез + РабРег.СводныйОстаток(Фирма, Договор, , , ,"СуммаВал");
            
        Иначе
            Рез    = 0;
        КонецЕсли;
        
    КонецЕсли;
    
    Возврат Рез;

КонецФункции // глТекущийДолг()
Вспомнила?
8 Масянька
 
14.06.22
11:34
(7) А как же (2)?
9 Масянька
 
14.06.22
11:35
+ (8) Долг и сумма по ТЧ - разные вещи.
Может ТС не правильно выразился, но мне понятно (о чем речь).
10 Kigo_Kigo
 
14.06.22
11:38
ТАм 2 поля ТекстТекущийДолг
Сумма по документу:
ему какой?
Может что то с НДС?
11 tesei
 
14.06.22
11:45
Документ вылечился тем, что ввел другое количество, потом ввел первоначальное. Сумма взаиморасчетов исправилась.
Из всех версий наиболее правдоподобная пока - сбой в программе при записи документов. Из других - редактирование таблиц внешним редактором (злой умысел), а также зомбоящеры и инопланетяне.
(10) Кстати, НДС! надо проверить...
12 tesei
 
14.06.22
11:47
нет, это был не НДС...
13 Kigo_Kigo
 
14.06.22
11:47
(11) Еще к единицам товара есть коэффициент, он тоже влияет
14 Ryzeman
 
14.06.22
11:49
(11) у меня в УТ была подобная фигня то ли с СуммаДокумента то ли ещё с каким то реквизитом. Воспроизвести не удалось, так и не понял откуда сбой возник. Учитывая что за год и несколько десятков тысяч документов это был один случай, то решил счесть за сбой на уровне платформы при записи.
15 tesei
 
14.06.22
11:50
(3) пользователь молчит, как партизан.
(13) одна единица - штука, с коэф = 1.
16 tesei
 
14.06.22
11:51
(14) Звучит правдоподобно. За отмазку сойдет. Так сказать, есть прецедент! Спасибо! :)
17 Kigo_Kigo
 
14.06.22
12:14
(16) На копии попробуйте ТиИ сделать, может это как то прояснит ситуацию
18 Kigo_Kigo
 
14.06.22
12:14
Если файловая, то возможно ондексы слетели, а точнее пользак на вопрос Произвести индексацию БД ответил нет
19 Злопчинский
 
14.06.22
12:18
Штатно:
.
"Итого" по документу - считается простым "суммированием" строк (с учетом вкл/выкл/всумме/сверху НДС). Выражается в валюте документа. "СуммаВзаиморасчетов" (именно она идет в регистры/отчетность по взаиморасчетам) рассчитывается из "Итого" пересчетом в валюту договора.
.
с самопроизвольным "несовпадением" - за все время не встречался. С "кривыми" руками/доделками когда такое несовапдение "внезапно" получается - да это обычная норма. Смотреть всякие загрузки документов из файлов и самописные пересчеты всяких "скидок"/бонусов итд (также м.б. посмотреть историю/следы состоянии заказа поставщика). Также доступ к универсальным обработкам, которые позволяют менять документ неконтролируемо извне (это вряд ли для обычных пользюков). СуммуВзаиморасчетов можно штатно поправить если валюта документа не совпадает с валютой договора - тогда кнопка ВОЗЛЕ СУММЫ ВЗАИМОРАСЧЕТОВ - становится доступной и СуммуВзаиморасчетов можно обычным образом менять вручную.
20 tesei
 
14.06.22
12:24
Недолго музыка играла... Сделал отчет, нашёл еще несколько таких документов. На сбой не тянет. Видать, все-таки загрузка извне. Для уточнения потребуется терморектальный криптоанализ.
21 Kigo_Kigo
 
14.06.22
12:27
(20) -(17) Делал?
22 Ryzeman
 
14.06.22
12:29
Блин, только сейчас понял что речь про семёрку)
23 Злопчинский
 
14.06.22
12:38
(21) а как ТИИ поможет в кривых цифрах, которые друг с другом связаны только через алгоритм?
этак вообще все что не "сходится" в цифрах у булгахтерш можно было бы лечить...
24 Kigo_Kigo
 
14.06.22
12:39
(23) Запросто, не разу такого не видел? И поди пересчет итогов никогда не делал?
25 tesei
 
14.06.22
12:51
ТиИ подождёт. Пока жду юзера с обеда. Есть документ недельной давности. Паяльник греется...
26 Злопчинский
 
14.06.22
12:53
(24) как пересчет итогов и прочих служеюных данных и ТИИ повлияет на прсотой числовой реквизит шапки документа?
27 Злопчинский
 
14.06.22
12:55
(25) смотри на найденные проблемные документы, может закономерность какая есть? (самое простое - поменять валюту договора, потом подправить документ по СуммеВзаиморасчетов вручную как описано выше через доступную кнопку, потом поменять валюту документа обратно. и все шито крыто. Посмотри еще в ЖР изменения договоров по этим документам.
28 Kigo_Kigo
 
14.06.22
12:56
(26) Да хер его знает о каких полях идет речь, если по долгами так напрямую, а может у него ТЧ в документах попорчены
29 Злопчинский
 
14.06.22
12:57
(28) будем ждать вестей с полей. !cybre в запасе всегда надо иметь 100-ваттный ректальный криптопаяльник ;-)
30 Ryzeman
 
14.06.22
13:01
(29) аналоговый криптоанализатор термально-ректального действия
31 Масянька
 
14.06.22
13:29
(25) Как вариант: загрузка, сначала заполняются поля ТЧ, потом сумма документа (напоминаю - загрузка, всё делается программно). А что там грузится - вопрос...
Сумма документа пересчитывается при изменении поле на ФОРМЕ.
32 tesei
 
14.06.22
13:36
Юзер описал процесс, я воспроизвел ошибку на копии. Теперь изучаю код. Старый погромист постарался. Ввод поступления на основании заказа поставщику.
33 tesei
 
14.06.22
13:41
Сумма взаиморасчетов считается как сумма документа-основания (заказа поставщика), при том, что товара пришло меньше, чем в заказе (согласно складскому приходному ордеру). Чугунную медальку предшественнику!
34 Масянька
 
14.06.22
13:42
(32) 1. При программном вводе - сумму документа не присваивать, а суммировать.
2. При изменении ТЧ (добавление, удаление строк, изменение полей (номенклатура, ЕИ, кол-во, цена)) пересчитывать сумму (по строке) и сумму док-та.
35 tesei
 
14.06.22
13:52
(35) В общем, получил я свою картонную медальку за исправление и втык за отсутствие бдительности и навыков телепатии.
"Напились генералы кофею, наелись сдобных булок и надели мундиры. Поехали они в казначейство, и сколько тут денег загребли — того ни в сказке сказать, ни пером описать! Однако, и об мужике не забыли; выслали ему рюмку водки да пятак серебра: веселись, мужичина!"
36 Злопчинский
 
14.06.22
22:30
(32) читаем меня в (19): (самоцитирование, ля!)
"С "кривыми" руками/доделками когда такое несовапдение "внезапно" получается - да это обычная норма. Смотреть всякие загрузки документов из файлов и самописные пересчеты всяких "скидок"/бонусов итд (также м.б. посмотреть историю/следы состоянии заказа поставщика)."
.
то бишь я прованговал практически в десяточку - и с кривыми ручками, и с заказами поставщикам...
37 Злопчинский
 
14.06.22
22:43
(32) "Ввод поступления на основании заказа поставщику."
- это в конфиге поддерживается штатно. Все что надо сделать в поступлении - скорректировать количество поступления товара (возможно цены и суммы в поступлении также могут отличаться от заказа). Все оставшееся (недогруженное по заказу) повиснет на заказе. заказ поставщику не полностью закрытый - закрыть штатно.
.
у себя в конфиге я допилил дополнительно (отсутствующее в типовом):
- Отмена заказов поставщикам (аналог штатного "Отмена заявок покупателей");
- отчет "Ведомость по Заказам поставщикам" (аналог штатного "Ведомость по Заявкам покупателей")
.
Плюс к этому может быть полезным такая фича, когда ПоступлениеТМЦ на основании ЗаказПоставщику закрывает заказ поставщику  ПОЛНОСТЬЮ, даже если Поступление "меньше" заказа поставщику. Такая фича вкручивается в типовую конфигу буквально 1-2 операторами в нужном месте кода. По такому принципу у меня реализации на основании заявок покупателей сделана. Заявка на 100 тыс, Реализация на 98тыс (брак на складе или еще что) - реализация полностью "закрывает" заявку (клиентура нужное сама дозаказывает в новых заявках, работа по длинным заявкам - не прижилась, клиенты и "мои" менеджеры не тянут такую схему и/или она не нужна - клиенту проще новой заявкой выставить). Такая фича также удобна тем, что ели Заявка на 100, отгрузили на 100, у клиента проблемы, манагеры исправляют документ реализации на 98, заявка не "всплывает" как незакрытая...
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший