Переключение на Главную Страницу Страницы: [1]  ОтправитьПечать
Очень популярная тема (более 25 ответов) операции без документа (число прочтений - 10412 )
gls
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 51
Зарегистрирован: 14. Июля 2008
операции без документа
01. Октября 2009 :: 07:00
Печать  
1С 7.7 (sql), релиз 25

периодически 1С ругается на дубликаты в primary key в _1soper
смотрю _1soper - есть операции без дока. чищу  

удалось сгенерировать ситуацию, при которой создается операция без документа:
терминальник, 2 пользователя, права на терминальнике - одинаковы (входят в одну группу)

захожу на терминальник под одним пользователем, потом в 1С

создаю новый док.
в модуле формы документа выполняется
Записать();
Сообщить(ТекущийДокумент()); - получаю сообщение с описанием моего документа

захожу на терминальник под другим пользователем
вхожу в 1С под логином пользователя №1
также создаю новый док.    
в модуле формы документа выполняется
Записать();
Сообщить(ТекущийДокумент()); - получаю число, а не только что сохраненный документ    

далее автоматически зануляются дата и номер документа + появляется операция с iddoc, которого нет. в _1sjourn строки, соответствующей только что созданному доку нет.

куда копать?
« Последняя редакция: 01. Октября 2009 :: 09:44 - gls »  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: операции без документа
Ответ #1 - 01. Октября 2009 :: 07:43
Печать  
Опишите как можно подробней Ваш sql сервер (железо и софт).
  
Наверх
 
IP записан
 
gls
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 51
Зарегистрирован: 14. Июля 2008
Re: операции без документа
Ответ #2 - 01. Октября 2009 :: 07:44
Печать  
Microsoft SQL Server  2000 - 8.00.2039 (Intel X86)
     May  3 2005 23:18:38
     Copyright (c) 1988-2003 Microsoft Corporation
     Standard Edition on Windows NT 5.2 (Build 3790: Service Pack 2)
  
Наверх
 
IP записан
 
gls
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 51
Зарегистрирован: 14. Июля 2008
Re: операции без документа
Ответ #3 - 01. Октября 2009 :: 07:59
Печать  
HP PRoliant DL 380G5

данные из ЕМ:
Product: SQL Server Standart Edition
Product Version: 8.00.2039 (SP4)
Platform: NT INTEL X86
OS Memory: 3326(MB)
Processors: 8
  
Наверх
 
IP записан
 
gls
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 51
Зарегистрирован: 14. Июля 2008
Re: операции без документа
Ответ #4 - 01. Октября 2009 :: 09:40
Печать  
ситуация ухудшается - массово появляются оторванные от доков проводки и движения по регистрам: например док не проведен, а движения у него есть.
или есть движения по несуществующему доку.
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: операции без документа
Ответ #5 - 01. Октября 2009 :: 09:57
Печать  
одинесные хранимки не трогал?
  

1&&2&&3
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: операции без документа
Ответ #6 - 01. Октября 2009 :: 09:58
Печать  
Посыпалась база.
В ветке
http://www.1cpp.ru/forum/YaBB.pl?num=1252046940/0#7
есть обработка по поиску ошибок в документах
Проверь с помощью нее базу.
Всех быстрее выгоняй из базы до исправления ситуации ?
Как давно началось ?
Когда была сделана самая последняя резервная копия ?
  
Наверх
 
IP записан
 
gls
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 51
Зарегистрирован: 14. Июля 2008
Re: операции без документа
Ответ #7 - 01. Октября 2009 :: 10:00
Печать  
trad писал(а) 01. Октября 2009 :: 09:57:
одинесные хранимки не трогал?


хп менялись (снимались стандартные 1Сные блокировки). на базу вешались триггеры. много чего сделано )
  
Наверх
 
IP записан
 
gls
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 51
Зарегистрирован: 14. Июля 2008
Re: операции без документа
Ответ #8 - 01. Октября 2009 :: 10:07
Печать  

Z1 писал(а) 01. Октября 2009 :: 09:58:
Всех быстрее выгоняй из базы до исправления ситуации ?
Как давно началось ?

массово началось дня 3 назад
в других базах (с той же конфигурацией) (40 +) таких проблем нет.
пользователи из базы не выгонялись.
исправление делаю на лету.

обработку по исправлению базы - посмотрю
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: операции без документа
Ответ #9 - 01. Октября 2009 :: 10:18
Печать  
gls писал(а) 01. Октября 2009 :: 10:07:
Z1 писал(а) 01. Октября 2009 :: 09:58:
Всех быстрее выгоняй из базы до исправления ситуации ?
Как давно началось ?

массово началось дня 3 назад
в других базах (с той же конфигурацией) (40 +) таких проблем нет.
пользователи из базы не выгонялись.
исправление делаю на лету.

обработку по исправлению базы - посмотрю

как это исправления на лету ?
а если менялась структура данных ?
Даже если и не менялась полфирмы работает по старым правилам (алгоритмам) полфирмы по новым ?

Обработка не исправляет базу а ищет есть ли ошибки.
Где то в конце 2008 выкладывал также обработку по проверке всех регистров в базе.
кажется тема называлась "Проверьте Ваши регистры"
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: операции без документа
Ответ #10 - 01. Октября 2009 :: 10:20
Печать  
gls писал(а) 01. Октября 2009 :: 10:00:
trad писал(а) 01. Октября 2009 :: 09:57:
одинесные хранимки не трогал?


хп менялись (снимались стандартные 1Сные блокировки). на базу вешались триггеры. много чего сделано )

ну и распишите подробней это.
Во первых тогда Вам можно будет более адрессно помочь.
Во вторых Ваши технологии работы с  1с может быть заинтересуют других участников форума.
  
Наверх
 
IP записан
 
gls
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 51
Зарегистрирован: 14. Июля 2008
Re: операции без документа
Ответ #11 - 01. Октября 2009 :: 10:27
Печать  
gls писал(а) 01. Октября 2009 :: 10:07:
как это исправления на лету ?
а если менялась структура данных ?
Даже если и не менялась полфирмы работает по старым правилам (алгоритмам) полфирмы по новым ?

Обработка не исправляет базу а ищет есть ли ошибки.
Где то в конце 2008 выкладывал также обработку по проверке всех регистров в базе.
кажется тема называлась "Проверьте Ваши регистры"


>исправления - на лету
удалялись операции без доков, движения без доков. для этого монопольный режим не нужен. пересчет регистров, бухитогов - накладывались монопольные блокировки на соответсвующие таблицы.
+ переиндексация таблиц БД - тоже не требует монопольного режима.

Вашу обработку по документам пока не запускали. делаем стандартное 1Сное тестирование и исправление базы.
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: операции без документа
Ответ #12 - 01. Октября 2009 :: 10:38
Печать  
gls писал(а) 01. Октября 2009 :: 10:27:
gls писал(а) 01. Октября 2009 :: 10:07:
как это исправления на лету ?
а если менялась структура данных ?
Даже если и не менялась полфирмы работает по старым правилам (алгоритмам) полфирмы по новым ?

Обработка не исправляет базу а ищет есть ли ошибки.
Где то в конце 2008 выкладывал также обработку по проверке всех регистров в базе.
кажется тема называлась "Проверьте Ваши регистры"


>исправления - на лету
удалялись операции без доков, движения без доков. для этого монопольный режим не нужен. пересчет регистров, бухитогов - накладывались монопольные блокировки на соответсвующие таблицы.
+ переиндексация таблиц БД - тоже не требует монопольного режима.

Вашу обработку по документам пока не запускали. делаем стандартное 1Сное тестирование и исправление базы.


Цитата:
удалялись операции без доков, движения без доков. для этого монопольный режим не нужен.
Да но у Вас проблемы с базой и поэтому делать это когда все работают нельзя.




Цитата:
пересчет регистров, бухитогов - накладывались монопольные блокировки на соответсвующие таблицы.

Ну и смысл это делать когда все работают если Вы наложили блокировки на Таблицы то нельзя ни сохранить документ
ни сделать отчет так что делать паралельно с работой смысла особого нет.




Цитата:
+ переиндексация таблиц БД - тоже не требует монопольного режима.
эта фраза вообще не понятна
если Вы имеете вводу Defrag то это Вас не спасет.
А при переиндексации работать нельзя.




Цитата:
делаем стандартное 1Сное тестирование и исправление базы

Там очень жесткие условия исправления базы (очень давно разбирался не  айс). Перед этим то копию сделали ?
  
Наверх
 
IP записан
 
gls
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 51
Зарегистрирован: 14. Июля 2008
Re: операции без документа
Ответ #13 - 01. Октября 2009 :: 10:46
Печать  
Цитата:
Цитата:
удалялись операции без доков, движения без доков. для этого монопольный режим не нужен.
Да но у Вас проблемы с базой и поэтому делать это когда все работают нельзя.

delete from _1soper where iddoc = ''
delete from ra*  where iddoc = ''
можно сделать не в монопольном режиме

Цитата:

Цитата:
пересчет регистров, бухитогов - накладывались монопольные блокировки на соответсвующие таблицы.

Ну и смысл это делать когда все работают если Вы наложили блокировки на Таблицы то нельзя ни сохранить документ
ни сделать отчет так что делать паралельно с работой смысла особого нет.

если наложили монопольные блокировки на бух таблицы - по регистрам доки прекрасно проводятся


Цитата:
Цитата:
+ переиндексация таблиц БД - тоже не требует монопольного режима.
эта фраза вообще не понятна
если Вы имеете вводу Defrag то это Вас не спасет.
А при переиндексации работать нельзя.

имелось в виду - DBCC DBREINDEX (@tablename)
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: операции без документа
Ответ #14 - 01. Октября 2009 :: 11:02
Печать  
Поймите пока Вы не разбиретесь с причинами работать с базой нельзя (ИХМО)

Проверьте если в журнале документов записи с пустым iddoc
аналогично по ссылкам документов.
Также проверьте в этих таблицах запредельные даты.

Объяснить как Вы получили пустую операцию я еще как-то могу
Но как Вам удалось в ra создать движения с пустым IDDOC
не знаю. наверное это можно либо сняв вообще все блокировки только грязное чтение либо, что-то делаете в тригерах.

Цитата:
если наложили монопольные блокировки на бух таблицы - по регистрам доки прекрасно проводятся
А если документ двигает и регистры и проводки ?
Если у Вас таких нет то и не надо смешивать бух и торговлю.

Цитата:
DBCC DBREINDEX (@tablename)
Это Вам не поможет так как ошибки в логике работы приложения. Похоже что нет аппаратных сбоев, а просто проявились критические режимы работы 1с.
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: операции без документа
Ответ #15 - 01. Октября 2009 :: 11:02
Печать  
Z1 писал(а) 01. Октября 2009 :: 10:20:
gls писал(а) 01. Октября 2009 :: 10:00:
trad писал(а) 01. Октября 2009 :: 09:57:
одинесные хранимки не трогал?

хп менялись (снимались стандартные 1Сные блокировки). на базу вешались триггеры. много чего сделано )

ну и распишите подробней это.
Во первых тогда Вам можно будет более адрессно помочь.
Во вторых Ваши технологии работы с  1с может быть заинтересуют других участников форума.

ага, заинтересуют, особенно последствия  Улыбка
  

1&&2&&3
Наверх
 
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: операции без документа
Ответ #16 - 01. Октября 2009 :: 11:25
Печать  
Цитата:
ага, заинтересуют, особенно последствия 

+1
  
Наверх
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: операции без документа
Ответ #17 - 01. Октября 2009 :: 11:38
Печать  
leshik писал(а) 01. Октября 2009 :: 11:25:
Цитата:
ага, заинтересуют, особенно последствия  

+1

так последствия уже расписаны в ветке.
Интерес проанализировать чужие грабли чем самому на них наступить.
  
Наверх
 
IP записан
 
gls
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 51
Зарегистрирован: 14. Июля 2008
Re: операции без документа
Ответ #18 - 01. Октября 2009 :: 11:40
Печать  
Цитата:
Поймите пока Вы не разбиретесь с причинами работать с базой нельзя (ИХМО)


остановить работу 1С до выяснения причин сбоя - к сожалению, невозможно.

Цитата:
Проверьте если в журнале документов записи с пустым iddoc 
аналогично по ссылкам документов.

имеете в виду: select * from _1sjourn (nolock) where iddoc = '     0' 
select * from _1scrdoc (nolock) where childid = '     0'
?

Цитата:
Но как Вам удалось в ra создать движения с пустым IDDOC
не знаю. наверное это можно либо сняв вообще все блокировки только грязное чтение либо, что-то делаете в тригерах. 

в ra iddoc не пустой.
соответствующая этому iddoc запись в _1sjourn имеет closed & 0x1 = 0

у меня подозрение, что происходит следующее:
создается новый док
при записи iddoc почему-то не пишется в _1sjourn   
далее - если док проводится - рисуются движения с iddoc открытой формы


другой пользователь создает другой док
доку присваивается тот же айдишник, что и у открытой у пользователя №1 формы. 
док сохраняется в _1sjourn но не проводится

в итоге имеем запись в _1sjourn от второго дока, а движения - от первого

Цитата:
Похоже что нет аппаратных сбоев, а просто проявились критические режимы работы 1с.

как бы их вылечить...
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: операции без документа
Ответ #19 - 01. Октября 2009 :: 11:41
Печать  
Кстати можно будет на досуге написать поиск ошибок по проводкам,
операциям, документам, оборотам аналогичным по документам и
регистрам. Просто у  нас бух база "слабо" нагружена ( кроме периуда сдачи баланса) поэтому там с ошибками в таблицах 1с  ни разу не сталкивался.
  
Наверх
 
IP записан
 
gls
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 51
Зарегистрирован: 14. Июля 2008
Re: операции без документа
Ответ #20 - 01. Октября 2009 :: 11:43
Печать  
trad писал(а) 01. Октября 2009 :: 11:02:
Z1 писал(а) 01. Октября 2009 :: 10:20:
gls писал(а) 01. Октября 2009 :: 10:00:
trad писал(а) 01. Октября 2009 :: 09:57:
одинесные хранимки не трогал?

хп менялись (снимались стандартные 1Сные блокировки). на базу вешались триггеры. много чего сделано )

ну и распишите подробней это.
Во первых тогда Вам можно будет более адрессно помочь.
Во вторых Ваши технологии работы с  1с может быть заинтересуют других участников форума.

ага, заинтересуют, особенно последствия  Улыбка


механизм снятия стандартных 1Сных блокировок в инете не один раз обсуждался.
чуть позднее найду ссылку - сброшу.

триггеры навешивались на ряд справочников - при изменении элементов одного вида спр. - вносились изменеия в другой.
там вроде все просто ) 
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: операции без документа
Ответ #21 - 01. Октября 2009 :: 11:44
Печать  
верни блокировки на свое законное место
  

1&&2&&3
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: операции без документа
Ответ #22 - 01. Октября 2009 :: 11:46
Печать  
gls писал(а) 01. Октября 2009 :: 11:43:
механизм снятия стандартных 1Сных блокировок в инете не один раз обсуждался.
чуть позднее найду ссылку - сброшу.

ага, в инете полно всякого хлама
  

1&&2&&3
Наверх
 
IP записан
 
gls
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 51
Зарегистрирован: 14. Июля 2008
Re: операции без документа
Ответ #23 - 01. Октября 2009 :: 11:47
Печать  
trad писал(а) 01. Октября 2009 :: 11:44:
верни блокировки на свое законное место

имхо: дело не том - менялись блокировки или нет
на 40+ базах нестандартные блокировки работают, и только на одной(!) имеем проблему.

тестили и со стандартными блокировками - проблема не исчезла
  
Наверх
 
IP записан
 
gls
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 51
Зарегистрирован: 14. Июля 2008
Re: операции без документа
Ответ #24 - 01. Октября 2009 :: 11:51
Печать  
Z1 писал(а) 01. Октября 2009 :: 11:41:
Кстати можно будет на досуге написать поиск ошибок по проводкам,
операциям, документам, оборотам аналогичным по документам и
регистрам. Просто у  нас бух база "слабо" нагружена ( кроме периуда сдачи баланса) поэтому там с ошибками в таблицах 1с  ни разу не сталкивался.


тут все просто:
--операции без доков
select
     *
from
    _1soper o (nolock)
left join
    _1sjourn j (nolock) on j.iddoc = o.docid
where
    j.iddoc is null

--проводки без доков
select
     *
from
    _1sentry e (nolock)
left join
    _1sjourn j (nolock) on j.iddoc = e.docid
     and closed & 0x1 = 1
where
    j.iddoc is null

--движения без доков
select
     *
from
    ra* r (nolock)
left join
    _1sjourn j (nolock) on j.iddoc = r.iddoc
     and closed & 0x1 = 1
where
    j.iddoc is null
« Последняя редакция: 01. Октября 2009 :: 12:53 - gls »  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: операции без документа
Ответ #25 - 01. Октября 2009 :: 11:56
Печать  
Цитата:
у меня подозрение, что происходит следующее:
создается новый док
при записи iddoc почему-то не пишется в _1sjourn 
далее - если док проводится - рисуются движения с iddoc открытой формы

другой пользователь создает другой док
доку присваивается тот же айдишник, что и у открытой у пользователя №1 формы. 
док сохраняется в _1sjourn но не проводится

в итоге имеем запись в _1sjourn от второго дока, а движения - от первого

Это может произойти если Вы сняли все блокировки на все таблицы  и не наложили своих.
В стандартной 1с это ловиться.Мой же тест рушит только один документ и то без записи.

У стандартной 1с постулат
В один момент времени может записываться и проводиться только один документ.
Если Вы снимаете блокировки то Вы сначала должны создать систему постулатов и только потом очень корректно эту систему воплащать с помощью своих блокировок( трудность в том что сложно понимать логику паралельной работы еще сложнее воспроизвести ошибки в этой логике так как нет повторяемости).

Так что если хотите чтобы Вам помогли можете рассказать свою систему постулатов и их реализацию.

Цитата:
остановить работу 1С до выяснения причин сбоя - к сожалению, невозможно.
ИХМО - бред ( ничего личного ) у Вас база
сыпется, а Вы в ней продолжаете работать. Какой смысл в работы
с базой которая уже логически противоречива. Нет целостности данных. Верить ни данным ни отчетам уже Нельзя.
ТАкже Вы ничего не ответили о дате последней копии.
Если сами не можете остановить работу то хоты бы Заявите об этом очень громко или покажите ветку Вашему руководству(кто может принять решение).
  
Наверх
 
IP записан
 
gls
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 51
Зарегистрирован: 14. Июля 2008
Re: операции без документа
Ответ #26 - 01. Октября 2009 :: 11:59
Печать  
Цитата:
ТАкже Вы ничего не ответили о дате последней копии.

последняя копия - ночная
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: операции без документа
Ответ #27 - 01. Октября 2009 :: 12:02
Печать  
gls писал(а) 01. Октября 2009 :: 11:59:
Цитата:
ТАкже Вы ничего не ответили о дате последней копии.

последняя копия - ночная

ну вот и проверьте в ней есть ошибки или нет ?
  
Наверх
 
IP записан
 
alexdd
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 347
Зарегистрирован: 25. Июня 2007
Re: операции без документа
Ответ #28 - 01. Октября 2009 :: 12:05
Печать  
gls писал(а) 01. Октября 2009 :: 11:51:
--проводки без доков
--движения без доков

может в этой одной из 40 не стоит галка "Автоматическое удаление движений", а в триггерах и тп такой вариант не предусмотрен?
  
Наверх
 
IP записан
 
gls
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 51
Зарегистрирован: 14. Июля 2008
Re: операции без документа
Ответ #29 - 01. Октября 2009 :: 12:07
Печать  
Z1 писал(а) 01. Октября 2009 :: 12:02:
gls писал(а) 01. Октября 2009 :: 11:59:
Цитата:
ТАкже Вы ничего не ответили о дате последней копии.

последняя копия - ночная

ну вот и проверьте в ней есть ошибки или нет ?


ошибка была и вчера
выловить удалось только для одной учетки терминальника.
работая под этой учеткой гарантированно имею ошибку.
работая под другой - ошибок нет.
базу развернуть быстро не получится...
  
Наверх
 
IP записан
 
gls
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 51
Зарегистрирован: 14. Июля 2008
Re: операции без документа
Ответ #30 - 01. Октября 2009 :: 12:08
Печать  
alexdd писал(а) 01. Октября 2009 :: 12:05:
gls писал(а) 01. Октября 2009 :: 11:51:
--проводки без доков
--движения без доков

может в этой одной из 40 не стоит галка "Автоматическое удаление движений", а в триггерах и тп такой вариант не предусмотрен?

на доке, который не записывается - галка "Автоматическое удаление движений", стоит
операция создается - всегда

но основной вопрос - почему под одной учеткой док. корректно записывается, а под другой - нет
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: операции без документа
Ответ #31 - 01. Октября 2009 :: 12:13
Печать  
alexdd писал(а) 01. Октября 2009 :: 12:05:
gls писал(а) 01. Октября 2009 :: 11:51:
--проводки без доков
--движения без доков

может в этой одной из 40 не стоит галка "Автоматическое удаление движений", а в триггерах и тп такой вариант не предусмотрен?

а может в этой базе другие тригеры или какие то из тригеров отключены.

(0) Какая у Вас реальная авторизация sql базы ? (win, sql)
Под какими пользователями работаете в sql.

Цитата:
выловить удалось только для одной учетки терминальника
Проверьте права этой учетной записи.

Получается что под этой учетной записью часть тригеров не отрабатывает.
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: операции без документа
Ответ #32 - 01. Октября 2009 :: 12:21
Печать  
Или под этой учетной записью Вам недоступна для изменения таблица журнала документов а таблица операций доступна.
Но в этом случае непонятно почему транзакция не откатывается.
Какой тип транзакций у Вас.
Может быть Вы отключили неявные транзакции ? и у Вас автоматические транзакции.
  
Наверх
 
IP записан
 
gls
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 51
Зарегистрирован: 14. Июля 2008
Re: операции без документа
Ответ #33 - 01. Октября 2009 :: 12:26
Печать  
Z1 писал(а) 01. Октября 2009 :: 12:13:
alexdd писал(а) 01. Октября 2009 :: 12:05:
gls писал(а) 01. Октября 2009 :: 11:51:
--проводки без доков
--движения без доков

может в этой одной из 40 не стоит галка "Автоматическое удаление движений", а в триггерах и тп такой вариант не предусмотрен?

а может в этой базе другие тригеры или какие то из тригеров отключены.

(0) Какая у Вас реальная авторизация sql базы ? (win, sql)
Под какими пользователями работаете в sql.

Цитата:
выловить удалось только для одной учетки терминальника
Проверьте права этой учетной записи.

Получается что под этой учетной записью часть тригеров не отрабатывает.


1. на сегодняшнее утро в проблемной базе использовались стандартные 1Сные блокировки
2. авторизация - sql
3. под sa
4. делали запрос админам - проблемная учетка  ничем не отличается от беспроблемных

Цитата:
Получается что под этой учетной записью часть тригеров не отрабатывает.

триггеров на документах нет
похоже что не отрабатывается код 1С, соттветствующий записи данных в _1sjourn

  
Наверх
 
IP записан
 
gls
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 51
Зарегистрирован: 14. Июля 2008
Re: операции без документа
Ответ #34 - 01. Октября 2009 :: 12:31
Печать  
Z1 писал(а) 01. Октября 2009 :: 12:21:
Или под этой учетной записью Вам недоступна для изменения таблица журнала документов а таблица операций доступна.
Но в этом случае непонятно почему транзакция не откатывается.
Какой тип транзакций у Вас.
Может быть Вы отключили неявные транзакции ? и у Вас автоматические транзакции.


режим неявных транзакций не отключали.
док. пишется стандартными 1Сными методами
1С подключается к sql под sa - учетка пользователя вообще не используется при работе 1С с sql базой.
есть какое-нибудь логическое объяснение - как возможно законнектиться под sa к базе - и не получить доступ на insert в 1 таблицу?

  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: операции без документа
Ответ #35 - 01. Октября 2009 :: 12:36
Печать  
Цитата:
триггеров на документах нет
похоже что не отрабатывается код 1С, соттветствующий записи данных в _1sjourn
Тогда бы ни в одном сохраненном документе не было бы номера. Так как документы Вы видите значит они записываются.

Если документ не может записаться то 1с откатывается по транзакции
с ошибкой. Ход этих событий могут изменить тригеры своей внутренней логикой.
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: операции без документа
Ответ #36 - 01. Октября 2009 :: 12:40
Печать  
Цитата:
триггеров на документах нет
похоже что не отрабатывается код 1С, соттветствующий записи данных в _1sjourn

А может все наоборот тригерры есть в этой одной из 40 баз
и они для всех пользователей кроме одного ничего не делают,
а для Вашей учетной записи делают Нечто иное
  
Наверх
 
IP записан
 
gls
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 51
Зарегистрирован: 14. Июля 2008
Re: операции без документа
Ответ #37 - 01. Октября 2009 :: 12:44
Печать  
Z1 писал(а) 01. Октября 2009 :: 12:36:
Цитата:
триггеров на документах нет
похоже что не отрабатывается код 1С, соттветствующий записи данных в _1sjourn
Тогда бы ни в одном сохраненном документе не было бы номера. Так как документы Вы видите значит они записываются.

Если документ не может записаться то 1с откатывается по транзакции
с ошибкой. Ход этих событий могут изменить тригеры своей внутренней логикой.

после записи проблемным пользователем нового дока - номер док и дата обнуляются
док, созданный пользователем никто, кроме него не видит.
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: операции без документа
Ответ #38 - 01. Октября 2009 :: 12:45
Печать  
gls писал(а) 01. Октября 2009 :: 11:40:
доку присваивается тот же айдишник, что и у открытой у пользователя №1 формы.  

Этому горю не сложно помочь - нужно блокировать строку в _1sp__1SUIDCTL_GetMaxID. 1С этого не делает при штатных блокировках за ненадобностью. Но лучше
trad писал(а) 01. Октября 2009 :: 11:44:
верни блокировки на свое законное место

trad дурного не посоветует.  Подмигивание

  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: операции без документа
Ответ #39 - 01. Октября 2009 :: 12:50
Печать  
gls писал(а) 01. Октября 2009 :: 12:26:
1. на сегодняшнее утро в проблемной базе использовались стандартные 1Сные блокировки

gls писал(а) 01. Октября 2009 :: 12:26:
похоже что не отрабатывается код 1С, соттветствующий записи данных в _1sjourn

Похоже, что это взаимоисключающие утверждения.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: операции без документа
Ответ #40 - 01. Октября 2009 :: 12:55
Печать  
gls писал(а) 01. Октября 2009 :: 12:44:
Z1 писал(а) 01. Октября 2009 :: 12:36:
Цитата:
триггеров на документах нет
похоже что не отрабатывается код 1С, соттветствующий записи данных в _1sjourn
Тогда бы ни в одном сохраненном документе не было бы номера. Так как документы Вы видите значит они записываются.

Если документ не может записаться то 1с откатывается по транзакции
с ошибкой. Ход этих событий могут изменить тригеры своей внутренней логикой.

после записи проблемным пользователем нового дока - номер док и дата обнуляются
док, созданный пользователем никто, кроме него не видит.

так узнайте id этого процесса sql и смотрите в профайлере что
происходит при записи нового документа.

  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: операции без документа
Ответ #41 - 01. Октября 2009 :: 13:04
Печать  
(0) база распределенная ?
Может у твоего неправильного пользователя иная локализация языка?
  
Наверх
 
IP записан
 
gls
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 51
Зарегистрирован: 14. Июля 2008
Re: операции без документа
Ответ #42 - 01. Октября 2009 :: 13:10
Печать  
Z1 писал(а) 01. Октября 2009 :: 13:04:
(0) база распределенная ?
Может у твоего неправильного пользователя иная локализация языка?


база не распределенная
локализация языка - где посмотреть?
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: операции без документа
Ответ #43 - 01. Октября 2009 :: 13:11
Печать  
Если ты зашел из терминала в 1с под sa то все сессии равнозначны.
Может у Вас какие либо расхождения для разных пользователях 1с?
и этот Ваш некто работает под другим пользователем 1с и там все работает не так как у всех.Этот пользователь например переопределяет авторизацию или что-то еще.
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: операции без документа
Ответ #44 - 01. Октября 2009 :: 13:14
Печать  
gls писал(а) 01. Октября 2009 :: 13:10:
Z1 писал(а) 01. Октября 2009 :: 13:04:
(0) база распределенная ?
Может у твоего неправильного пользователя иная локализация языка?


база не распределенная
локализация языка - где посмотреть?

локализация не принципиальна для терминала это я перепутал подумал вдруг Вы работаете и под Win7.
Но на всякий случай посмотри регионал настройки все.
Хотя не должны они влиять на терминал.
  
Наверх
 
IP записан
 
gls
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 51
Зарегистрирован: 14. Июля 2008
Re: операции без документа
Ответ #45 - 01. Октября 2009 :: 13:14
Печать  
Z1 писал(а) 01. Октября 2009 :: 12:55:
gls писал(а) 01. Октября 2009 :: 12:44:
Z1 писал(а) 01. Октября 2009 :: 12:36:
Цитата:
триггеров на документах нет
похоже что не отрабатывается код 1С, соттветствующий записи данных в _1sjourn
Тогда бы ни в одном сохраненном документе не было бы номера. Так как документы Вы видите значит они записываются.

Если документ не может записаться то 1с откатывается по транзакции
с ошибкой. Ход этих событий могут изменить тригеры своей внутренней логикой.

после записи проблемным пользователем нового дока - номер док и дата обнуляются
док, созданный пользователем никто, кроме него не видит.

так узнайте id этого процесса sql и смотрите в профайлере что
происходит при записи нового документа.



сейчас подключиться под ним не получается
ранее -  профайлер по его @@spid не показывал какие-либо действия с _1sjourn:
до записи дока - инфа была
запись - инфы нет. никакой

upd: видимо был разрыв сети.
повторное натравливание профайлера на проблемный процесс никаких отличий от нормального процесса не показал
« Последняя редакция: 01. Октября 2009 :: 14:42 - gls »  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: операции без документа
Ответ #46 - 01. Октября 2009 :: 13:28
Печать  
ну 100 тригер.
1.Попробуйте под этой учетной записью зайти под другим пользователем 1с.

2.Попробуйте убить и пересоздать Вашу "подозрительную" уч запись.
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: операции без документа
Ответ #47 - 01. Октября 2009 :: 14:06
Печать  
(0) Создайте по Вашему md еще одну базу  1с sql пустую стандартную.В ней вообще изначально нет тригеров.
И в этой базе создай документ под плохой учетной записью и под хорошей учетной записью при этом файл пользователей 1с возьми
из базы где "псевдоошибка"
  
Наверх
 
IP записан
 
gls
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 51
Зарегистрирован: 14. Июля 2008
Re: операции без документа
Ответ #48 - 01. Октября 2009 :: 14:40
Печать  
berezdetsky писал(а) 01. Октября 2009 :: 12:45:
gls писал(а) 01. Октября 2009 :: 11:40:
доку присваивается тот же айдишник, что и у открытой у пользователя №1 формы.  

Этому горю не сложно помочь - нужно блокировать строку в _1sp__1SUIDCTL_GetMaxID. 1С этого не делает при штатных блокировках за ненадобностью. Но лучше
trad писал(а) 01. Октября 2009 :: 11:44:
верни блокировки на свое законное место

trad дурного не посоветует.  Подмигивание



смотрю профайлер:

set implicit_transactions on  --режим неявных транзакций

exec _1sp__1SJOURN_TLockX --ничего не происходит

declare @P1 char(9)
set @P1='  1TFV   '
exec _1sp__1SUIDCTL_GetMaxID 0, @P1 output  --начинается транзакция, т.к. в хп есть select

select @P1

текст _1sp__1SUIDCTL_GetMaxID:

CREATE procedure _1sp__1SUIDCTL_GetMaxID(@tid INTEGER, @id CHAR(9) OUTPUT) AS
select @id=MAXID from _1SUIDCTL(UPDLOCK)  where TYPEID=@tid
if @id is null select @id='         '    
                                           

какая блокировка требуется, на Ваш взгляд?
  
Наверх
 
IP записан
 
gls
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 51
Зарегистрирован: 14. Июля 2008
Re: операции без документа
Ответ #49 - 01. Октября 2009 :: 14:47
Печать  
Z1 писал(а) 01. Октября 2009 :: 13:28:
ну 100 тригер.
1.Попробуйте под этой учетной записью зайти под другим пользователем 1с.

2.Попробуйте убить и пересоздать Вашу "подозрительную" уч запись.

1. вход под этой учеткой под другим пользователем дает ту же ошибку
2. так и сделаю.
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: операции без документа
Ответ #50 - 01. Октября 2009 :: 15:09
Печать  
gls писал(а) 01. Октября 2009 :: 14:40:
berezdetsky писал(а) 01. Октября 2009 :: 12:45:
gls писал(а) 01. Октября 2009 :: 11:40:
доку присваивается тот же айдишник, что и у открытой у пользователя №1 формы.  

Этому горю не сложно помочь - нужно блокировать строку в _1sp__1SUIDCTL_GetMaxID. 1С этого не делает при штатных блокировках за ненадобностью. Но лучше
trad писал(а) 01. Октября 2009 :: 11:44:
верни блокировки на свое законное место

trad дурного не посоветует.  Подмигивание



смотрю профайлер:

set implicit_transactions on  --режим неявных транзакций

exec _1sp__1SJOURN_TLockX --ничего не происходит

declare @P1 char(9)
set @P1='  1TFV   '
exec _1sp__1SUIDCTL_GetMaxID 0, @P1 output  --начинается транзакция, т.к. в хп есть select

select @P1

текст _1sp__1SUIDCTL_GetMaxID:

CREATE procedure _1sp__1SUIDCTL_GetMaxID(@tid INTEGER, @id CHAR(9) OUTPUT) AS
select @id=MAXID from _1SUIDCTL(UPDLOCK)  where TYPEID=@tid
if @id is null select @id='         '    
                                           

какая блокировка требуется, на Ваш взгляд?

смотри профайлер полностью до конца до окончания транзакции
сделай тоже самое под хорошей уч записью.
Что должно выполняться  при правильной работе для нового документа есть в ветке где лежит моя обработка.
Если _1sp__1SUIDCTL_GetMaxID возвращает @id='         '  только для одной учетной записи то это означает что под этой учетной записью нет доступа к таблице _1SUIDCTL или на эту таблицу может какая view есть.
@id='         '  это означает что в базе вообще нет ни обного документа чего быть не может.
Т.е. у тебя в базе что-то переопределяется для этой учетной записи.
Сделай в md новый документ "Тест" только номер дата нумерация без уникальности док без движений и проводок.
в глоб модуле поставь
Код
Выбрать все
Процедура ПриНачалеРаботыСистемы()
// тестирует простейший документ
   ОткрытьФорму.("Документ.Тест",,);
   return;
.....
КонецПроцедуры
 


и создавай документ для хорошей и плохой учетной записи.
скажи результат здесь.
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: операции без документа
Ответ #51 - 01. Октября 2009 :: 16:49
Печать  
gls писал(а) 01. Октября 2009 :: 14:40:
текст _1sp__1SUIDCTL_GetMaxID:

CREATE procedure _1sp__1SUIDCTL_GetMaxID(@tid INTEGER, @id CHAR(9) OUTPUT) AS
select @id=MAXID from _1SUIDCTL(UPDLOCK)  where TYPEID=@tid
if @id is null select @id='         '    
                                           

какая блокировка требуется, на Ваш взгляд?

Я не знаю что ты тут ожидал получить.
Но если целью была блокировка до конца транзакции (т.е. до commit tran), то не хватает holdlock.

ps
а вообще, по фотографии лечить не умею
  

1&&2&&3
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: операции без документа
Ответ #52 - 01. Октября 2009 :: 20:47
Печать  
Ожидал он невозможности получения одинаковых ID в параллельных транзакциях, а получил лишь невозможность одновременной их записи. Но все транзакции когда-нибудь заканчиваются.. Круглые глаза Правильным было бы xlock, rowlock. Хотя, на фоне прочих проблем это будет, как мёртвому припарка.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: операции без документа
Ответ #53 - 02. Октября 2009 :: 04:47
Печать  
trad писал(а) 01. Октября 2009 :: 16:49:
gls писал(а) 01. Октября 2009 :: 14:40:
текст _1sp__1SUIDCTL_GetMaxID:

CREATE procedure _1sp__1SUIDCTL_GetMaxID(@tid INTEGER, @id CHAR(9) OUTPUT) AS
select @id=MAXID from _1SUIDCTL(UPDLOCK)  where TYPEID=@tid
if @id is null select @id='         '    
                                           

какая блокировка требуется, на Ваш взгляд?

Я не знаю что ты тут ожидал получить.
Но если целью была блокировка до конца транзакции (т.е. до commit tran), то не хватает holdlock.

ps
а вообще, по фотографии лечить не умею

Да уж. У автора subj стандартная 1с работает  Улыбка
ps
Да уж из меня тоже плохой доктор   Улыбка
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: операции без документа
Ответ #54 - 02. Октября 2009 :: 05:00
Печать  
Цитата:
Да уж. У автора subj стандартная 1с работает

Цитата:
select @id=MAXID from _1SUIDCTL(UPDLOCK)
- это не стандартная. В стандартной NOLOCK.

А вот вместо этого
Цитата:
exec _1sp__1SJOURN_TLockX --ничего не происходит
в стандартной происходит (TABLOCKX HOLDLOCK)
  

1&&2&&3
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: операции без документа
Ответ #55 - 02. Октября 2009 :: 05:05
Печать  
trad писал(а) 02. Октября 2009 :: 05:00:
Цитата:
Да уж. У автора subj стандартная 1с работает

Цитата:
select @id=MAXID from _1SUIDCTL(UPDLOCK)
- это не стандартная. В стандартной NOLOCK.

А вот вместо этого
Цитата:
exec _1sp__1SJOURN_TLockX --ничего не происходит
в стандартной происходит (TABLOCKX HOLDLOCK)

я знаю. я же смайлик  поставил.
ну а автору ты уже ответил

trad писал(а) 01. Октября 2009 :: 11:44:
верни блокировки на свое законное место

  
Наверх
 
IP записан
 
gls
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 51
Зарегистрирован: 14. Июля 2008
Re: операции без документа
Ответ #56 - 05. Октября 2009 :: 06:17
Печать  
с ошибкой разобрались.
дело было в логине, под которым пользователь заходил на терминальник:
в проблемном пользователе логин содержал одинарную кавычку: s'ivanov

после замены "плохих" логинов на "хорошие" - описанная ошибка не повторялась.
в каком именно коде наличие одинарной кавычки приводило к описанной ошибке выяснить не удалось.

всем спасибо за помощь.
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: операции без документа
Ответ #57 - 05. Октября 2009 :: 06:36
Печать  
gls писал(а) 05. Октября 2009 :: 06:17:
с ошибкой разобрались.
дело было в логине, под которым пользователь заходил на терминальник:
в проблемном пользователе логин содержал одинарную кавычку: s'ivanov

после замены "плохих" логинов на "хорошие" - описанная ошибка не повторялась.
в каком именно коде наличие одинарной кавычки приводило к описанной ошибке выяснить не удалось.

всем спасибо за помощь.

Ну и еще желательно в учетных записях использовать только английские буквы и цифры а то тоже может вылезти где нибудь .

С символом кавычка у меня тоже были проблемы. Банковскую выписку обрабатываю прямым запросом sql. Иногда в назначение платежа был '  - Около месяца ловил этот эпизодически возникающий трабл.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 
ОтправитьПечать