Имя: Пароль:
1C
1С v8
У одного из бухгалтеров периодически возникает ошибка расчета периода
0 Vladal
 
05.12.11
14:00
Типовая бухгалтерия.

У всех простых бухгалтеров, кроме ГБ одинаковый набор прав.
У проблемного пользователя выскакивает ошибка, что не рассчитаны итоги.
У всех бухгалтеров отчет "ОСВ по счету" за декабрь открывается и работает нормально.
Права и настройки (ПВХ Настройки пользователя) у всех бухгалтеров одинаковые.

Раньше эта же ошибка с итогами возникала у этого же пользователя после динамического обновления конфигурации и лечилась очисткой дискового кэша в профиле пользователя. Причем тупо в этом отчете, причем только у этого бухгалтера.

Сегодня с утра она еще работала, базу демонически уже не обновляю, после очистки кэша отчет не работает.
1 Vladal
 
05.12.11
14:01
Как вариант - поможет ли пересоздание этого пользователя в ИБ?
2 jsmith
 
05.12.11
14:19
как вариант, да
3 jsmith
 
05.12.11
14:19
но это не вариант
4 jsmith
 
05.12.11
14:20
ты говоришь, раньше удаление кэша помогало, а щас нет
стало быть, хреново кэш удаляешь по ходу
5 Vladal
 
05.12.11
14:23
(4) Нет, всю папку в users\...\appdata\1c грохаю.
6 Vladal
 
05.12.11
14:27
Что интересно - у неё в профиле папка состоит из нулей - 0000000000-0000000-000000-000000000-0000, у других пользователей шестнадцатеричный номер.
7 Vladal
 
05.12.11
18:47
Кстати, вот и текст ошибки:

{Отчет.ОборотыСчетаХозрасчетный(454)}: Ошибка при вызове метода контекста (Выполнить)
   РезультатОстатки = ЗапросОстатки.Выполнить();
по причине:

по причине:
{(14, 2)}: Ошибка обработки представления "РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты:Неправильно задан период: начало периода должно быть меньше или равно окончанию"
<<?>>РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&ДатаНач, &ДатаКон, ДЕНЬ, ДвиженияИГраницыПериода, счет В ИЕРАРХИИ (&счет),  , Организация = &Организация  И  Субконто1 = &Значение1) КАК Таблица
8 zmaximka
 
05.12.11
18:53
Видимо ДатаНач<ДатаКон
9 zmaximka
 
05.12.11
18:54
В сообщении об ошибке ни слова о не расчитаных итогах
10 zmaximka
 
05.12.11
18:55
(8) Точнее у тебя получается что ДатаНач>ДатаКон
11 Aleksey
 
05.12.11
19:10
(7) Т.е. считаешь это проблемы 1С что у нее дата начала 1.12.12, а дата окончания 31.12.11?
12 Vladal
 
05.12.11
19:12
Ну да. В какой-то момент ДатаКон принимает значение пустой даты, в этом-то и трабла
13 Vladal
 
05.12.11
19:17
(9) итоги он не может определить, это раньше было.
Там был код по определению позиции:

   Запрос.УстановитьПараметр("Счет", Счет);
   Запрос.УстановитьПараметр("Организация", Организация);
   
   Запрос.УстановитьПараметр("ДатаНач", ДатаНач);
   
   Если ДатаНач='00010101000000' Тогда
       Запрос.УстановитьПараметр("ДатаНач", ДатаНач+1);
   КонецЕсли;
   
   КонечнаяДатаОтчета = ДатаКон;
   
   Если АвтоматическиРассчитатьКонечнуюДатуОтчета Тогда
       
       Если НЕ(НЕ ЗначениеЗаполнено(Период)
           ИЛИ Врег(Период) = "РЕГИСТРАТОР") Тогда
           
           ДатаПоследнегоОборота = ПолучитьДатуПоследнегоОборотаПоОтчету();
           КонечнаяДатаОтчета = ДатаПоследнегоОборота;
           
       КонецЕсли;
       
   КонецЕсли;
   
   Если КонечнаяДатаОтчета <> '00010101000000' Тогда
       // Оригинал - Новый Граница(КонецДня(КонечнаяДатаОтчета), ВидГраницы.Включая);
       КонечнаяДатаОтчета = КонецДня(КонечнаяДатаОтчета);
   КонецЕсли;
   
   Запрос.УстановитьПараметр("ДатаКон", КонечнаяДатаОтчета);
14 shuhard
 
05.12.11
19:17
(12) может бух галку третирует использовать дату компьютера ?
15 Vladal
 
05.12.11
19:18
(14) Нет, галка стоит.
Тем более, я сам подключался к ней и выбирал период - и ручками, и по кнопке выбора периода.
16 Vladal
 
05.12.11
19:19
+(12) Вот этот кусок я и закомментировал - Новый Граница(КонецДня(КонечнаяДатаОтчета), ВидГраницы.Включая);

Он выдавал пустую дату. Раньше.
17 serg_sh75
 
05.12.11
19:19
(0) прострелить буху коленку еще не предлагали?
18 Aleksey
 
05.12.11
19:20
(16) Зря . Жди теперь вопли, что не все документы попадают
19 Vladal
 
05.12.11
19:20
(17) Нет. Не надо - они все хорошие женщины. Надоедают местами, но я их люблю. По-своему.
20 Vladal
 
05.12.11
19:21
(18) В подписке на событие время 23:59:59 заменяется на 23:59:58
21 Vladal
 
05.12.11
19:21
время документа в подписке ПриЗаписи
22 Vladal
 
05.12.11
19:21
Ребят, я отлучусь на часок.
Всем спасибо.
23 Ant1773
 
05.12.11
19:34
(10) +1 Я и сам так в кому ОСВ по счету загонял. Лечится входом из полной ОСВ, с нормальным периодом.
А вот если ОСВ так в кому загнать - там лечится уже только если отчет сделать внешним и убрать восстановление сохраненных настроек. :) (это уже пользователи умудрились)
24 Vladal
 
06.12.11
12:10
Выяснил условия для воспроизведения - если указать периодичность отчета "день" или отличное от "документ" (регистратор) - выскакивает ошибка.

И не срабатывает функция
           ДатаПоследнегоОборота = ПолучитьДатуПоследнегоОборотаПоОтчету();
           КонечнаяДатаОтчета = ДатаПоследнегоОборота;
25 Vladal
 
06.12.11
12:41
Подправил условие и всё заработало!

Если НЕ ЗначениеЗаполнено(Период) Тогда ...
26 Vladal
 
06.12.11
13:57
Ан нет...

С какой-то радости функция ПолучитьДатуПоследнегоОборотаПоОтчету() возвращает 01.01.0001 23:59:59 для одного из счетов.

Для других счетов всё нормально. Чем лечить?
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший