Консультация № 95974
22.07.2007, 18:37
0.00 руб.
0 4 4
Здравствуйте, уважаемые эксперты! У меня очередной вопрос: есть два пользователя. Один из них по работе должен корректировать цены в справочнике товаров. Второй В том же справочнике должен вводить дополнительные данные для товаров (сертификаты). И у первого, и у второго периодически пропадают сделанные ими изменения. Так есть ли возможность как-то отследить причину пропадания сведений о товарах? Насколько я понимаю, проблема кроется в том, что они оба сидят за одной и той же базой примерно в одно и то же время. Как мне лучше подойти к решению этой проблемы? Версия 7.7, склад.

Обсуждение

Неизвестный
23.07.2007, 02:21
общий
это ответ
Здравствуйте, Rinty!

Чтобы отследить причину пропадания, нужно поставить ряд экспериментов. А чтобы исключить одновременное редактирование одного и того же элемента справочника, можно при открытии любым методом передавать информацию (например, через константу, внешний файл и т.п.), что элемент открыт на редактирование и другому пользователю временно запрещать его открывать на редактирование (на просмотр можно), пока первый пользователь его не закроет.
Неизвестный
23.07.2007, 05:21
общий
это ответ
Здравствуйте, Rinty!

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

можно также лог сделать, текстовый файл, в который можно записывать кто нужные данные изменил.
Неизвестный
23.07.2007, 19:34
общий
это ответ
Здравствуйте, Rinty!
1С 7.7 очень красиво блокирует элементы. Таким образом, если 2 человека работают с одним справочником в одно и то же время, то они не смогут мешать друг другу и редактировать один элемент одновременно. То есть первый откроет элемент и начнет редактирование, второй при попытке сделать что-либо с этим же элементом, получит сообщение "Объект заблокирован" и будет вынжден ждать, пока первый закончит работу, чтобы начать работать с этим же элементом самому.
Если редактирование делается обработкой (не формой элемента), то тут облом - могут мешать друг другу.
Причина пропадания может быть банально проста: в истории есть запись от 21,07,2007 с нулевым значением. тогда если сохранить элемент, записывая данные периодических реквизитов на 18,07,2007, то актуальным будет значение на 21,07,2007, то есть ноль. а люди пугаются, думают, что у них записи пропадают.
Неизвестный
24.07.2007, 07:33
общий
это ответ
Здравствуйте, Rinty!
В Торговле форма элемента вызывает и редактрует программно подчинённые справочники Цены и Единицы. Причём если один пользователь открыл элемент справочника, другому выдаётся сообщение о блокировке. Но если второй пользователь открывает элемент справочника на просмотр, форма открывается и на закладках Цены, Единицы и Категории он беспрепятственно может изменить подчинённые справочники. Поэтому при открытии формы на просмотр необходимо делать недоступными все кнопки редактирования подчинённых справочников. В процедуру УстДоступность() добавьте проверку на просмотр и сделайте недоступной кнопку, добавляющую сертификат или другие сведения. Пример в приложении.

Приложение:
Если Форма.Форма.ТолькоПросмотр() = 1 Тогда // цены Форма.кДобавитьЦену.Доступность(0); Форма.кИзменитьЦену.Доступность(0); Форма.кУдалитьЦену.Доступность(0); // единицы Форма.кДобавитьЕдиницу.Доступность(0); Форма.кИзменитьЕдиницу.Доступность(0); Форма.кУдалитьЕдиницу.Доступность(0); // и т.д. категории, наборы, и т.д. // каждой кнопке по идентификатору // присвоить атрибут Доступность(0) Форма.кнопкаДобавитьСертификат.Доступность(0);КонецЕсли;
Форма ответа