Работаем без последовательности?

По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
683. Моха 10.12.09 01:29 Сейчас в теме
684. hogik 443 10.12.09 01:30 Сейчас в теме
685. hogik 443 10.12.09 16:59 Сейчас в теме
(1)
Сергей.
Я еще забыл сказать - от чего еще надо отказаться.
От самого понятия провести/де-провести документ в реализации этого понятия 1С-овцами. ;-)
Если мне не изменяет память, при проведении документа сначала происходит удаление всего движения данного документа. Т.е. документ становиться всегда новым документом. Образно, говоря документ вытаскивается из нескольких "пачек" движений. Это хороший, универсальный алгоритм. На самом деле, думаю, надо сначала "сравнивать" старое движение с новым, "вычислить" разницу и в базе данных отражать только различия. Такое сравнение реально сделать универсальным, если ВСЕ документы привести к одинаковой простейшей форме в части хранения и обработки их движения. Выше по теме я привел эту простую форму для ТиС (в моём понимании). Допускаю, что в других задачах, для которых создана подсистема "Оперативный учет" это невозможно...
686. CheBurator 3119 11.12.09 16:23 Сейчас в теме
при проведении документа сначала происходит удаление всего движения данного документа. Т.е. документ становиться всегда новым документом. Образно, говоря документ вытаскивается из нескольких "пачек" движений. Это хороший, универсальный алгоритм. На самом деле, думаю, надо сначала "сравнивать" старое движение с новым, "вычислить" разницу и в базе данных отражать только различия.

- а можно услышать более развернутые соображения по этому поводу???
мну, например, гложут сомнения в целесообразности таких вычислительных затрат...
687. hogik 443 11.12.09 16:32 Сейчас в теме
(303)
"мну, например, гложут сомнения в целесообразности таких вычислительных затрат"
Затрат в штатном алгоритме 1Са или моего "предложения" из (302) - "..."вычислить" разницу..."?
688. CheBurator 3119 11.12.09 16:52 Сейчас в теме
ли моего "предложения" из (302) - "..."вычислить" разницу..."?

- вот это...
.
и еще: я так понял, что у вас документ = 1строчныйдокумент, то есть табличной части нет, все регистрируется в "шапке"? а сам документ при необходимости "визуализируется" отчетом/запросом...?
689. hogik 443 11.12.09 18:48 Сейчас в теме
(305)
Сергей.
У нас совершенно нормальные документы - строки, шапки.
Документы выглядят и сделаны в "штатной концепции" 1С 7.7.
И никаких запросов ;-)
Основное отличие реализации - другая организация регистров, исходя из положений, сформулированных в (88).
Попробую пояснить (302) в терминах 1Са. Не судите строго последующий текст. Т.к. я уже ДЕВЯТЬ лет не "сталкиваюсь" с этими терминами.
Инструмент последовательностей документов позволяет отследить перемещение документов на оси времен по собственной дате документа. Взаимосвязь документов не отслеживается. Она только декларируется при описании последовательности документов. Перемещение документа по оси времени не всегда порождает противоречие в "жестких" связях документов. И именно это, как мне показалось, Вы хотите отследить. Т.е. инструмент последовательностей должен отслеживать не перемещение документов на оси времени по дате, а по содержанию его движения установившего "жесткую" связь документов. Это я и назвал в (302) "пачками" движений. Почему - "пачка". Можно представить, что регистры это укладывания документов (его частей) в "пачки". Т.е. документ одновременно должен находится в разных "пачках" (последовательностях).
Отследить все последовательность по содержанию до проведения документа, думаю, сложновато (накладно, долго и т.д) будет. А отследить (выяснить) состав изменяющихся реквизитов и их принадлежности (влияния) на "пачки" движений - проще. Т.е. сравнить старое состояние документа и новое. И уже на основании этой информации "накапливать" данные о необходимости пере-проводить те или иные документы. Но этот алгоритм, думаю, будет тоже сложным при написании его на "штатном" языке 1С. Точнее не на языке, а на "штатных" инструментах - регистры, последовательности, итоги и т.д. Т.е. такой алгоритм можно упростить по сути и скорости выполнения приведя работу (анализ) структуры ВСЕХ документов и составления под-схемы базы данных (документа) только из тех реквизитов, которые влияют на "жесткую" связь документов.
Так? Или не - так?
Я сумел ответить Вам на вопрос из (303-304) сообщений?
690. CheBurator 3119 11.12.09 19:05 Сейчас в теме
(306) сорри, загружен срочной работой, буду подробно втыкать позже.
691. hogik 443 12.12.09 05:53 Сейчас в теме
(307)
Сергей.
Я перечитал свои сообщения (302) (306) и понял, что я смешал два подхода - свое представление регистров и штатное. Думаю, у меня это получилось плохо. Посмотрите, пожалуйста, вот эту статью: http://www.softpoint.ru/article.php?id=8
В ней суть, в части штатных регистров, изложена лучше чем у меня ;-)
692. ildarovich 7865 21.12.09 16:24 Сейчас в теме
Приглашаю обсудить один из подходов к решению поставленной в заголовке темы задачи, представленный в статье
http://infostart.ru/public/62938/
693. Ish_2 1104 31.12.09 09:53 Сейчас в теме
ОФФ.
Я извиняюсь перед автором темы и участниками дискуссии.
Сам поиск в обозначенном направлении любопытен , но ,на мой взгляд,
соображения высказанные в теме вызывают предельный скепсис.
Наиболее полно, опять же по-моему, методы решения проблемы "исправлений задним числом" только для 77 изложены в статье (308).

Мне кажется , что для "восьмерочных" конфигураций , имеющих
1. механизм последовательностей с измерениями,
2. фоновое перепроведение документов только по регистру партий
- всё вышепрочитаное малоактуально.

C Новым Годом !
694. CheBurator 3119 31.12.09 12:25 Сейчас в теме
(308) было бы малоактуальным если бы не нужна была механизм последовательностей и перепроведение, а так - проблема лишь завуалирована...
695. Ish_2 1104 04.01.10 20:24 Сейчас в теме
(311) "проблема лишь завуалирована... "

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

Полагаю , что конфигурация , которую ты сейчас пишешь , гораздо разумнее реализовывать в "8" , а не в "7". ( Впрочем, даже превосходно написанная твоя конф-ия всё равно останется кустарной и уникальной, что , конечно, не есть хорошо)

Пример показывающий преимущества "8" перед "7" - процедура перепроведения документов по регистру партий в типовых конф-иях.

1. При перепроведении можно создавать движения документа только по одному регистру , не затрагивая движения по другим регистрам.
2. Перед началом перепроведения регистр партий на ДатуНачала выгружается в ТаблицуЗначений (кэшируется). При перепроведении кажого документа для получения тек.остатков обращение происходит не к регистру ,а созданной ТЗ.
3. В оперативной работе можно вообще отказаться от оперативного проведения по регистру партий , а проведение по регистру партий производить в фоновом режиме в удобное время.
696. larisab 160 04.01.10 23:18 Сейчас в теме
2. Перед началом перепроведения регистр партий на ДатуНачала выгружается в ТаблицуЗначений (кэшируется). При перепроведении кажого документа для получения тек.остатков обращение происходит не к регистру ,а созданной ТЗ.

Нет, не так. Таблица товаров передается в таблицу движений регистра сведений СписанныеТовары, записывается, потом считываются остатки из регистра партий - в запросе внутр.соединение этих регистров, затем из запроса выборка строит дерево и передается через структуру параметров в проведение по партиям.
При перепроведении тоже сравнивается строка документа с записью этого регистра сведений СписанныеТовары, чтобы определить необходимость замещения записи регистра партий.
697. larisab 160 04.01.10 23:22 Сейчас в теме
+ 313 Ну и определяется нужен ли сдвиг последовательности на пере- или проведенный документ, и сдвигается.
698. Ish_2 1104 05.01.10 00:10 Сейчас в теме
(314) Лариса, только для Вас .
(или прости меня , Фиксин )
http://www.kb.mista.ru/article.php?id=353

В новом релизе конфигурации "Управление производственным предприятием 1.2" фирмы 1С применяется кэширование движений по партиям:
"В данной конфигурации реализована новая модель проведения документов по партионному учету (реализовано частично, только для документов "Поступление товаров и услуг" и "Реализация товаров и услуг"). Основное ее отличие от ранее существовавшей - это отказ от многократного получения остатков партий из регистра накопления на каждый проводимый документ. Теперь однажды полученный остаток сохраняется в таблице значений, и в последующем берется уже из таблицы значений.
699. larisab 160 05.01.10 00:18 Сейчас в теме
Я привела схему списания по партиям из УТП, УТ. Статьи Фиксина не читаю.
УПП посмотрю, конечно, но насколько знаю в УПП блок торговли взят тоже из УТ.
700. larisab 160 05.01.10 00:22 Сейчас в теме
Собственно схема напоминает списание по партиям в торговле 77 с ее справочником партий.
Регистр сведений имеет периодичность "по позиции регистратора" в целях сдвига последовательности на документ.
И соответственно:
Пример показывающий преимущества "8" перед "7" - процедура перепроведения документов по регистру партий в типовых конф-иях.

никак не верно. А УПП посмотрю, но сомневаюсь что то в выводах Фиксина.
701. Ish_2 1104 05.01.10 00:34 Сейчас в теме
О чём пост (317) не понял.
Но догадался , что Вы не согласны со мной.
Если Фиксин соврал хоть слово из описания конфигурации УПП 1.2.,
мы его осудим . Ну, и меня вслед за ним.
702. hogik 443 05.01.10 02:00 Сейчас в теме
(312)
Игорь.
Обсуждается тема: "...БЕЗ последовательностей...".
А Вы пишете: "...не отрицания , а развития механизма последовательностей...".
Чувствуете разницу? ;-)
703. Ish_2 1104 05.01.10 02:31 Сейчас в теме
(319) Чувствую.
Поэтому долбежки по постам (302),(304) не планируется .
Лишь плавный переход в конструктивное русло от "отрицания" последовательностей к осмыслению их развития в типовых конфигурациях.
на "8"
Действительно , прежде чем мечтать о жизни без последовательностей в "7" нужно разобраться с тем "что есть" , "куда движется", "как развивается". Только уже в "8".
Этот этап как правило многие пропускают. Вот я и захотел остановиться на скучном для изобретателей анализе : какие методы и способы применяются для борьбы "с задним числом" в настоящий момент.
704. hogik 443 05.01.10 03:25 Сейчас в теме
(320)
"...прежде чем мечтать о жизни без последовательностей..."
Я уже и не мечтаю. Просто живу без них... ;-)
705. larisab 160 05.01.10 08:09 Сейчас в теме
(318) Не понял, поясню. Прежде чем приводить примеры из типовых, надо бы их изучить не по статьям Фиксина, а самостоятельно читая код.
Так что, не верно твое утверждение о проведении по партиям в типовых 8.
(320)
Этот этап как правило многие пропускают.

Я как раз об этом.
И об этом:
Вот я и захотел остановиться на скучном для изобретателей анализе
706. Ish_2 1104 05.01.10 10:24 Сейчас в теме
(322) Лариса , так приведенная Фиксиным цитата из описания конфигурации УПП 1.2 верна или нет ? Вы проверили ?

1. Если неверна (Фиксин соврал) , то Ваш пост (321) весом и серьезен.
2. Если верна - то вспомним о праздниках и вместе посмеёмся.
707. larisab 160 05.01.10 10:37 Сейчас в теме
(315) (318) Посмотрела списание по партиям в УПП.
Если речь шла о восстановлении последовательностей обработкой ПроведениеПоПартиям в неоперативном режиме, то из нее вызывается процедура ВыполнитьВосстановлениеНаСервере(), далее ВыполнитьВосстановление в общем модуле УправлениеЗапасами, которая, в свою очередь, вызывает процедуру УправлениеЗапасамиПартионныйУчет.ДвижениеПартийТоваров (...
и далее примерно по описанной мной схеме в УТ, использует структуру параметров, в которую передаются запросы и т.д.

Ссылка на статью Фиксина - полный бред, написана еще в 2006 году, видимо еще в 8.0, процедуры, им описанной, в УПП 1.2.24.2 - нет, искать ее где-то в старье, желания нет, так что, говорить о:
Теперь однажды полученный остаток сохраняется в таблице значений, и в последующем берется уже из таблицы значений.

тоже бред.
Перед тем, как ссылаться на подобную информацию, неплохо бы проверить ее на актуальность и соответствие действительности, а потом уж писать черным специально для меня. :)
Игорь, ничего личного, но справедливость требует... ;)
708. larisab 160 05.01.10 11:09 Сейчас в теме
И еще добавлю, процедура ДвижениеПартийТоваров используется во всех доках, связанных с товарами и при оперативном проведнии тоже, и, конечно, используется регистр сведений СписанныеТовары.
В УПП, УТП и УТ схема примерно одна.
В БП есть процедура с таким же названием, строится примерно также - передаются в структуру параметров запросы, но уже к РегистрБухгалтерии.Хозрасчетный.Остатки и там не используется регистр СписанныеТовары и нет последовательности по докам, как в УТ и пр.
709. Ish_2 1104 05.01.10 11:29 Сейчас в теме
(324) Я так понял.
1. Подтвердить или опровергнуть правильность приведенной Фиксиным цитаты из описания конфигурации УПП 1.2 Вы НЕ МОЖЕТЕ.

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

Придется проверять.
Лариса , доложу по исполнении.
710. larisab 160 05.01.10 11:55 Сейчас в теме
(326) 1.Фиксина опровергать не считаю нужным, эта провокация у тебя не пройдет. Хочешь узнать цену достижений своего "кумира" - ищи процедуру им названную, неизвестно где, там не указан точный релиз УПП. Желаю успехов!
2. Проверяй.
711. Ish_2 1104 05.01.10 18:15 Сейчас в теме
(327) Дабы не смущать Чебура промежуточный доклад по п.1 и п.2 в (326)
вынесен на форум. Комментарий 5
http://infostart.ru/forum/messages/forum14/topic30288/message340463/#message340463
712. Душелов 4017 05.01.10 18:34 Сейчас в теме
Нету никаких ТЗ в УПП, там все стандартно, получили партии по номенклатуре, двинули регистры и т.д.
713. Ish_2 1104 05.01.10 19:17 Сейчас в теме
714. Душелов 4017 05.01.10 19:41 Сейчас в теме
(330) Я переносил механизм партионного учета из типовой в свою самписную.
715. Ish_2 1104 05.01.10 20:48 Сейчас в теме
(331) Убедил.
Значит ли это , что в этой процедуре при проведении каждого документа мы обращаемся запросом к регистру партий для получения текущих остатков партий ?.
716. CheBurator 3119 06.01.10 17:31 Сейчас в теме
в 8-ке, наскольо я себе представляю из=за присутсвия в теме - ничего нового не сделали. "вписали" в типовые конфиги кучу решений, опробованных и обкатанных на куче семерочных решений: и перепроведение по обдному регистру, и кеширование в ТЗ и прочее всякое...
717. CheBurator 3119 06.01.10 17:31 Сейчас в теме
718. Моха 07.01.10 00:39 Сейчас в теме
(333)Потому-что нефиг изобретать кривозадый велосипед. Его только оттюнинговали и грамотно сконструировали с учетом предыдущих тест-драйвов, этот ПУ.
719. Ish_2 1104 07.01.10 12:23 Сейчас в теме
(333) Ты как заклинание повторяешь , дескать все есть в "7", а "8" - всего лишь перепев 7-ки. Проблема лежит в области психологии.
Чего только люди не придумают , чтобы не переходить на "8".
720. larisab 160 07.01.10 13:10 Сейчас в теме
(335)
Его только оттюнинговали и грамотно сконструировали с учетом предыдущих тест-драйвов, этот ПУ.

Согласна, предыдущий тест-драйв - семерка.
721. CheBurator 3119 07.01.10 14:41 Сейчас в теме
(336) а что делать, если так и есть? более совершенная среда разработки. с точки зрения прикладных решений - подвижки не очень существенные...
722. CheBurator 3119 07.01.10 14:43 Сейчас в теме
ну.. я бы так не сказал... на 7-ке с версии 7.0 до 7.7 времени прошо гораздо меньше, чем с 8.0 до 8.2...
723. larisab 160 07.01.10 15:29 Сейчас в теме
c 8.0 до 8.2 - шесть лет. А сколько с 7.0 до 77? Я начала заниматься 1с в 99 году, но 7.0 видела только раз, году в 2001.
Причем 6.0 было распостранено на тот момент больше, чем 7.0.
Переходили сразу на 77.
724. poppy 07.01.10 17:37 Сейчас в теме
(340)
Поправьте, если ошибаюсь.
Сентябрь 1996 - 1С:Торговля 7.0
Март 1997 - 1С:Расчет 7.0
Сентябрь 1997 - 1С:Бухгалтерия 7.5
Март 1999 - 1С:Предприятие 7.7
725. Ish_2 1104 07.01.10 20:27 Сейчас в теме
"с точки зрения прикладных решений - подвижки не очень существенные... "

Даже если ты меня разыгрываешь, отвечу серьезно.

Если рассмотреть историю развития СУБД то появление 77 , оправданное с точки зрения развития бизнеса фирмы 1с - есть прикол, отражающий уровень тогдашних разработчиков 1с.
Переход от 77 к 8 - есть не развитие , а возвращение на столбовую дорогу развития СУБД.

Только один пример.
В 77 запись в базу сопровождается блокировкой всей (!) базы.
В 8 пользователи могут писать параллельно , не мешая друг другу,
а) в разные таблицы (блокировка на уровне таблиц)
б) в одну таблицу в разные записи (блокировка на уровне записей).

Это существенная подвижка или нет ?
Если 7-8 менеджеров на крупной оптовой фирме, использующей 77 , одновременно оформляют большие накладные клиентам , то они и остальные 20-30 пользователей , несвязанных с торговлей, прекрасно знают , что такое блокировка и какие бывают тормоза.
Знаешь это и ты.
Почему ты пишешь , что не видишь существенных подвижек ?
726. CheBurator 3119 07.01.10 23:25 Сейчас в теме
> В 77 запись в базу сопровождается блокировкой всей (!) базы.
- точно??? а то я очень сомневаюсь...
в 7-ке я тоже могу писать в разные таблицы. и даже в одну таблицу, в разные записи...
- или я не прав?
.
это - несущественная подвижка. может для __СУБД__ - и подвижка. Для юзеров - нет, им подвижки в СУБД - пофиг... До сих пор нет модульной структуры требуемого для "меня" учета... (или есть?)
.
> Если 7-8 менеджеров на крупной оптовой фирме, использующей 77 , одновременно оформляют большие накладные клиентам , то они и остальные 20-30 пользователей
- это недостатки конкретного прикладного решения и неверная техническая организация учетной схемы/технологии... Плата за универсальность решения и низкий порог вхождения.
.
на тех же 8-ках типовые решения тянут до 50-юзеров, дальше - те же самые проблемы с блокировками...
727. Ish_2 1104 08.01.10 00:30 Сейчас в теме
Давай разбираться.
в 7-ке я тоже могу писать в разные таблицы. и даже в одну таблицу, в разные записи...
- или я не прав?


Рискну возразить.
В 7-ке если ты проводишь документ только по по одному регистру , то в этот момент по другому регистру запись невозможна, невозможно даже записать новый элемент какого-нибудь справочника.
Блокировка всей базы.
Не случайно в 77 даже нет понятия такого "управление блокировками". А незачем ! Пока одна транзация не закончится , другая не начнется.
В 2003 г. , насколько помню, было так .
Если меня доказательно поправят - буду рад.

Возможность параллельной работы пользователей - Это несущественная подвижка ?

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


Это прежде всего ограничение платформы 1сv77 .
Невозможность одновременной записи в разные таблицы (то бишь параллельной работы пользователей)- не устранить никакими хитростями прикладного решения.


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

Давай обнажим "естество и плоть" проблемы и проведем эксперимент.
В 7-ке SQL создадим справочник с 100 000 эл., сод . реквизит Параметр(число).

Напишем простую обработку :
заполнение для назначенного диапазона элементов реквизита Параметр значением 200(допустим).
Пусть 10 человек одновременно запустят 1с Предприятие 77 SQL и нашу обработку.
Пусть каждый пользователь выберет свой диапазон кодов , так чтобы
1 пользователь установил диапазон кодов 1-10 000
2 пользователь установил диапазон кодов 10 001-20 000 и т.д.

По твоему хлопку все десять пользователей нажимают "ОК" в форме твоей обработки. (Каждый пользователь заполняет свой диапазон кодов для реквизита Парметр значением 200)

Потом то же самое повторить в 8-ке SQL.

Возможно, после эксперимента многие вопросы будут сняты.
728. hogik 443 08.01.10 00:59 Сейчас в теме
(343)
"или я не прав?"
Для DBFной версии "1С 7.7" примерно так:
1) Чтение/запись любой записи таблицы в транзакции блокирует всю таблицу по записи до завершения транзакции.
2) Все операции записи данных (для одиночных записей) в БД выполняются в транзакции, даже если не делается явный вызов НачатьТранзакцию().
3) Если делается явный вызов НачатьТранзакцию(), то обращение к первой таблице внутри транзакции используется для синхронизации транзакций путем её блокирования и предоставления имени для сообщения пользователю об ожидании начала транзакции.
4) При проведении документа делается неявный вызов функции НачатьТранзакцию() в методе Провести(). Далее вступает в силу алгоритм из пункта #3, а первая таблица - 1SJOURN.
729. hogik 443 08.01.10 01:01 Сейчас в теме
(344)
"По твоему хлопку все десять пользователей нажимают "ОК""
А можно по моему хлопку? :-)
Всё будет нормально и быстро, если не использовать х-ую СУБД.
730. Ish_2 1104 08.01.10 01:08 Сейчас в теме
(346) Владимир. Не путайте нас.
Скажите лучше. Верно ли утверждение :
В 77 любая запись в базу сопровождантся блокировкой всех таблиц базы ? ( во время проведения документа по регистрам невозможно записать изменения в любой справочник базы)

Или во время проведения одного документа невозможно просто сохранить любой другой документ
731. hogik 443 08.01.10 01:29 Сейчас в теме
(347)
Я с регистрами не работаю. Но общий алгоритм блокировок описан в (345). Вся база никогда не блокируется. Но если в модуле проведения документа (читай - транзакции) производится чтение/запись справочника, то запись в данный справочник у другого пользователя закончится аварийно (см. пункт #1 сообщения #345).
В момент проведения документа невозможно сохранить другой документ у другого пользователя (см. пункт #2 сообщения #345). Т.к. существуют общие таблицы для этих действий.
Я с Вами согласен. В "1С 7.7" вопросы СУБД (в частности - блокировки) сделаны очень плохо и не гибко. И я не хотел Вас путать в этом вопросе. Т.к. после подмены родного движка для "1С 7.7" многие проблемы успешно решаются. Хотя это и не типовое решение... ;-)
732. hogik 443 08.01.10 01:44 Сейчас в теме
(347)
Игорь.
Но возвращаясь к теме "без последовательностей" в части блокировок ;-), думаю, имеет смысл поговорить о времени (длительности) блокировки. Да хоть и всей базы! Если обновление данных происходит быстро, то способ (метод, алгоритм и т.д.) блокировки не имеет значение. А обновление данных будет выполняться быстро, если в момент, например, проведения документа не будут выполняться лишние действия. А к таким лишним действиям я отношу всё, что обозначено в названии данной темы... ;-)
733. Ish_2 1104 08.01.10 01:44 Сейчас в теме
(348) Ага . Как обычно , договариваю за Вас :
1. Утверждение:
В 77 любая запись в базу сопровождантся блокировкой всех таблиц базы

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

2. Утверждение
Или во время проведения одного документа невозможно просто сохранить любой другой документ

Верно. Т.к. блокируется таблица 1SJOURN

Так ?
734. Ish_2 1104 08.01.10 01:54 Сейчас в теме
(349)
"Если обновление данных происходит быстро, то способ (метод, алгоритм и т.д.) блокировки не имеет значение."

Спорно и неточно. Лучше так :
"При небольшом количестве пользователей и простых алгоритмах обновления - блокировки чаще всего не имеют значения."
Тогда согласен. Но такая ситуация меня мало волнует. Что тут обсуждать ?

Меня волнует ситуация когда 100 пользователей одновременно пишут в базу размером 100 Гб. В этом случае Ваша цитата повисает.
Каждого из нас интересует что-то своё.
735. hogik 443 08.01.10 01:54 Сейчас в теме
(350)
Игорь.
Не надо за меня договаривать. :-(
Мной ВСЁ написано в сообщениях (345) и (348).
Вы написали ровно тоже самое, частично, другими словами.
Ну если Вам так понятнее, то на все пункты Вашего сообщения (350) отвечу - ТАК ;-)
736. hogik 443 08.01.10 02:08 Сейчас в теме
(351)
Согласен, что каждого из нас интересует что-то своё. И измеряем производительность системы все мы разным способом. Мне, например, не понятно как влияет на производительность системы размер базы данных при одновременной записи данных 100 пользователями. Например, у нас средняя запись (проведение) документа происходит меньше, чем за одну секунду. Это время не зависит от "заднее/переднее" число. В системе работает около 50 человек. База очень маленькая - 9 лет работы торговой компании с номенклатурой около 50000 наименований. Это быстро или медленно? ;-)
737. CheBurator 3119 08.01.10 04:27 Сейчас в теме
(351) > Меня волнует ситуация когда 100 пользователей одновременно...
- ну так я склонен доверять знающим людям, которые говорят, что типовые на 8-ке тянут в среднем 50 пользователей. Дальше - проблемы с блокировками. Так что в 8-ке - теже самые проблемы что и в 7-ке.. только для их решения требуется больше затрат.
.
вдогонку: ну и как обсуждали - в модуле проведения блокировка соотв.таблиц производится после первого обращения к ним...
.
вдогонку: у меня работает 9 складских терминалов, которые достаточно активно пишут данные в один и тот же справочник, но только - добавление новых записей - и никто никому не мешает, в базе активно работает с 10 пользователей - тормоза только при проведении больших документов - ибо тупо написал алгоритм (дописка к типовой УТ), сейчас также тупо "соптимизировал" алгоритм - прогноз: проблемы с транзакциями вообще нивелируются... да, база небольшая, DBFная, все это крутится на единственном "недосервере" (типа старого пня 2.4 с 2ГБ РАМ) и все работают в терминале...
.
и все это я к чему?: универсальные решения хороши до определенного порога/условий - дальше хорошо строить немного по-другому... и в8-ке (лично мне) хотелось бы видеть не попытки решения проблем универсальных решений (по типу фонового проведения по партиям, гибких блокировок - это тоже хорошо!) - а некий конструктор, позволяющий собирать из НУЖНЫХ мне КУБИКОВ свое специализированное решение... - вот это было бы в духе 1Ски... но, видимо, это требует достаточно выской квалификации разработчиков прикладных решений...
738. Ish_2 1104 08.01.10 11:56 Сейчас в теме
"ну так я склонен доверять знающим людям, которые говорят, что типовые на 8-ке тянут в среднем 50 пользователей. Дальше - проблемы с блокировками. Так что в 8-ке - теже самые проблемы что и в 7-ке.. только для их решения требуется больше затрат. "

Знающих людей много и говорят они разное.
Фраза "на 8-ке тянут в среднем 50 пользователей" стала штампом .
Мне кажется, здесь иммется ввиду прежде всего недостаточная производительность платформы.
Но лучше всё-таки уточнить какие конфигурации имеются ввиду.

"Так что в 8-ке - теже самые проблемы что и в 7-ке.. " - Принципиальную неверность этой фразы я старался доказать в предыдущих постах . Если в 8 -ке удачное прикладное решение может частично снять проблему блокировок, то в 77 ограничение заложено на уровне платформы.

А вот и ты и сам потвердил :
"вдогонку: у меня работает 9 складских терминалов, которые достаточно активно пишут данные в один и тот же справочник, но только - добавление новых записей - и никто никому не мешает, в базе активно работает с 10 пользователей - тормоза только при проведении больших документов " (УТ - это ведь "8").
В 77 десять человек не смогли бы писать одновременно в один справочник. Значит выбор 8-ки в этом случае - разумное решение.

но, видимо, это требует достаточно выской квалификации разработчиков прикладных решений


... и высочайшего уровня разработчиков платформы 8.
739. Ish_2 1104 08.01.10 12:19 Сейчас в теме
В сторону.
Ты, я гляжу, сторонник уникальных решений. Почти фикси.
Но ,с точки зрения предприятия, луше не зависеть от конкретного исполнителя и применять по максимуму типовые конфигурации .
И если применять нетиповые решения ,то по очень веским основаниям и по определенным правилам, предупрждая упр.персонал о последствиях.
Больше всего я боюсь умников, пишущих уникальные программы.
Предпочтение отдаю простым и туповатым решениям. Так надежнее.
В Москве легче с квалифицированными кадрами - в провинции тяжелее.
И что делать после ухода такого умника - непонятно.
740. hogik 443 08.01.10 17:10 Сейчас в теме
(355)
"В 77 десять человек не смогли бы писать одновременно в один справочник."
- Ошибаетесь. ;-)
Не десять человек не смогут писать одновременно, а ДВА человека (задачи) не смогут.
Мало того, не только писать не смогут, но и читать одновременно не смогут. И это во всех СУБДах! В том числе и в используемых в 8-ке.
"Значит выбор 8-ки в этом случае - разумное решение"
- Выбор 8-ки, действительно, разумное решение. Но не в этом случае и не из-за "проблемы" с блокировками. Думаю у Сергея "работает 9 складских терминалов" не из-за низкой производительности "1С 7.7", а из-за того, что больше терминалов не требуется... ;-)

(356)
В сторону.
А слово "умник" уже стало ругательным? ;-)
Думаю в контору на работу берут "фикси" именно для реализации "уникальных" решений. И отсутствие в штате "фикси" не означает отсутствие потребности в "уникальных" решениях. Эти задачи и потребность в их решении существует всегда и везде. А попытки решать "уникальные" задачи универсальными средствами приводит к бОльшим затратам и плохим результатам для пользователя (заказчика). Хотя в силу "простоты и туповатости" таких решений они легче "подхватываются" другим разработчиком (программистом). Но продолжают оставаться "универсальным" и не решающими задач (потребностей) заказчика...
741. Ish_2 1104 08.01.10 18:47 Сейчас в теме
1.(355)
Можно начать беседу совсем уж издалека.
И раскрыть вопрос : почему при модификации таблицы содержащей объектные данные (каждая запись - объект со своей уникальной ссылкой) возможно одновременное изменение(чтение) нескольких записей разными пользователями и почему при этом отсутствуют тормозящие(мешающме друг другу) блокировки ?
Но зачем нам с Вами очередное тягучее выяснение простого вопроса ?
Лучше провести уже описанный эксперимент "по хлопку" для 8-ки и Вам всё станет ясно.

2. (356) Слово "умник" было употреблено без кавычек. Да я их боюсь.
С тех пор как наш общий отец заявил : "Программирование - это не искусство , а технология " - взгляд на умников-программистов должен измениться.
Но истина всегда конкретна . Поэтому самоцитата :
"И если применять нетиповые решения ,то по очень веским основаниям и по определенным правилам, предупрждая упр.персонал о последствиях. "
742. hogik 443 08.01.10 20:51 Сейчас в теме
(358)
1) "начать беседу совсем уж издалека"
Мы не можем начать такую беседу, т.к. у нас с Вами разные точки начала "издалека".
Ваше "издалека" это - "таблицы содержащей объектные данные". А моё "издалека" это технологические блокировки при обращении к индексному множеству. Эти блокировки делаются для всего индексного множества, а не отдельных записей. Они делаются и при чтении и при модификации отдельной записи таблиц в любой СУБД. Т.е. при внешнем видение работы и блокировки отдельной записи происходит блокировка всей таблицы. И в этом смысле Ваше "по хлопку" будет выполняться в 7.7 и 8.х одинаково. Т.е. в момент записи будет блокироваться вся таблица, а после записи - сниматься блокировка со все таблицы. И для выяснения этого не надо проводить никаких экспериментов - это очевидно и так.
Другое дело - это как долго будет выполняться сам процесс записи. Т.е. сколько времени таблица будет находится в заблокированном состоянии одной задачей и мешать другой задаче выполнить аналогичную запись. Но это время больше зависит от самой СУБД и железа, а не версии 1Са.
Еще имеет смысл учитывать наличие ошибки в "1С 7.7" в последовательности выполнения методов Новый() и Записать() для справочников с "Автоматическая нумерация". Т.к. в этой последовательности методов выполняется еще и обращение к таблице уникальности кодов, то возникает банальный клинч при одновременном создании нового элемента справочника в разных сеансах. Поэтом создается впечатление, что одна сессия ждет выполнения чего-то "бОльшого" из-за другой сессии. Типа, заблокирована вся таблица. Надеюсь, что в "1С 8.х" нет таких ошибок с клинчем. Они уже научились программировать СУБДшные задачи ;-)
2) "наш общий отец"
У нас с Вами разные отцы. ;-)
Да и по возрасту ОНО мне в отцы не годится.
А по времени начала программирования, скорее, ОНО мне в сыновья годится.
743. Ish_2 1104 08.01.10 21:45 Сейчас в теме
при внешнем видение работы и блокировки отдельной записи происходит блокировка всей таблицы. И в этом смысле Ваше "по хлопку" будет выполняться в 7.7 и 8.х одинаково.

Попросите какого - нибудь авторитета для Вас провести эксперимент "по хлопку" на 7-ке SQL и 8-ке SQL , описанный (344).
Ну , хотя бы из любопытства .
Тем и хорош эксперимент , что всё расставляет по местам.
744. Ish_2 1104 08.01.10 21:49 Сейчас в теме
(359)
2.Я смайликов не ставлю из принципа.
"Общий отец" ОНО или не "общий отец" каждый решает для себя сам.
745. hogik 443 08.01.10 22:41 Сейчас в теме
(360)
Игорь.
А какого результата (поведения) Вы ожидаете от проведения эксперимента из (344) сообщения? Что в 8-ке это будет быстрей? Что в 7-ке задачи будут выполняться последовательно? Еще раз повторю. Для предложенной проверки никакой разницы не будет, кроме прикола с клинчем в 7-ке. Да и клинча может не быть, если реализовать Ваше предложение буквально - каждая сессия пишет свой диапазон кодов, т.е. обновлять справочник без "Автоматическая нумерация". Это не показательный тест для демонстрации преимущества алгоритмов блокировки в 8-ке.
Да и не стоит вопроса сравнения этих версий 1С-ов. Очевидно, что 8-ка по всем средствам программирования лучше чем 7-ка. Включая и алгоритмы блокировки.
А тема обсуждения - другая. См. сообщения (319) и (334).
P.S. Про "общего отца" без смайликов ничего не понимаю. У нас с Вами и фамилии разные... ;-)
746. Ish_2 1104 08.01.10 23:12 Сейчас в теме
(362) Не-а. На второй круг не пойдем. Выяснять вопросы :
1. Что такое блокировка , какие виды блокировок бывают.
2. Что такое объектные данные и что такое необъектные данные.
- мы не будем. Чебур обидится за флуд.
Проведите эксперимент и сделайте выводы самостоятельно.
(На всякий случай. См. еще раз (344)
Коды в эксперименте не изменяются).

Про "общего отца" понимать не нужно. Это шутка (смайлик).
747. hogik 443 08.01.10 23:46 Сейчас в теме
(363)
Да и на первый круг ходить не надо было.
Все вопросы, перечисленные в (363) сообщении никакого отношения не имеют к данной теме форума. И, лично, меня не интересуют...
748. CheBurator 3119 09.01.10 02:46 Сейчас в теме
(360)
Рискну возразить.
В 7-ке если ты проводишь документ только по по одному регистру , то в этот момент по другому регистру запись невозможна, невозможно даже записать новый элемент какого-нибудь справочника.
Блокировка всей базы.

Рискну возразить. База блокируется НЕ ВСЯ. Блокируются только задейстованные в транзакции проведения таблицы. и совершенно спокойно можно писать в справочники. Могу даже поспорить на шоколадку и сделать "демоконфигу"... и даже можно проводить еще один такой же документ, хотя в предыдущем будет висеть предупреждение "ок"...

Это прежде всего ограничение платформы 1сv77 .
Невозможность одновременной записи в разные таблицы (то бишь параллельной работы пользователей)

- совершенно спокойно можно писать в разные таблицы... параллельно... можно тоже поспорить на шоколадку... и на демо-конфигу, которая одной обработкой будет заполнять плоский справочник номенклатура, а вторая обработка - справочник.контрагенты.
.
и количество беспроблемно работающих терминалов определяется не тем "что их всего 9", а скоростью реакции системы на операцию с терминала. Потому что и при 2-х терминалах можно мешать друг другу.
.
тем и плохи универсальные решения - что они универсальные. поэтому в 7.7 я не могу в качестве регистратора события с терминала использовать документ, потому что сделано мудачно (но универсально!!!) - может проводиться большой документ реализации секунд 0-15, а за это время у меня на терминале контроллер может раз 10 жмакнуть - и хрен доком запишешь, потому что общий журнал стоит в транзакции... а в справочник (в качестве регистратора) несколько терминалов спокойно пишут - время реакции на СОЗДАНИЕ НОВОЙ ЗАПИСИ - маленькое...
749. CheBurator 3119 09.01.10 02:52 Сейчас в теме
И я, кстати, сторонник типовых решений. и стараюсь их использовать по максимум... Проблемы универсальных решений разные... и одна из них - производительность. Универсальное решение будет проигрывать частному по скорости - это стопудово... И там, где на первом плане - скорость - универсальные/типовые решения - нервно курят в сторонке.. Да, можно и универсальное решение превратить в "частное" путем неимоверного усложнения кода... что и видим в той же 8-ке.. универсальное 7-ое решение блокировки таблиц в 8-ке наконец дотелепало до гибких блокировок в типовых решениях, хотя в тех же частных решениях на 7-ке - гибкие блокировки тоже были...
750. Ish_2 1104 09.01.10 14:52 Сейчас в теме
(365) Владимир уже указал мне на эту ошибку см.(350) .
База в 77 блокируется не вся , а только те таблицы ,к котором осуществляется обращение внутри транзакции. Правда Модуль проведения расходной накладной затрагивает столько важнейших таблиц (КОнтрагенты, Номенклатура и т.д.) , что выигрыш невеликий.

Я же толкую сейчас о простом эксперименте . Можно ли писать одновременно в разные элементы справочника в 8-ке SQL ?
Другими словами , можно ли запустить транзакцию на модификацию реквизитов одного элемента справочника если не окончена другая транзакция на модификацию другого элемента справочника ?
В этом смысл эксперимента в (344).

В 8-ке SQL эксперимент (344) должен осуществиться без проблем :
т.к. в каждом сеансе осуществляется одновременная запись в непересекающиеся диапазоны кодов элементов справочников (идут параллельные транзакции).

Почему при записи в элемент справочника не происходит блокировки всей таблицы справочника - вопрос этот нужно начинать обсуждать издалека : что такое объектные данные(таблицы справочников) и что такое необъектные данные (таблицы регистров).
Пока при помощи (344) достаточно установить простой факт : так ли это ?
751. Ish_2 1104 09.01.10 15:12 Сейчас в теме
"хотя в тех же частных решениях на 7-ке - гибкие блокировки тоже были... "
Меня поправляли , к сожалению, часто по поводу суждений о 77.
Поэтому выражусь аккуратно : есть примеры ?

Сразу скажу, термин "гибкие блокировки" имеет смысл только при модификации таблиц , содержащих необъектные данные (регистры).
При модификации таблиц , сод. объектные данные (справочники) - никакая "гибкость" не нужна : блокируется только сама , модифицируемая запись )элемент справочника, в другие же записи может параллельно осуществляться запись.

Под "гибкостью" понимается такая блокировка , при которой блокируется не вся таблица регистра (вид блокировки "Таблица") , а только диапазон записей (вид блокировки "Запись"). Так вот , пока я жестоко сомневаюсь , что что-то подобное было в 77.
752. CheBurator 3119 09.01.10 15:24 Сейчас в теме
(368) http://softpoint.ru/products_id2.htm - сгрузи, посмотри пример эффекта в ссылке...
753. Ish_2 1104 09.01.10 15:43 Сейчас в теме
(369) Прочитал . Скачать презентацию можно только , отправив запрос.
Текст по ссылке - это вообщем-то рекламный проспект.
Ни намека на метод решения.
Возникло с десяток вопросов , но вопросы эти не к тебе .
Судя по количеству клиентов, в 77 SQL действительно существовали решения c гибкими блокировками.
754. CheBurator 3119 09.01.10 15:51 Сейчас в теме
(370) решения дествительно есть, это не голословные заявления.. причем вроде есть три разных независимых реализации... у софтпоинтцев на семинаре был - интересно, по 8-ку они и говорили про "50" (понятно, что это оценка весьма приблизительная)... оснований не доверять им у меня нет...
755. Ish_2 1104 09.01.10 16:14 Сейчас в теме
(371) При упоминании 50 пользователей - речь шла о 8.0 или о 8.1 ?
В 8.1 появились возможность на уровне платформы - "управляемые блокировки".
756. CheBurator 3119 09.01.10 16:18 Сейчас в теме
(372) речь была явно не о 8.0.. ;-) в том числе была речь о том, что и управляемые блокировки, применяемые недолжным образом способны вредить.. ща уже не помню... на сайте у них д.б. презенташка семинара...
757. Ish_2 1104 09.01.10 16:28 Сейчас в теме
(373) Можно скачать Демо.rar для "Гибкие блокировки". Посмотрю.
758. Ish_2 1104 09.01.10 17:17 Сейчас в теме
(373) Используется ВК. Причем вариант ВК (настраиваемый ?) они предлагают после высылки им мдэшника без данных.
Тоже , конечно, решение. И фраза :
"хотя в тех же частных решениях на 7-ке - гибкие блокировки тоже были... " - уместна.
Но я как -то поёжился.
759. CheBurator 3119 09.01.10 17:20 Сейчас в теме
Но я как -то поёжился.

- Штрилиц задумался. Ему понравилось и он решил задуматься еще раз...
760. Ish_2 1104 09.01.10 17:28 Сейчас в теме
(376) Ок. Штирлиц поёжился...
761. hogik 443 09.01.10 20:42 Сейчас в теме
(367)
"Другими словами , можно ли запустить транзакцию на модификацию реквизитов одного элемента справочника если не окончена другая транзакция на модификацию другого элемента справочника ? В этом смысл эксперимента в (344). "
Игорь.
Выше по теме есть ответ. Повторю его еще раз, кратко - нельзя.
Но замечу, что утверждение: "в каждом сеансе осуществляется одновременная запись в непересекающиеся диапазоны кодов элементов справочников (идут параллельные транзакции)." - ошибочно. Т.к. в любой СУБД запись в таблицу в текущей момент времени выполняется только для одного сеанса с обязательным использованием технологических блокировок ВСЕЙ таблицы. А исходя из этого Ваш эксперимент из (344) ничего не проясняет в части преимуществ алгоритмов блокировки и транзакций в 8-ке. Но и это уже написано выше по теме... :-(
762. Ish_2 1104 09.01.10 21:11 Сейчас в теме
(378) Ок. Всё уже сказано .
Эксперимент (344) Вы не собираетесь проводить.
763. hogik 443 09.01.10 22:09 Сейчас в теме
(379)
Этот эксперимент я уже проводил лет 8 назад, когда целый месяц пытался доказать 1С-овцам наличие клинча в последовательности выполнения методов Новый(), Записать() при обновлении справочника в двух и более сессиях. У меня нет никаких вопросов (недопонимания) алгоритмов работы 7-ки с СУБД. Т.к. пришлось досконально изучить эти алгоритмы при изготовлении интерфейса для подмены родного движка 1Са на свой. В этой же разработке удалось реализовать инструмент гибких блокировок. Но эту версию я, даже, и не публиковал, т.к. нагружать проблемного программиста такими наворотами посчитал жестокостью...
764. hogik 443 10.01.10 03:37 Сейчас в теме
(1)
Сергей.
У меня перестало работать средство отправки писем в "личку" на данном ресурсе. А появилось несколько "личных" мыслей. Хочу с Вами ими поделиться. Как это сделать?
765. CheBurator 3119 10.01.10 03:41 Сейчас в теме
(381) пишите на e.meil@mail.ru - обменяемся аськами
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот