Макаров Дмитрий | Руководитель проектного отдела | ООО "Информационные Технологии"

«Poka-yoke. Оператор производственной линии - пользователь 1С, кто сказал что 1С только для финансов»

Опыт автоматизации непосредственно на производственной линии или складе. В докладе поделимся опытом разработки и запуска Poka-yoke систем. 1. Что такое Poka-yoke системы и зачем они нужны. Как меняется работа на предприятии при внедрении подобных систем. 2. Почему используем 1С. 2. Чем отличается запуск системы классического учета от Poka-yoke систем. 3. "Подводные камни". На что необходимо обратить внимание при проектировании/внедрении и чем грозят ошибки, примеры из опыта. 4. Возможности интеграции. Arduino, Мобильный клиент 1С, MobileLogistics, технология штрих кодирования. Как все это применить для своего проекта, как связать "кучу" оборудования и тех. процессов в единую систему, какие проблемы встречаются, какие плюсы для предприятия - об этом мой доклад.

"Убираем блокировки" в 1С. Заставляем MS SQL работать как Oracle.

0. comol 3610 27.09.11 08:32 Сейчас в теме
Включение уровня изоляции Read commited shapshot в MS SQL позволяет практически полностью избежать блокировок на уровне MS SQL при использовании управляемого режима

Перейти к публикации

Комментарии
Сортировка: Древо
101. ZLENKO 17.07.14 18:33 Сейчас в теме
(99) Алексей777, "Включаем предложенные автором режимы и все становится хорошо - люди работат могут."

В том то и фишка что в режиме блокировщика на MS SQL управляемые блокировки не решают проблему избыточных блокировок :-) Видел много специалистов с умным видом рассуждающих про управляемые блокировки, но не понимающих как оно все в целом работает. Версионник - наше все ! :-)
102. ZLENKO 17.07.14 18:35 Сейчас в теме
(99) Алексей777, "платформа 8.2.16.362, УПП, у меня нет самописных управляемых блокировок - все типовое"

Для достижения максимального эффекта по повышению производительности надо бы внести изменения в конфигурацию.
100. Алексей777 24 05.02.14 12:55 Сейчас в теме
спасибо автору, ставлю +.
103. kvic2705 8 20.07.14 23:47 Сейчас в теме
Msg 102, Level 15, State 1, Line 1
Incorrect syntax near '-'.
Msg 195, Level 15, State 5, Line 2
'ALLOW_SNAPSHOT_ISOLATION' is not a recognized SET option.
Msg 102, Level 15, State 1, Line 4
Incorrect syntax near '-'.
Msg 195, Level 15, State 5, Line 5
'READ_COMMITTED_SNAPSHOT' is not a recognized SET option.
104. comol 3610 21.07.14 00:07 Сейчас в теме
105. timurhv 8 27.08.14 16:44 Сейчас в теме
Статья помогла для ЗУП/ЗиК 8, где все расчеты выполняются в транзакции - в это время другие учреждения не могут читать данные по регистрам расчета.
После выставления соответствующих настроек: остальные учреждения нормально работают, а по учреждению, где начата транзакция - ждут ее завершения.
106. vde69 896 10.09.14 09:33 Сейчас в теме
не понимаю зачем это нужно вообще?

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

например я в самописке 95% всех движений формирую в одном пакетном запросе и сразу их записываю, единственное чего у меня вне запроса - это ФИФО списание партий, но и для него все данные я получаю этим-же запросом....

Отгрузка на 1000 позиций при формировании движений накладвает блокировку примерно на 0.1 секунду. Зачем сабж - не понимаю....

Ах да, я забыл про монстров типа УПП, но это проблемма не блокировок а избыточного говнокода...
107. ZLENKO 10.09.14 12:58 Сейчас в теме
(106) vde69, "Ах да, я забыл про монстров типа УПП, но это проблемма не блокировок а избыточного говнокода..."

Предлагаете всем перейти на "самописки" ?
108. ZLENKO 10.09.14 13:00 Сейчас в теме
(106) vde69, "Отгрузка на 1000 позиций при формировании движений накладвает блокировку примерно на 0.1 секунду."

Сделайте замер времени записи 1000 движений по плану счетов по счету с двумя уровнями аналитики (типа Товары на складах)...
109. comol 3610 19.09.14 21:36 Сейчас в теме
(106) vde69,
например я в самописке 95% всех движений формирую в одном пакетном запросе и сразу их записываю
Да вы открыли глаза всем на правильность кода! Если бы все новые типовые конфигурации 1С не были бы так написаны ни зачто бы не догадался так делать :)))))
110. ZLENKO 376 21.06.16 13:25 Сейчас в теме
В платформе 8.3 этот режим уже включен по умолчанию, начиная с MSSQL 2005.

Установил 8.3.8.1747, СУБД MSSQL 2008, создал базу средствами сервера приложений.

Проверяю: select name,snapshot_isolation_state_desc,is_read_committed_snapshot_on from sys.databases

name snapshot_isolation_state_desc is_read_committed_snapshot_on
workdb OFF 0

Т.е. не включен... Что я сделал не так?
111. ZLENKO 376 21.06.16 17:23 Сейчас в теме
(110) ZLENKO, "Т.е. не включен... Что я сделал не так?"

Нашел ответ: "Единственное изменение по отношению к версии 8.2 - это переход на уровень изоляции READ_COMMITED_SNAPSHOT в режиме управляемых блокировок"

P.S.: Он включается при реструктуризации БД при отключенном режиме совместимости с 8.2
112. shved 13.11.17 19:33 Сейчас в теме
коллеги подскажите кто победил? ставить READ_COMMITED или купить оракл? на 13,11,17 ничо не имзенилось?
ПС 70 юзеров. начались жалобы на блокировки
114. comol 3610 14.11.17 01:37 Сейчас в теме
(112) (113) в 8.3 READ_COMMITED_SNAPSHOT ставится автоматически... ну может не с первой версии с 8.3.3 или 8.3.5. Ну и управляемые блокировки конечно должны быть включены. Нет, Oracle покупать не надо. Грустно с ним всё.
115. shved 14.11.17 06:43 Сейчас в теме
(114)
в 8.3 READ_COMMITED_SNAPSHOT ставится автоматически...


это должно быть видно в скуле?

платформу последняя, блокировки управляемые, совместимость отключена но в скуле snapshot_isolation_state_desc = ОФФ:


Ядро 8.3.10.2650
snapshot_isolation_state_desc = OFF
is_read_committed_snapshot_on = 1

наверно единичка говорит о том что READ_COMMITED включен. а первый параметр не надо насильно включать? щас он включен только у двух системных баз master и msdb.

если READ_COMMITED включен и база на ссд, остается только искать и переписывать код?
116. alex_sh2008 5 14.11.17 10:05 Сейчас в теме
(115)Блокировки 1С и блокировки SQL не связанные между собой, что бы избавится от блокировок нужно грамотно писать код в 1С, манипуляции на уровне SQL сервера могут привести к непредсказуемым ситуациям, вплоть до потери данных. Насколько я знаю 1С поддерживает на уровне SQL, только READ_COMMITED блокировки.
117. ZLENKO 376 14.11.17 14:29 Сейчас в теме
(116)
Блокировки 1С и блокировки SQL не связанные между собой, что бы избавится от блокировок нужно грамотно писать код в 1С

Ну не совсем точное высказывание... При автоматических и при управляемых в 1С блокировки в SQL тоже по разному работают.
А в остальном согласен, надо сначала код в 1С переписать, может и хватить только is_read_committed_snapshot_on.
118. alex_sh2008 5 14.11.17 20:00 Сейчас в теме
(117)В SQL блокировки всегда одинаково работают, если не указано при начале транзакции иной уровень изоляции от используемого по умолчанию. 1С свои блокировки использует над блокировками SQL, думаю когда происходит фиксация транзакции в 1С, в SQL начинается транзакция в SQL. Как то писал рекурсивный алгоритм зачистки организаций в базе, максимум удалось вывести на 18 потоков удаления, больше уже шел конфликт блокировок, при удалении использовались управляемые блокировки, и блокировал все подряд, не помогло.
119. ZLENKO 376 23.11.17 19:16 Сейчас в теме
(118)
больше уже шел конфликт блокировок, при удалении использовались управляемые блокировки, и блокировал все подряд, не помогло.

Потому что на уровне MS SQL происходила эскалация блокировок, вот поэтому мне нравятся версионники :-)
120. alex_sh2008 5 23.11.17 20:42 Сейчас в теме
(119)Самое интересное что в 1С когда блокировал в разных потоках, 1 и тот же объект, но со смещением во времени, ни каких исключение не возникало, говорила все ОК. И узнавал о проблеме только когда SQL сервер привет присылал. Короче плюнул на эти все эксперименты с блокировками в 1С, получается конфликт ну и фиг с ним.
121. ZLENKO 376 24.11.17 10:59 Сейчас в теме
(120)
И узнавал о проблеме только когда SQL сервер привет присылал. Короче плюнул на эти все эксперименты с блокировками в 1С, получается конфликт ну и фиг с ним.

Зря плюнули... переход на версионный режим решает проблему блокировок.
122. alex_sh2008 5 24.11.17 11:19 Сейчас в теме
(121)Но и накладывает другие проблемы, в 1С я бы не стал использовать этот режим, да и к тому же мне нужны были эти блокировки, правда я ожидал это на уровне 1С, что бы управлять потоками, так нет штатных механизмов синхронизации, приостановки и т.д.
113. babys 82 13.11.17 21:42 Сейчас в теме
Если у все базы на уф, и не нужен ора в перспективе, то комитьте.
123. maxpiter 142 06.01.18 04:52 Сейчас в теме
А на сколько это применимо к 7.7?
124. comol 3610 09.01.18 19:23 Сейчас в теме
(123) Уже ведь 2018 год... 7.7 это не поможет. 7.7 в принципе ничто уже не поможет :)))
125. maxpiter 142 09.01.18 20:54 Сейчас в теме
(124) все кроме одной бд уже на 8.3, но одну, увы, перетащить очень затратно. Связываться с переездом и переобучением 100+ человек то ещё веселье. Люди с 2004 года на этой платформе сидят и все бы ничего, но не хватает скорости в "документах в секунду". 8ка тоже не факт что при тех же разрезах (заявки, резервы, партии, взаиморасчеты, продажи, проводки) даст улучшения. В общем в поиске светлых голов и решений :)
Оставьте свое сообщение
Все разделы

Вакансии


Удаленный ИТ-журналист
Санкт-Петербург
По совместительству

Программист 1С
Санкт-Петербург
зарплата от 80 000 руб. до 150 000 руб.
Полный день

Программист 1С
Москва
зарплата от 120 000 руб. до 160 000 руб.
Полный день

Консультант-аналитик 1С
Москва
зарплата до 160 000 руб.
Полный день