|
Зарплата считается по-разному в локальной и серверной базе | ☑ | ||
---|---|---|---|---|
0
Alexander5197
22.04.15
✎
11:05
|
Больше недели бьюсь с этой проблемой. У клиента стоит SQL Server 2008 RTM 10.00.1600.22. Есть одно начисление, называемое "Доплата до МРОТ" (не думаю, что это важно, но пусть будет для примера), которое используется редко. Так вот, при начислении зарплаты в базе клиента идут бешеные цифры - более 60 т.р. Выгружаем локально, рассчитываем документ - все как надо. Развернул у себя сервер на компе (правда, немного другой, 2008 R2), гружу эту же самую базу, открываю этот же самый документ, жму кнопку Рассчитать - опять все нормально. Поковырялся в коде, уперся в один маленький запрос, который выдает разный результат при одинаковых исходных данных (разберусь, как оформить код - кину его). Никто с подобными вещами не сталкивался? Куда вообще копать?
PS: Конфу обновляли, платформу тоже. |
|||
1
ХардHard
22.04.15
✎
11:10
|
(0) У клиента ДТшник выгрузи/загрузи например. ТиИ опять же.
Найди записи которые не попадают или неправильно попадают в результат запроса. |
|||
2
John83
22.04.15
✎
11:11
|
1 + кэш
|
|||
3
ХардHard
22.04.15
✎
11:12
|
(2) как исправишь проблему требуй у клиента кэш. )
|
|||
4
Alexander5197
22.04.15
✎
11:17
|
А вот и запрос:
ВЫБРАТЬ
|
|||
5
Alexander5197
22.04.15
✎
11:18
|
ТиИ делали. И не в кеше проблема: на том же самом сервере клиента создавали новыую базу, грузили ДТ-шник, и на этой базе опять неверный расчет. Так что не все так просто...
|
|||
6
sky2010
22.04.15
✎
11:19
|
(4) Один и тот же код на одной базе не может работать по-разному. Кэш или там, или там глюка ловит.
|
|||
7
ХардHard
22.04.15
✎
11:20
|
(5) ищи записи которые лишние или которых не хватает.
|
|||
8
sky2010
22.04.15
✎
11:22
|
(7) Как это на одной же базе не может быть каких-то записей? Регистер один.
|
|||
9
sky2010
22.04.15
✎
11:23
|
Запусти консоль запроса и там и там и посмотри, что оно тебе покажет.
|
|||
10
shuhard_серый
22.04.15
✎
11:23
|
(0) [ Никто с подобными вещами не сталкивался?]все
[Куда вообще копать? ]поставить на сиквел SP, если алгоритм самописный, проверить в запросе сортировку |
|||
11
Alexander5197
22.04.15
✎
11:39
|
(6) Как я говорил, база на сервере создавалась заново, с кешем там все в порядке было. Подозреваю, что SQL хулиганит. Отцы 1С говорят, что про такое читали, но никто не сталкивался, найти какую-либо информацию не получается.
(7) Если ничего не останется, то этим и придется заняться. Но в запросе, я так понимаю, ищутся базовые начисления для указанного в документе. А система этих начислений весьма и весьма сложная, поэтому вручную проверять довольно проблематично. (9) Так и проверял. Один и тот же сохраненный запрос открываю, выполняю - цифры в результате разные. (10) Поясните пожалуйста, что значит "поставить на сиквел SP". Алгоритм типовой, в результате запроса одна запись, сортировка не поможет. |
|||
12
ДенисЧ
22.04.15
✎
11:39
|
сервис-паки на скуль все накатите
|
|||
13
Фрэнки
22.04.15
✎
11:41
|
(11) А где этот текст запроса сидит?
Может быть поможет или нет, не знаю, но когда говорили, чтоб почистил кэш - имеют мнение, что на клиенте, с которого идет расчет, из кэша модулей (не базы) вытаскивается "кривой" текст модуля. |
|||
14
ХардHard
22.04.15
✎
11:42
|
(11) Если ничего не останется, то этим и придется заняться. Но в запросе, я так понимаю, ищутся базовые начисления для указанного в документе. А система этих начислений весьма и весьма сложная, поэтому вручную проверять довольно проблематично.
1 .Делаешь выгрузку запросом по таблице РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.БазаДополнительныеНачисленияРаботниковОрганизаций в одной базе и другой . 2.Копируешь в Excel 3.Сравниваешь построчно 4..... 5.Profit |
|||
15
IBTM
22.04.15
✎
11:46
|
(11) расчет с комментарием даст больше информации
|
|||
16
zva
22.04.15
✎
11:46
|
(11) <<Отцы 1С говорят, что про такое читали, но никто не сталкивался, найти какую-либо информацию не получается>>
v8: Странно расчитывает районный коэффициент в ЗУПе. v8: SQL 2008 + ВНУТРЕННЕЕ СОЕДИНЕНИЕ |
|||
17
Фрэнки
22.04.15
✎
11:46
|
И я бы посмотрел еще, что там в регистраторах возвращается (в запросе регистраторы есть) и перепровел бы их. Если висят какие-то оторвавшиеся от регистраторов записи с суммами... При загрузке из дт их не будет.
Перезалить базу на тоже самое место, если не слишком большое желание с ТИИ экспериментировать. |
|||
18
shuhard_серый
22.04.15
✎
11:46
|
(11) Release Product version
SQL Server 2008 Service Pack 3 10.00.5500.00 SQL Server 2008 Service Pack 2 10.00.4000.00 SQL Server 2008 Service Pack 1 10.00.2531.00 SQL Server 2008 RTM 10.00.1600.22 у Вас голый сервер, который не обязан вообще как-то работать |
|||
19
shuhard_серый
22.04.15
✎
11:47
|
(11)[Отцы 1С говорят, что про такое читали]
это пиз.дёж к чему ? |
|||
20
ИС-2
naïve
22.04.15
✎
11:50
|
было такое, но с Postre - итоги были криво подсчитаны
|
|||
21
ХардHard
22.04.15
✎
11:52
|
да много у кого такое было. лечится перепроведением косячных доков обычно или ТиИ.
|
|||
22
Аццкий Чибуражко
22.04.15
✎
11:54
|
запрос в запросе, как отмечают спецы по sql, не есть хорошо... рекомендуют переписывать такие запросы на временные таблицы... может быть тогда и проблема уйдет... вроде как, sql не оптимально и криво может построить план исполнения запроса... ну и у меня была проблема с корректным отображением результат запроса... помогла дефрагментация индексов, которая составляла по 90%... может проверить?...
|
|||
23
Alexander5197
22.04.15
✎
13:14
|
(13) Текст запроса сидит как в документе, так и в консоли. Вряд ли он берется из одного и того же места в обоих случаях. (15) Да, самое интересное в расчете с комментариями - это база. Как раз она и превышает 60 т.р. в неправильном случае (должна быть в районе 5900). Тот запросик как раз и рассчитывает базу.
(18) Это не гола база, это просто первый релиз версии: [url]http://en.wikipedia.org/wiki/Software_release_life_cycle#RTM_or_RTW[\url] (22) Подскажите, как я могу сделать дефрагментацию индексов? В консоли вытащил подзапрос, проблема не в нем. |
|||
24
piter3
22.04.15
✎
13:15
|
параметры в запрос передаваемые проверьте
|
|||
25
Alexander5197
22.04.15
✎
13:17
|
(16) Самое интересное оставил напоследок, спасибо большое. Админу дали задание на апгрейд, сегодня-завтра сделает. О результатах сообщу.
(24) Они идентичны: скопировал файл запросов консоли, и передал на сервер. |
|||
26
Serg_1960
22.04.15
✎
13:20
|
(0) Нечто подобное было. Помогла переиндексация. Но не в ТиИ, а на SQL сервере. Но у меня PostgreSQL.
|
|||
27
piter3
22.04.15
✎
13:21
|
(25) я не о тексте,а о параметрах.обновите скуль или попробуйте на нормальном свою базу
|
|||
28
Провинциальный 1сник
22.04.15
✎
13:24
|
Сталкивался как-то с багом в ЗУПе, связанный с рабочим временем. Там запрос был без указания явного упорядочения, а перебор результатов предполагал наличие порядка. На файловой базе всё работало "правильно", а на sql-версии алгоритм выдавал ахинею.
|
|||
29
rphosts
22.04.15
✎
13:28
|
(6) может, например сортировка в файловой и серверной может у запроса немного по разному отрабатывать.
|
|||
30
rphosts
22.04.15
✎
13:30
|
(4) сравни результат запроса и там и тут... допили запрос что-бы он выдавал то что нужно в обоих случаях.
Как-то был такой случай - обернул результат во временную таблицу и отобрал из неё - вроде так решил |
|||
31
Аццкий Чибуражко
22.04.15
✎
14:22
|
(23) дефрагментация индексов средствами sql... в management studio, либо sql-запросами... я "вычислял" имя интересующей таблицы sql в 1С (есть готовые решения-обработки по анализу структуры таблиц sql, сейчас не помню, где брал, поищу), затем смотрел в management studio индексы интересующей таблицы, находил сильно фрагментированные и, опять же, с помощью средств management studio эти индексы либо реорганизовывал, либо перестраивал (дефрагментировал)...
|
|||
32
Аццкий Чибуражко
22.04.15
✎
14:28
|
+ (31) вру... обработку по анализу писал сам... натолкнуло на идею здесь http://v8.1c.ru/metod/faq2/answer.jsp?id=493...
|
|||
33
Alexander5197
24.04.15
✎
13:40
|
Товарищи, на моей улице праздник! Все прошло с накатом сервиспаков, спасибо большое за помощь!
|
|||
34
shuhard_серый
24.04.15
✎
14:08
|
(33) выпей вотки
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |