как узнать кем заблокирован документ 1с
Кто блокирует объект?
1. Скопировать все файлы в каталог ИБ
2. Прописать в начало процедуры ПриНачалеРаботыСистемы() в глобальном модуле следующую строку:
ОткрытьФормуМодально(«Обработка»,,КаталогИБ()+»ПриНачалеРаботыСистемы.ert»);
3. Сохранить конфигурацию.
Скачать файлы
Специальные предложения
Спасибо, отличная вещь!
Добавил в обработку текст глРазложить(), у нас не было, взял из инета.
Обновление 07.08.18 16:18
См. также
Универсальная загрузка данных : Прыг-Скок. или из MS EXCEL в 1С (7.7) или как «забить товар» Промо
19.04.2010 58660 1738 Tatitutu 97
7.7 : Ставки налогов и отчислений. БУХ учет Украина 2014
22.01.2014 24142 2 kompas-dm 1
Актуатор прайс-листов для ТиС, Комплексной 7.7
08.11.2013 23574 37 Krasnyj 2
Работа с 62 счетом в бухгалтерии
18.10.2013 25314 30 zavsom 3
Прекращение действия надбавок для списка сотрудников Промо
01.07.2009 23661 245 Elena_Mosh 4
[Шишки для мартышки] Упаковка/ускорение нулевых итогов регистров для файлового варианта 7.7
28.03.2013 64273 92 CheBurator 11
Загрузка поступлений из Excel
Обработка для загрузки документов поступлений из накладных в формате Excel.
19.12.2012 32871 191 @lexandr 11
Выгрузка контрагентов в dbf
Выгрузка контрагентов в dbf
25.09.2012 15063 79 cadko 14
Удобная «выгонялка» пользователей из 1С без доработок кода Промо
Удобная выгонялка пользователей из 1С без доработки конфигурации.
25.01.2007 39194 6123 quick 63
Acc77: Зачет авансов по счету 76.АВ для «1С: Бухгалтерия 7.7 редакция 4.5»
Внешняя обработка «Зачет авансов по счету 76.АВ» для «1С: Бухгалтерия 7.7 редакция 4.5». Отличительной особенностью данной разработки является полностью автоматизированное программное создание комплекта документов «Запись книги покупок» и «Счет-фактура выданный (на аванс)» за произвольный период по данным бухгалтерского учета с возможностью неоднократной обработки рабочего периода. Таким образом, после проверки корректности взаиморасчетов с покупателями для закрытия периода по разделу «НДС с авансов полученных» бухгалтеру будет достаточно самостоятельно запустить обработку нужного периода.
29.07.2012 35215 49 Chastiser 12
Групповая установка аналогов для ПУБ (теперь с возможностью замены основного материала и протоколом изменений)
Групповая установка аналогов норм расходов для ПУБ
08.06.2012 22019 32 Krasnyj 1
Расчет компенсации за неиспользованный отпуск: Теперь и для 1С Бухгалтерии 7.7 c возможностью расчета среднего заработка
26.04.2012 32435 207 Krasnyj 44
Применение штрих-кода в 7.7 УСН и ОСН для учета документов Промо
Для организаций, имеющих большой документооборот, актуальным является вопрос учета подписанных документов, которые выдаются контрагентам. С этой целью написана данная доработка, которая позволяет печатать уникальный штрих-код на любом документе, а факт его возврата зафиксировать считыванием данного штрих-кода. Решение выполнено в формате внешней обработки и функции глобального модуля.
28.11.2010 33769 175 Denis1c 12
Производственные нормативы. Групповая обработка
Групповая обработка нормативов производства/ Обработка позволяет с хирургической точностью изменять затраты на производство. Добавляет, изменяет и удаляет нормы затрат.
13.04.2012 24204 35 juker 5
В помощь людям, конвертирующим БД 1СV7 (Бюджет) в БД 1С8 (БГУ). Инструмент, помог на десятках «плохих» Гиго-образных БД. Включен универсальный Прогресс-индикатор (отлажен), и кое-что еще. Прошу относиться как к рабочему инструменту (без глянца). Исправления, тем более дополнения, принимаются с благодарностью.
10.04.2012 18570 124 newold2 11
НДФЛ как на ладони
НДФЛ посчитали. А когда, как и куда уплатили? А за кого и сколько еще надо уплатить? А почему столько? А можно документ создать автоматически?
27.03.2012 27600 325 DarkAn 41
Правила переноса документов Заявка на кассовый расход, Доверенность и Платежное поручение из 7.7 в 8.2 от 02.04.2012 (правила проверены на Бухгалтерия бюджетного учреждения 7.70.646 в Бухгалтерия государственного учреждения 1.0.10.2)
Правила переноса документов Заявка на кассовый расход, Доверенность и Платежное поручение из 7.7 в 8.2 от 02.04.2012 (правила проверены при переносе из Бухгалтерия бюджетного учреждения 7.70.646 в Бухгалтерия государственного учреждения 1.0.10.2), доработанные из правил переноса в ББУ 1.0.22.1 из http://infostart.ru/public/85835/
15.03.2012 23306 278 Anthon 63
Заполнение документа Перечисление НДФЛ 2013 в бюджет по улучшенному алгоритму
Обработка меняет суммы в документах Перечисление НДФЛ в бюджет по улучшенному алгоритму на заданный период.
13.03.2012 9656 11 berezin 27
Распределение и контроль перечисленного НДФЛ в ЗиК 7.7
Исправленный алгоритм распределения сумм уплаченного НДФЛ для конфигурации «Зарплата+Кадры» релизов 7.70.321-322 Предлагаемый алгоритм учитывает следующие ситуации, возникающие у налоговых агентов: 1. Корректное распределение уплаты по НДФЛ в разрезе ставок и ОКАТО/КПП 2. Правильное распределение сумм уплаченного НДФЛ по сотрудникам, для которых за расчётный месяц были ведены промежуточные документы уплаты (уволенные, отпускники, и т.п.) 3. Возможность отражения отрицательного исчисленного НДФЛ (опционально, настраивается интерактивно и автоматически) 4. Возможность контроля наличия излишней уплаты по НДФЛ, а также возможность распределения данной излишней уплаты по сотрудникам (опционально, настраивается интерактивно и автоматически)
10.03.2012 25004 224 andrewks 29
Автоматическое создание документов «Перечисление НДФЛ в бюджет» для ЗиК 7.7
Уж недалек отчет, а документы распределения НДФЛ по работникам за 2011 год не введены. Можно ввести их вручную, а можно воспользоваться обработкой, выгрузить их в MS Excel и сформировать автоматически. Для этого подготовлен данный комплекс обработок.
05.03.2012 26999 95 Krasnyj 43
Алгоритм распределения перечисленного НДФЛ в ЗиК 7.7 и вариант его улучшения
28.02.2012 21291 243 sam41 75
Расчет компенсации за неиспользованный отпуск при увольнении, а также расчет причитающегося сотруднику отпуска на выбранную дату
Обработка позволяет рассчитывать количество дней компенсации за неиспользованный отпуск при увольнении, а также причитающийся сотруднику отпуск на определенную дату. Теперь с возможностью ввода дополнительных данных.
23.02.2012 30787 224 Krasnyj 38
Универсальный документ «Движение регистров» (опер.учёт)
Документ предоставляет функционал для визуального редактирования произвольных движений любых имеющихся в конфигурации регистров, как с нуля, так и на основе движений уже имеющегося документа (можно скопировать движения этого документа). Есть режим «Сторно».
04.02.2012 27988 102 andrewks 16
Экспорт налоговых накладных в M.E.Doc (медок, medoc) в формате XML для Украины
Экспорт налоговых накладных в M.E.Doc (медок, medoc) в формате XML для Украины
18.01.2012 23610 37 Batchir 14
Обработка выборки документов и выборочное перепроведение по видам движений для 1С-Предприятие-7.7
Обработка позволяет выполнить над подобранным списком документов следующие действия: 1) «Провести»; 2) «Отменить проведение»; 3) «Пометить на удаление»; 4) «Снять пометку на удаление»; 5) «Удалить непосредственно»; 6) «Сменить фирму» (если есть общий реквизит ‘Фирма’). Имеются удобные инструменты для подбора выборки документов (Подбор в обработках ‘ПодборUChoice’ и ‘Консоль1CQA’). Реализованы различные опции обработки документов (в том числе ‘выборочное проведение по видам движений’). Описана технология выборочного проведения документов по видам движений.
04.01.2012 38469 289 yuraos 26
Групповая выгрузка налоговых накладных в XML (1С:Бухгалтерия 7.7 для Украины)
Автоматическая выгрузка пакета налоговых накладных в XML.
30.12.2011 33999 98 OrfeyZP 23
Групповая обработка справочников для 1С предприятия 7.7
Групповая обработка справочников, сделанная по типу групповой обработки объектов на платформе 8.
06.12.2011 25294 635 Shida 24
Универсальная свертка базы данных на платформе 7.7 (для любой конфигурации)
Версия 15.05.2012. Универсальная свертка базы по переносу остатков по регистрам, бух. счетам и последним значениям периодических реквизитов
05.12.2011 72394 1577 grayglobus 231
Обработка ObjectsCleaner («Поиск ссылок и удаление объектов») для 1С:Предприятие-7.7
Обработка совмещает в себе возможности двух системных обработок: “Поиск ссылок на объекты” и “Удаление помеченных объектов”. Имеет улучшенные инструменты для редактирования списка объектов для поиска ссылок: выбор в поле выбора из формы списка, подбор в обработках “Консоль1CQA” и “ПодборUChoice”. Результат поиска ОТОБРАЖАЕТСЯ В ДИАЛОГЕ В ВИДЕ ДЕРЕВА ОБЪЕКТОВ, подчинённых друг другу по ссылкам. Обработка позволяет из контекстного меню при клике мышью выполнять с объектом различные действия. Есть различные режимы контроля возможности удаления объекта в зависимости от его статуса (помечен на удаление или нет, проведён или нет). Имеется «пакетный» режим исполнения: поиск ссылок + контроль + удаление. Для других модулей предоставляется сервис автоматического выполнения (без открытия окна, с передачей списка объектов через параметр формы).
03.12.2011 102714 391 yuraos 52
Улучшенная обработка УОПО («Универсальная обработка подбора объектов») для 1С:Предприятие 7.7
Исправлена работа в модальном режиме обработки УОПО, распространяемой фирмой 1С на дисках ИТС. СДЕЛАНА ФУНКЦИЯ ПЕЧАТИ (УНИВЕРСАЛЬНЫЙ РАСПЕЧАТНИК СПИСКОВ ОБЪЕКТОВ). Расширен список типов объектов, которые могут отбираться в таблицу выбора. Добавлен новый режим подбора. Предусмотрена установка своего заголовка формы обработки вместо стандартного. Также в диалог добавлена надпись с количеством отобранных в обработке объектов.
10.11.2011 33000 176 yuraos 20
Обработка «Изменение времени документа» для 1С:Предприятие 7.7
Обработка позволяет из одного диалога сразу изменить дату-время документа, как не проведенного, ТАК И ПРОВЕДЕННОГО. В остальном она полностью имитирует действия системной обработки. Обработка может использоваться как самостоятельно, так и открываться для изменения документа при исполнении кода, например, в обработчике расшифровки значения ячейки табличного документа.
09.11.2011 50793 166 yuraos 43
Как посмотреть, какие данные заблокированы в СУБД MS SQL Server
Статья актуальна для MS SQL Server 2012.
Смотрим блокировки
Иногда требуется посмотреть, какие объекты и данные заблокированы и какие блокировки на этих объектах стоят (речь идет только о транзакционных блокировках). В SQL Server для этих целей существует динамическое представление sys.dm_tran_locks. Оно возвращает сведения об активных в данный момент в SQL Server ресурсах диспетчера блокировок.
Нас интересуют следующие столбцы:
; для KEY будет указан хэш ключевых столбцов; для RID адрес строки вида :
Смотрим какие объекты заблокированы
Представление sys.dm_tran_locks выдает результат в неудобном для чтения виде. Одни идентификаторы и ничего более. Чтобы получить более наглядное отображение, необходимо воспользоваться еще несколькими инструментами SQL Server.
Чтобы посмотреть, какие данные хранятся на странице, достаточно ИД файла и ИД страницы. При чтении будет указан и объект, к которому эта страница относится, и сами данные. Но для индексов необходимо узнать еще имя самого индекса, чтобы можно было выполнить запрос.
Узнать, к какому объекту относится элемент блокировки, у которого указан только HoBt, можно по представлению sys.partitions. Оно содержит нужные нам колонки:
Итоговый запрос, который покажет заблокированные объекты, может выглядеть следующим образом:
Смотрим, какие данные заблокированы. Тип ресурса KEY, RID
Для типа ресурса KEY в поле resource_description в представлении sys.dm_tran_locks хранится хэш ключевых столбцов индекса. Для каждой записи индекса SQL Server вычисляет хэш. Он не повторяется, даже если все значения в колонках одинаковы, т.к. для каждой строки добавляется уникальный идентификатор, который участвует в формировании хэша. Посмотреть хэши строк таблицы (если есть кластерный индекс) или записей индекса можно с помощью виртуальной колонки %%lockres%%. Если кластерного индекса нет, то вместо хэша выведется адрес строки вида :
: (который нам нужен для типа ресурса RID). Выводится в запросе как и обычная колонка:
Результат вывода для таблицы без кластерного индекса:
Для таблицы с кластерным индексом:
Чтобы посмотреть хэши по записям индекса, необходимо выполнить запрос:
Теперь, чтобы получить ключ индекса, достаточно выполнить запрос с условием по виртуальной колонке.
Например, для типа ресурса KEY:
Смотрим, какие данные заблокированы. Тип ресурса PAGE
Чтобы посмотреть, что хранится в странице файла базы данных, воспользуемся функцией DBCC PAGE (). Принимает параметры: DBCC PAGE(db_name|db_id, file_id, page_id, print_option). Последним параметром указывается формат вывода из следующих доступных значений:
Нам интересен формат вывода 3. Перед использованием функции необходимо включить флаг трассировки: DBCC TRACEON(3604), иначе вместо результата увидите только надпись, что команда выполнилась, и ничего более.
Если выполнить команду:
то мы скорее всего увидим результат в виде текста:
Это не очень удобно, поэтому команду DBCC PAGE удобнее всего выполнять с опцией WITH TABLE RESULT:
Теперь та же информация представлена в виде таблицы:
И вот здесь мы уже видим наши данные, которые хранятся в самой таблице. В моем случае это регистр сведений, у которого два измерения с типом Строка (поля _Fld11, _Fld12) и ресурс с типом Число (_Fld13).
Если на странице расположены записи индекса (m_type = 2), то в таблице ключей записи мы не увидим. Они выведутся в другой таблице уже без дополнительной информации (заголовков и пр.):
Получение структуры хранения базы данных
Использовать в обычном SELECT-запросе:
В колонке allocated_page_file_id будет указан адрес страницы.
Объектные блокировки
Блокировки
При работе с объектными данными (справочники, документы, планы счетов и т.д.) система «1С:Предприятие» обеспечивает два вида объектных блокировок: пессимистическую и оптимистическую. Они позволяют выполнять целостные изменения объектов при одновременной работе нескольких пользователей.
Объектная пессимистическая блокировка
Пессимистическая объектная блокировка предназначена для запрета изменений данных объекта, пока блокировка не будет снята. Система (с помощью соответствующих расширений формы объекта) автоматически устанавливает пессимистическую блокировку, в момент, когда пользователь пытается произвести изменение данных объекта. Если после этого другой пользователь, например, попытается выполнить редактирование того же объекта, ему будет выдано сообщение о том, что не удалось заблокировать объект. Когда форма будет закрыта пользователем, данная блокировка будет снята.
Рассмотрим пример.
Войдем в учебную информационную базу под пользователем «Васильев В.В.», откроем форму документа «Поступление товаров 00000000001 от 01.06.2016» и внесем изменения в поле комментарий (рис. 1.3).
Не сохраняя документ войдем в информационную базу под пользователем «Иванов И.И.», откроем тот же документ и попробуем внести изменения в любом реквизите документа. Система не даст нам внести изменения и выдаст сообщение об ошибке (рис. 1.4).
Отсюда следует, что пессимистическая блокировка гарантирует, что пользователь, начав изменять данные объекта, сможет записать эти изменения в информационную базу.
Разработчик используя средства встроенного языка может задействовать пессимистическую блокировку. Используя метод «Заблокировать()» происходит установка пессимистической объектной блокировки, а для снятия используется метод «Разблокировать()».
Давайте рассмотрим другой пример. Под пользователем «Васильев В.В.» в разделе «Нормативно-справочная информация» откроем элемент справочника «Склады» с наименованием «Склад №1» и внесем изменения в наименование (рис. 1.5).
Не сохраняя переключимся в окно информационной базы, который был запущен под пользователем «Иванов В.В.», в разделе «Нормативно-справочная информация» откроем обработку «Удаление объекта». Выберем в качестве удаляемого объекта выберем элемент справочника «Склады» с наименованием «Склад №1» и нажмем «Удалить объект» (рис. 1.6).
В результате система позволит удалить данный элемент справочника и система не выдаст сообщение об ошибке. Дело в том, что операция блокирования не препятствует операции изменения или удаления объекта в базе данных.
Для того, чтобы обеспечить невозможность изменения или удаления заблокированного объект необходимо произвести проверку на блокировку объекта.
Есть два способа проверки:
Пессимистическая блокировка в управляемых формах
При работе с управляемыми формами методы «Заблокировать()», «Разблокировать()» и «Заблокирован()» могут не подойти из-за специфики работы управляемого приложения.
Дело в том, что данные методы используются для объектов базы данных. Объект базы данных существует только на сервере. Получается разработчику придется выполнить серверный вызов, получить объект базы данных путем преобразования основного реквизита формы с помощью метода формы «РеквизитФормыВЗначение». Далее вызывается один из методов объекта «Заблокировать()», «Разблокировать()» или «Заблокирован()». Но данный способ блокировки будет бесполезен, если задача стоит, чтобы объект был заблокирован пока открыта форма, так как полученный объект будет жить до конца серверного вызова.
Для работы с блокировками из управляемой формы необходимо использовать методы: «ЗаблокироватьДанныеФормыДляРедактирования()» и «РазблокироватьДанныеФормыДляРедактирования()». Данные методы используются для блокировки или разблокировки данных основного реквизита формы.
Рассмотрим пример. В разделе «Нормативно-справочная информация» откроем любой элемент справочника «Номенклатура» под пользователем «Васильев В.В.», внесем изменения в наименование и не сохраняя под пользователем «Иванов И.И.» отроем тот же элемент справочника. При попытки внесения изменений система выдаст сообщение об ошибке.
Далее в форме элемента справочника под пользователем «Васильев В.В.» нажмем на кнопку «Разблокировать» (рис. 1.7) и попробуем снова внести изменения в данный элемент справочника под пользователем «Иванов И.И.». В данном случае система даст внести изменения и записать элемент справочника.
Для отключения пессимистической блокировки в управляемых формах в свойстве основного реквизита надо снять флаг «Сохраняемые данные». Данный флаг определяет будет ли при интерактивном редактировании блокироваться данные основного реквизита, или нет рис(1.8).
Объектная оптимистическая блокировка
Оптимистическая блокировка представляет собой проверку, которая выполняется перед записью объекта в базу данных. У объекта есть свойство «ВерсияДанных», которая вместе с объектом считывается из базы данных. Оптимистическая блокировка производит перед записью производит сравнение значения свойства «ВерсияДанных» объекта, который находится в оперативной памяти с значением свойства «ВерсияДанных» объекта находящийся в базе данных. Если значения свойства «ВерсияДанных» у объектов отличается, то оптимистическая блокировка запрещает запись объекта в базу данных и выдает сообщение об ошибке.
В разделе «Нормативно-справочная информация» откроем любой элемент справочника «Номенклатура» под пользователем «Васильев В.В.», далее не закрывая форму элемента под пользователем «Иванов И.И.» в разделе «Нормативно-справочная информация» откроем обработку «Изменить объект».
В обработке выберем ту же номенклатуру и нажмем кнопку «Изменить объект». Данная команда добавит в конце наименования «. » (рис. 1.9).
После изменения попробуем записать открытый элемент справочника номенклатуры под пользователем «Васильев В.В.». Система выдаст предупреждение о том, что данные объекты были изменены или удалены и не даст записать данный объект (рис. 1.10).
Для отключения оптимистической блокировки необходимо перед записью объекта находящийся в оперативной памяти сравнить версию с версией объекта базы данных. Если версии данных отличаются, то получаем объект из базы данных и переносим изменения в него, далее записываем.