Имя: Пароль:
1C
1С v8
База в режиме ReadOnly
0 Dmitriy_76
 
22.11.17
08:46
Скульная база. УТ11.
В SQL studio поставил базе режим readonly.
Убрал строчки про обновление.
База взлетела.
Открываются документы, справочники,обработки.

С отчетами засада.
Любой отчет (попробовал даже создать абсолютно пустой отчет без единой сточки кода, форм, макета компоновки...результат тот же) - при открытии вылетает :
Невосстановимая ошибка
Ошибка при выполнении запроса POST к ресурсу /e1cib/logForm:
по причине:
Ошибка СУБД:
Microsoft SQL Server Native Client 10.0: Failed to update database "test1" because the database is read-only.
HRESULT=80004005, SQLSrvr: SQLSTATE=25000, state=1, Severity=10, native=3906, line=1



по логам вижу что платформа пытается апдейтить таблицу SystemSettings


Как можно обойти данную проблему ?
1 Segate
 
22.11.17
08:59
эээ, а в чем прикол?)
2 Segate
 
22.11.17
08:59
Всмысле что ты с этой базой хочешь делать? )
3 dezss
 
22.11.17
09:05
(2) очевидно, строить отчеты на неизменяемых данных...
чтоб не надо было никого по кривым рукам бить за измененные старые данные...
4 h-sp
 
22.11.17
09:06
(0) до фанатизма всё-таки не надо доходить. Понятно же, что отчеты по-любому сохраняют в базе какие-то свои настройки.
5 Timon1405
 
22.11.17
09:06
(2) да много чего
-перенаправить туда часть запросов из рабочей
-отдать аналитикам/аудиторам
6 Ненавижу 1С
 
гуру
22.11.17
09:08
а средствами 1С сделать ее рид-онли?
7 Lolipop
 
22.11.17
09:09
(6) +. Просто поставить дату запрета 01.01.2050 год. Вот тебе и ридонли.
8 Fish
 
22.11.17
09:12
(0) Не нужно делать это средствами скуля.
9 Dmitriy_76
 
22.11.17
09:13
(4) где тут фанатизм ?
(5) Да конечная цель в этом.
(6),(7) читай (5)
(8) почему ? а если хочется ?
10 Рэйв
 
22.11.17
09:14
(0)а...Мы только что с этой фигней боролись:-)
Оно пишет чтото в таблицу системных настроек при открытии формы любого отчета.Причем только в УФ
11 Dmitriy_76
 
22.11.17
09:14
Господа, собственно вопрос не "в зачем", а "как"
12 Fish
 
22.11.17
09:14
(9) "почему ? а если хочется ?" - Ну если хочется иметь базу, с которой нельзя работать от слова совсем - то пожалуйста.
13 1Сергей
 
22.11.17
09:14
(9) потому что 1С так не работает
14 Dmitriy_76
 
22.11.17
09:15
Рейв - победили или она вас ?
15 Рэйв
 
22.11.17
09:15
(14)Победили.Наш нач отдела взял в руки шашки и написал какуюто приблуду на плюсах потому что штатно эта фигня не лечится:-(
16 Fish
 
22.11.17
09:26
(14) Собственно, если очень хочется работать с Read-Only, то нужно конфу допиливать. Вот тут описано: https://habrahabr.ru/post/263267/
17 Мимохожий Однако
 
22.11.17
09:28
Обычно в подобных случаях делается база-копия, которая синхронизируется средствами SQL и в ней сидят аудиторы и прочая братия, которые "readonly". Всё штатно ))
18 1Сергей
 
22.11.17
09:28
(17) + Права ТолькоЧтение для этого придуманы
19 Рэйв
 
22.11.17
09:29
(17)Да, только отчеты в УФ при открытии формы упрямо пытаются в эту ридонли базу чтото прописать и эска вылетает с ошибкой скуля
20 FIXXXL
 
22.11.17
09:30
(0) а обработки открываются?
21 Рэйв
 
22.11.17
09:31
(19)+причем эта ошибк не обрабатывается сервером 1С и поэтому никакое Попытка-Исключение ее не ловит
22 Timon1405
 
22.11.17
09:34
(15) просим статью на хабре от Нач отдела)
23 Dmitriy_76
 
22.11.17
09:34
(22) опередил
24 Dmitriy_76
 
22.11.17
09:34
(16) как раз по этой статье все и началось
25 Рэйв
 
22.11.17
09:35
(22)Ну, я поинтересуюсь:-)
26 Dmitriy_76
 
22.11.17
09:35
(20) обработки да. открывает.
засада именно в отчетах. при чем абсолютно пустые также
27 Рэйв
 
22.11.17
09:38
(22)Спросил. Ответ был "Любой каприз за ваши большие деньги!"
:-)
28 ptiz
 
22.11.17
09:57
(0) То, что база вообще открылась в таком режиме - уже чудо. Он не предназначен для работы 1С.
29 Dmitriy_76
 
22.11.17
10:04
(28)внезапно
30 Мимохожий Однако
 
22.11.17
10:05
(19) Ты не понял. Просто обновляемая копия, в которой делай что хочешь. Она потом всё равно перезапишется из рабочей. Только для чтения в кавычках.
31 FIXXXL
 
22.11.17
10:06
(26) сделай отчет из обработки :)
32 ptiz
 
22.11.17
10:07
(15) Приблуда умудряется работу платформы 1С изменить?
33 НЕА123
 
22.11.17
10:29
(28)+1
34 Timon1405
 
22.11.17
10:36
(0)пишут что при принудительном запуске в обычном режиме открываются и встроенные и внешние отчеты и обработки.©partnersv8
*сам не проверял
35 lodger
 
22.11.17
10:40
а пробовали создать нового юзера в скулятине и дать ему ограничения по таблицам?
типа в регистры не писать, а во всякие хранилища настроек нехай пишет.
прописать эту базу в сервере1с с этим юзером.
будет падать при попытке записи данных (:
36 lodger
 
22.11.17
10:53
что-то в духе
use [SSL]
GO
GRANT SELECT ON [dbo].[_AccRg3942] TO [guest]
GRANT VIEW DEFINITION ON [dbo].[_AccRg3942] TO [guest]
GRANT VIEW CHANGE TRACKING ON [dbo].[_AccRg3942] TO [guest]
GRANT REFERENCES ON [dbo].[_AccRg3942] TO [guest]
DENY INSERT ON [dbo].[_AccRg3942] TO [guest]
DENY ALTER ON [dbo].[_AccRg3942] TO [guest]
DENY TAKE OWNERSHIP ON [dbo].[_AccRg3942] TO [guest]
DENY UPDATE ON [dbo].[_AccRg3942] TO [guest]
DENY DELETE ON [dbo].[_AccRg3942] TO [guest]
DENY CONTROL ON [dbo].[_AccRg3942] TO [guest]
GO

где вместо _AccRg3942 надо перечислить все регистры\справочники\документы с данными, системные и журналы всякие оставить в покое.
37 Dmitriy_76
 
22.11.17
12:29
(35) ну мы так то репликацией пытаемся заняться...
38 DrZombi
 
гуру
22.11.17
12:32
(0) >>> В SQL studio поставил базе режим readonly
И зачем?
39 DrZombi
 
гуру
22.11.17
12:33
(9) Если хочется, то пиши свою 1С и с бабами и блэк джеком  :)
40 ptiz
 
22.11.17
12:39
(36) Всё делается проще - подпиской на событие ПередЗаписью и отлупом в 1С.
(38) Например, у нас есть база, которая является как бы "зеркалом" рабочей на случай сбоя. Как раз в режиме read-only (подгружаются журналы). Можно использовать для отчетов и т.п. ...теоретически, т.к. на практике даем права "только чтение" аудиторам в рабочей базе.
41 DrZombi
 
гуру
22.11.17
12:43
(40) И конечно, что бы не заморачиваться с правами от 1С, хотят, что бы это делал сам SQL  :)
42 DmitrO
 
22.11.17
13:00
Скорее всего дело в этом:
Всякие настройки отчетов, форм, среды работы пользователя в приложении, 1С хранит в хранилищах, которые расположены в самой базе.

Однако, есть такое право "Сохранение данных пользователя", если его пользователю не давать то записи в базу быть не должно. Но и работа с отчетами будет не полноценной.
43 mistеr
 
22.11.17
13:08
Думаю, еще лет пять, и разработчики платформы реализуют такой сценарий. Может и меньше, если какой-нибудь жирный биг-ентерпрайз клиент хорошо попросит.

Для этого достаточно все хранилища настроек и прочую подобную хрень складывать не в основную базу (в терминах скуля), а в отдельную.
44 тарам пам пам
 
22.11.17
13:15
(43) ну так в свойствах конфы есть уже хранилище общих настроек, хранилище пользовательских настроек отчетов и т. д. Какую хочешь логику бери да пиши в них, хоть во внешнюю базу, хоть еще куда.
45 mistеr
 
22.11.17
13:25
(44) Еще не хватало мне писать эту логику каждый раз.
46 Dmitriy_76
 
22.11.17
14:12
(44) Добавил в конфу
Хранилище настроек 1,2,3,4,5

в свойствах конфигурации выбрал:
Хранилище общих настроек -ХранилищеНастроек1
Хранилище пользовательских настроек отчета - ХранилищеНастроек2
Хранилище вариантов отчетов - ХранилищеНастроек3
Хранилище настроек данных форм - ХранилищеНастроек4
Хранилище пользовательских настроек динамического списка - ХранилищеНастроек5

Закомментил в общем модуле чтение и запись в/из этих настроек.


Ошибка не ушла...
47 FIXXXL
 
22.11.17
14:16
(46) не то
там платформенное сохранение есть
48 Dmitriy_76
 
22.11.17
14:31
(47) а как его отключить... тем более что оно в момент открытия формы отчета
49 DrZombi
 
гуру
22.11.17
14:35
(48) Тригером, нет ? :)
50 lodger
 
22.11.17
14:51
(37) одно другому не мешает. записывать туда будет регламент скуля из боевой.
(40) а если коньфа на поддержке?
51 lodger
 
22.11.17
14:55
(50) хотя к черту регламент и дубликацию - такое можно и на боевую повесить.
что вам мешает в сервер-1с прописать ту же базу, но с другим аккаунтом скулятины?
52 Dmitriy_76
 
22.11.17
15:08
(50)(51) а разделение нагрузки как ?
53 sapphire
 
22.11.17
15:12
(0) исчо история работы пользователей будет мешать
54 DmitrO
 
22.11.17
15:39
(46)оставь хранилища в покое, создай пользователя с такими ролями чтобы права "Сохранение данных пользователя" небыло.
55 DmitrO
 
22.11.17
15:44
(54)+Раньше так точно работало, но платформа меняется, могут разрабы платформы накосячить.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший