Имя: Пароль:
1C
1С v8
Неправильно заполняется лист кассовой книги
0 saniok87
 
03.04.17
16:31
Здравствуйте! Уже сколько бьюсь, никак! Есть РИБ УТ11, в главной базе кассовая книга заполняется правильно, а в подчинённой твориться что-то непонятное, то совсем другие документы попадают туда (за другие числа), то все ПКО и РКО есть, однако считает не правильно! Вот например в одном из листов остаток на начало дня 46000, есть ПКО на 5500 и РКО на 5500, на конец дня у него почему-то 34000! Полтергейст какой-то! Может кто сталкивался с подобным?!
1 Михаил Козлов
 
03.04.17
16:35
Сталкивался с похожим (но не в УТ11, и не РИБ (КА 1.1)): причина была в том, что в регистре бухгалтерии валюта = пустой ссылке, а не НЕОПРЕДЕЛЕНО (на невалютном счете).
2 saniok87
 
03.04.17
16:39
А где же это найти?!
3 DrShad
 
03.04.17
16:42
в регистре по денежным средствам смотри
4 saniok87
 
03.04.17
17:03
Всё пролез, но не нашёл ничего такого!
5 DrShad
 
03.04.17
17:04
(4) тогда смотри как именно заполняется кассовая книга - так будет яснее
6 saniok87
 
03.04.17
17:08
(5) Да у неё логики никакой нет, каждый день по разному заполняет, единственное одинаковое каждый день, так это неправильность заполнения!
7 DrShad
 
03.04.17
17:10
(6) ну конечно - у всех есть, а у вас нет )))
8 Михаил Козлов
 
03.04.17
17:13
(2) Запросом посмотрите по сч. 50. Условие: Валюта = ЗНАЧЕНИЕ(Справочник.Валюты).ПустаяСсылкаю
Может, конечно, дело и не в этом.
9 saniok87
 
03.04.17
17:33
Справочник Валюты я нашёл, там всего одна валюта - рубль
10 Михаил Козлов
 
03.04.17
18:00
(9) Не в справочнике, а в регистре бухгалтерии.
Вот Вам, на всякий случай код простенькой обработки для рихтовки (только сделайте копию, на всякий случай).
Процедура КнопкаВыполнитьНажатие(Кнопка)
    нз = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
    отбор = нз.Отбор.Регистратор;
    отбор.Использование = ИСТИНА;
    отбор.ВидСравнения = ВидСравнения.Равно;
    пустаяВалюта = Справочники.Валюты.ПустаяСсылка();
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ Хозрасчетный.Регистратор    
    |ИЗ РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный
    |ГДЕ Хозрасчетный.ВалютаДт = &пустаяВалюта ИЛИ Хозрасчетный.ВалютаКт = &пустаяВалюта";
    Запрос.УстановитьПараметр("пустаяВалюта", пустаяВалюта);
    выборка = Запрос.Выполнить().Выбрать();
    ПОКА выборка.Следующий() Цикл
        отбор.Значение = выборка.Регистратор;
        нз.Прочитать();
        естьИзменения = ЛОЖЬ;
        ДЛЯ каждого зап ИЗ нз Цикл
            Если (зап.ВалютаДт = пустаяВалюта) Тогда
                естьИзменения = ИСТИНА;
                зап.ВалютаДт = NULL;            
            КонецЕсли;
            Если (зап.ВалютаКт = пустаяВалюта) Тогда
                естьИзменения = ИСТИНА;
                зап.ВалютаКт = NULL;
            КонецЕсли;
        КонецЦикла;
        Если естьИзменения Тогда
            нз.Записать(ИСТИНА);
        КонецЕсли;            
    КонецЦикла;    
КонецПроцедуры
11 h-sp
 
03.04.17
18:03
(10) вряд ли он в ут11 найдет регистр бухгалтерии
12 saniok87
 
03.04.17
18:23
(10) Спасибо! Завтра попробую! Отпишусь!
Независимо от того, куда вы едете — это в гору и против ветра!