powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / Атомарность операций 1С с сторонеей T-SQL СУБД
10 сообщений из 10, страница 1 из 1
Атомарность операций 1С с сторонеей T-SQL СУБД
    #37787253
FZT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FZT
Гость
Здравствуйте.
Вопрос узкой специфики.

Выполняется некая "атомарная" операция в 1С предприятии, суть не в самой операции. Под атомарной операцией прошу понимать некий набор действий с данными (в нашем случае изменяющий их), имеющих своей целью логическую завершенность. Допустим проведение документа.

Разберем такой случай работы с данными. Пусть в момент времени исполнения такой атомарной операции, данные будут меняться в: реквизитах самого документа, его табличных частях, некоторых регистрах (дополнительные свойства конкретно этого документа). Итого три "места", где данные изменяться.
В самой 1С сработает одна функция, которая изменит данные по порядку в трёх местах.
Вопрос первый
На стороне SQL сервера, на вход будут поданы:
1. Три запроса подряд? т.е. каждый - отдельная транзакция
2. Три запроса в рамках одной транзакции?
3. Изменения будут агрегированы движком (вот уж не знаю как он внутри устроен) в один SQL запрос, а рамках одной транзакции?
Под транзакцией понимать только то, что принято для SQL серверов.
Лично я склоняюсь к варианту один. Отсюда второй вопрос.

Разумеется в момент выполнения атомарной операции может произойти сбой. По сути функция до краха попыталась записать данные только в реквизиты документа 1С и табличную часть, а разработчик функции не предусмотрел откат данных в первоначальное состояние, или форс-мажор какой с клиентом случился.
Что произойдет на стороне SQL сервера:
1. Применяться изменения только для реквизитов документа и табличных частей, и данные в регистре не будут согласовываться с документом?
2. Неким непонятным мне образом (можете объяснить? допустим обрыв связи, или питания у клиента), все изменения касающиеся конкретно этого документа будут отменены?

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

"А нафига?" - Рассматриваю лог транзакций MsSQL 2005, на предмет резервирования в реальном времени. Т.е. будет ли лог транзакций MsSQL, накаченный на ночной бэкап, соответствовать действительности. Вплоть до атомарности операций из 1С, к моменту краха системы.
Ведь если, последние SQL транзакции до отказа не привели к логической целостности данных (атомарность операции не соблюдена), но были записаны в лог транзакций MsSQL, то в базе у меня последние изменения это простите кака, а не достоверные данные в документах.

P.S. Пожалуйста не отвечайте в эту тему если у вас отсутствует личный опыт в поднятых здесь вопросах, или вы не можете сослаться на официальный или авторитетный (хотя-бы для Вас лично) источник информации. Тем-более если Вы "просто программист 1С", не отягощенный регалиями знаний T-SQL, ООП, многопоточности.
...
Рейтинг: 0 / 0
Атомарность операций 1С с сторонеей T-SQL СУБД
    #37787281
DmitriyZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FZT, написано много, а по существу - практически ничего.
1) Какая версия платформы?
После ответа на этот вопрос можно будет продолжить разговор.
...
Рейтинг: 0 / 0
Атомарность операций 1С с сторонеей T-SQL СУБД
    #37787341
Фотография XenoX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запись объектов в 1С, осуществляется в рамках одной транзакции.
Например записывается документ, что происходит при этом:
НачатьТранзакцию
Обновить/Вставить шапку документа
Обновить/Вставить строки документа для N табличных частей.
В случае проведения
Обновить/Вставить движения для N регистров определенных на этапе конфигурирования.
ЗафиксироватьТранзакцию

Если что-то произошло, будет полный откат транзакции.
Данный алгоритм работает в 8, в 7 не копался, нужды не было...

А вообще, мой вам совет - книга Радченко, там все описано про транзакции в 1С8
и профайлер.
...
Рейтинг: 0 / 0
Атомарность операций 1С с сторонеей T-SQL СУБД
    #37787396
Фотография МистерШоу
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FZTЗдравствуйте.
Вопрос узкой специфики.

Выполняется некая "атомарная" операция в 1С предприятии, суть не в самой операции. Под атомарной операцией прошу понимать некий набор действий с данными (в нашем случае изменяющий их), имеющих своей целью логическую завершенность. Допустим проведение документа.

Разберем такой случай работы с данными. Пусть в момент времени исполнения такой атомарной операции, данные будут меняться в: реквизитах самого документа, его табличных частях, некоторых регистрах (дополнительные свойства конкретно этого документа). Итого три "места", где данные изменяться.
В самой 1С сработает одна функция, которая изменит данные по порядку в трёх местах.
Вопрос первый
На стороне SQL сервера, на вход будут поданы:
1. Три запроса подряд? т.е. каждый - отдельная транзакция
2. Три запроса в рамках одной транзакции?
3. Изменения будут агрегированы движком (вот уж не знаю как он внутри устроен) в один SQL запрос, а рамках одной транзакции?
Под транзакцией понимать только то, что принято для SQL серверов.
Лично я склоняюсь к варианту один. Отсюда второй вопрос.

Разумеется в момент выполнения атомарной операции может произойти сбой. По сути функция до краха попыталась записать данные только в реквизиты документа 1С и табличную часть, а разработчик функции не предусмотрел откат данных в первоначальное состояние, или форс-мажор какой с клиентом случился.
Что произойдет на стороне SQL сервера:
1. Применяться изменения только для реквизитов документа и табличных частей, и данные в регистре не будут согласовываться с документом?
2. Неким непонятным мне образом (можете объяснить? допустим обрыв связи, или питания у клиента), все изменения касающиеся конкретно этого документа будут отменены?

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


P.S. Пожалуйста не отвечайте в эту тему если у вас отсутствует личный опыт в поднятых здесь вопросах, или вы не можете сослаться на официальный или авторитетный (хотя-бы для Вас лично) источник информации. Тем-более если Вы "просто программист 1С", не отягощенный регалиями знаний T-SQL, ООП, многопоточности.

Постскриптум такого содержания - это хамство, я тагду. оскорбление, квантор,
презумпция тупости и т.д.

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

Неленивый человек запустит 1С в режиме отладки, откроет профайлер MS SQL и будет не
склоняться, а - знать. Это куда проще, чем гуглить и штудировать дестяки книг.
"Атомарность" - это какая-то отсебятина применительно к бизнес-логике и поведению
СУБД. Транзакция.

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

автор3. Изменения будут агрегированы движком (вот уж не знаю как он внутри устроен) в один SQL запрос, а рамках одной транзакции?

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

["А нафига?" - Рассматриваю лог транзакций MsSQL 2005, на предмет резервирования в реальном времени. Т.е. будет ли лог транзакций MsSQL, накаченный на ночной бэкап, соответствовать действительности. Вплоть до атомарности операций из 1С, к моменту краха системы.]

как вы считаете, может серьезная платформа выйти на рынок и иметь миллионы
инсталляций в серьезных компаниях, а тем паче в малых конторках, если
она не выполняет первейшее требование - транзакционную целостность?

Я знаю ООП, многопоточность, IMAP, TCP/IP, AutoCAD, SQL, VB, JS, 1C, Delpho, COM, SMTP,
OLE, patterns, UML, MS Project, case sensitive, EJB, Sharepoint, POP3, asm, hiew!
...
Рейтинг: 0 / 0
Атомарность операций 1С с сторонеей T-SQL СУБД
    #37787403
Фотография МистерШоу
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вообще, что это за троллинг?! :))
...
Рейтинг: 0 / 0
Атомарность операций 1С с сторонеей T-SQL СУБД
    #37787476
Фотография XenoX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МистерШоу"Атомарность" - это какая-то отсебятина
ACID же
...
Рейтинг: 0 / 0
Атомарность операций 1С с сторонеей T-SQL СУБД
    #37787492
Фотография МистерШоу
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XenoXМистерШоу"Атомарность" - это какая-то отсебятина
ACID же

ну при чем тут ACID, ТС намешал разные уровни в один котёл своего вопрос...

оттедова же:

"Атомарность гарантирует, что никакая транзакция не будет зафиксирована в системе
частично."

Вот пусть и познает 1Св терминах транзакций, а не атомарности SQL Server,
многопоточности и ООП.

Представляю себе, сколько должны были бы получать 1С-ники, если бы
всё обстояло так, как в фантазиях автора...боги были бы, а не люди!
Столпы! Атланты!
...
Рейтинг: 0 / 0
Атомарность операций 1С с сторонеей T-SQL СУБД
    #37787511
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор2. Неким непонятным мне образом (можете объяснить? допустим обрыв связи, или питания у клиента), все изменения касающиеся конкретно этого документа будут отменены?
читать что такое Rollback до просветления.
...
Рейтинг: 0 / 0
Атомарность операций 1С с сторонеей T-SQL СУБД
    #37787913
Александр Пузаков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FZT, сразу издалека видно заоптимизатора... Оптимизировать нужно там, где это требуется и где это будет заметно пользователю .
...
Рейтинг: 0 / 0
Атомарность операций 1С с сторонеей T-SQL СУБД
    #37788179
The Dim!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FZT"А нафига?" - Рассматриваю лог транзакций MsSQL 2005, на предмет резервирования в реальном времени. Т.е. будет ли лог транзакций MsSQL, накаченный на ночной бэкап, соответствовать действительности. Вплоть до атомарности операций из 1С, к моменту краха системы.
Как бы...
1. Режим восстановления базы?
2. Лог.... бэкап лога или тот лог, который у самого скуля.
Если первое - то будет. Если второе.... то читайте про организацию лога в скуле и в частности о том, что такое ChekPoint.
3. Режим блокировок - в самой 1С: автоматический/управляемый.
4. Режим блокировок MS SQL - явные не явные. Курим как посмотреть в MS SQL(T-SQL) активные транзакции.
5. Думаем, о том, как организован лог. Есть ли перезапись файла лога или неограниченный рост(узнаем про LSN - что это такое и как с этим работать) :)

FZT"Ведь если, последние SQL транзакции до отказа не привели к логической целостности данных (атомарность операции не соблюдена), но были записаны в лог транзакций MsSQL, то в базе у меня последние изменения это простите кака, а не достоверные данные в документах.

6. Берем "букварь" и читаем про ACID. Там черным по русски(или нет) как работает логирование в MS SQL.


После ответов на эти вопросы, подумайте над формулировкой задач этого топика. ;)
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Атомарность операций 1С с сторонеей T-SQL СУБД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]