Подскажите если вставить версионирование объектов в существующую базу сильно ли растет ее объем от использования механизма?
|
Подскажите если вставить версионирование объектов в существующую базу сильно ли растет ее объем от использования механизма?
ryakovlev.blogspot.com
во-первых все зависит от того какие объекты будете версионировать, а во вторых - смотря по какому принципу: при записи или при проведении. Какая конфа и что хотите версионировать?
Для затравки - в Семерке была Эпичнейшая весчь - "Блокировка".
Мона было проверить, кто занят объектом, к которому хочешь прикоснутся.
В восьмерке такого НЕТ.
Но, тем не менее, ты всегда можешь проверить, что объект изменен.
В этом и заключается (отчасти) версионирование.
А теперь Лулзы.
Просто поэкспериментируй.
1. У тебя пользователь открыл объект.
2. Другой пользователь открыл этот же объект.
3. Первый пользователь изменил объект и ЗАПИСАЛ.
4. Ждем комментариев от Радомира.
...
Н. ПРОФИТ!!!
Впрочем, версиониорувай, не версиониорувай.
Все равно получишь сам знаешь чито.
Как вариант - абсолютное логирование, но не торт, который предлагает 1С.
Об этом - отдельная песня и отдельная тема (ибо под семерку отработо, под восьмерку - частично).
Последний раз редактировалось yarosha; 06.10.2011 в 22:54.
Мао Цзэдун - Большой Шалун!
Just fof Lulz. Ибо Ваистену!!! О! Как!
С этим вопросом не сталкивался. В крайнем случае, Вы можете почистить регистр до определенной даты.
версионирование попробывал... работает классно.. но боюсь что база будет стремительно расти... работает около 20 пользователей с огромными массивами документов... у нас логи 1с растут в размерах как грибы..
ryakovlev.blogspot.com
Как вариант, в момент закрытия периода очищать регистр сведений.
При одновременном доступе к одному и тому же объекту базы данных второму пользователю(если первый внес изменения) вообще ничего нельзя, только посмотреть.
Или изъясняйся яснее.
Последний раз редактировалось vitasw; 10.10.2011 в 16:14.
Изъясняюсь яснее.
А семерке есть такая функция "Блокировка".
В восьмерке отсутствует.
Эта функция позволяет выяснить (в семерке), работает кто-то с данным объектом или нет ( в режиме редактирования).
В восьмерке возможности выяснить, кто в данный момент работает с объектом (или вообще работает) - не нашел.
Как это выглядит на практике (независимо от БеДэ - будь то Пост, Ора, Мускул, Мелкий и прочее и прочее).
1. Кто-то начал просматривать с возможностью редактирования кортеж записей (набор строк в плоских таблицах - кому непонятно - курим д-р Кодда).
2. Кто-то туда ломица, чтобы сделать нечто аналогичное.
3. Второму пункту говорица - "Звіняйитє - бананів нє ма".
ЗЫ На практике.
На примере кошек. К сожалению я не умею их готовить. Я их просто обожаю. ЙА КОШАТНИК!!!!
Открываете два объекта (например справочник "Номенклатура" - "Холодильник такой-то".
Пускаете туда двух кошаков.
Если один кошак полез в холодильник - другой туда не лезет - и вот это - правильно.
ЗЫ Для справки:
Кодд, Эдгар - как ни странно, британский учёный, работы которого заложили основы теории реляционных баз данных. [URL="http://lurkmore.ru/%D0%98%D0%BD%D0%B4%D1%83%D1%81%D1%81%D0%BA%D0%B8%D 0%B9_%D0%BA%D0%BE%D0%B4"]
Последний раз редактировалось Mulder_1; 10.10.2011 в 22:46.
Мао Цзэдун - Большой Шалун!
Just fof Lulz. Ибо Ваистену!!! О! Как!
Предлагаю отложить д-р Кодда и покурить 1С. Все происходит именно так как написал vitasw. А также курим встроенную справку методы справочников и документов Заблокировать() и Заблокирован().
Разве я не то же самое сказал?
А программные методы блокировки перечислил Radomir.
yarosha в следующий раз попробуй сам сначала разобраться, а потом давать советы.
Программное определение блокировки чаще необходимо при работе с регистрами, чем со справочниками и документами.
В справочниках момент неопределенности может возникать при одновременном создании элементов справочника, причем подчиненного. При одновременном создании элементов справочника верхнего уровня все проходит нормально, а у подчиненного могут возникать ошибки записи нового объекта. Но это уже не относится к теме. (И признаюсь честно я еще до конца не отловил при каких условиях происходит конфликт)
А методы блокировки блокировки в залоченной конфигурации Radomir курил? Или может vitasw может что-то подсказать?
Вот Вам, Уважаемые, пример справки:
"Следует учитывать, что этот метод используется для проверки блокировки объекта базы данных конкретным объектом встроенного языка. Он не может быть использован для проверки, заблокирован ли вообще объект базы данных, например, другими пользователями."
Не в обиду.
ЗЫ. То же для документа:
Следует учитывать, что этот метод используется для проверки блокировки объекта базы данных конкретным объектом встроенного языка. Он не может быть использован, чтобы проверить, заблокирован ли вообще объект базы данных.
Давайте проверим. Кто курит матчасть.
Может, как всегда - мысли, но тем не менее.
Не поленюсь, сам проверю.
Жду ответов...
Последний раз редактировалось yarosha; 11.10.2011 в 23:35. Причина: Мой психиатр сказал мне, что у меня мания величия. Наивный Раб.
Мао Цзэдун - Большой Шалун!
Just fof Lulz. Ибо Ваистену!!! О! Как!
Заблокировать (Lock)
Синтаксис:
Заблокировать()
Описание:
Выполняет блокировку объекта от изменения другими режимами или пользователями.
Будем и дальше копировать синтаксис?
Вообще-то речь шла о версионировании объектов, которое в первую очередь касается справочников и документов, а не, как следствие, регистров.
Как я уже говорил, есть смысл программно блокировать регистры в момент выполнения сложных расчетов.
Для справочников/документов - это очень специфические случаи. В подавляющем большинстве случаев хватает того что есть, и версионирование объектов проходит очень даже замечательно.
Последний раз редактировалось vitasw; 12.10.2011 в 09:15.
Яроша, а что значит заблокирован другим пользователем? Типа кто первый встал того и тапки? Какой смысл? Вопрос начался с чего:
Цитата Сообщение от yarosha Посмотреть сообщение
Просто поэкспериментируй.
1. У тебя пользователь открыл объект.
2. Другой пользователь открыл этот же объект.
3. Первый пользователь изменил объект и ЗАПИСАЛ.
vitasw ответил: Второму пользователю записать не получиться
И он прав. А Вы почему-то послали его учить мат.часть.
Вы же обсуждали не сферического коня в вакууме, а конкретный пример. На него vitasw дал абсолютно правильный ответ. Наверное стоит признать это.
Отвечаю на ваши вопросы.
Ситуация.
Работает Робот.
1. Не Бендер.
2. Управленческая база писана на Оракле плюс интерфейсные весчи на КодеГиар - кто знает - поймет.
3. С помощью "Конвертации данных" организован обмен в "Бухгалтерский Учет для Украины".
4. При этом конфигурация находится целиком на поддержке.
А теперь - мякоть:
Первое (как вариант):
1. Робот лезет обновлять документ (ну так ему захотелось - есть причины).
2. При этом пользователь открыл документ (просто открыл).
3. При этом возможно будет редактировать документ.
4. Таким образом задача - роботу необходимо определить, что документ кем-то занят.
Второе - проведите эксперимент (кто раньше встал - того и тапки - как сержант запаса гарантирую - девять месяцев и пять дней топтал армейский асфальт после универа в 98-99 годах).
1. Сами проведите эксперимент (Лурк Море, куда жжж без него).
2. Запускаете базу под Пупкин Вася и второй Экземпляр под Васей Пупкиным.
3. Начинаете редактировать под Пупкиным Васей
...................
Джаст фор Лулз......
Речь идет о том, что ни Вася, ни Пупкин, ни Робот не знают, кто на данный момет работает с объектом.
Такие дела.
В семерке это выглядело примерно следующим образом:
Док=СоздатьОбъект("Документ");
Док.НайтиПоНомеру("00000000000",Дата("01.01.11"));
Если Док.Блокировка(1)=1 Тогда
Предупреждение("Свободен");
Иначе
Предупреждение("Заблокирован");
КонецЕсли
И это была проверка на то, что объект кто-то пользует.
Мао Цзэдун - Большой Шалун!
Just fof Lulz. Ибо Ваистену!!! О! Как!
И вообще.
Насчет версионирования - приведу в пример ЭПИЧНЕЙШИЙ пример.
Ток соберусь с силами - чтобы кратко и по-существу (как говорят прокуроры).
Мао Цзэдун - Большой Шалун!
Just fof Lulz. Ибо Ваистену!!! О! Как!
Зачем роботу определять что документ кем-то занят? никто ж не знает зачем пользователь открыл документ. Продолжая аналогию с тапками, пока пользователь потягивался и зевал, робот по шустрому уволок его тапки. Если же пользователь в итоге решит поменять и записать документ - ему скажут что тапок уже нет. В чем проблема? Или будем второго робота придумывать?
yarosha с роботами ты явно перемудрил.
Яроше: версонифицирование и блокировки отстоят друг от друга так же далеко, как твои рОботы от твоих же кошек. Это разные оперы.
После ответа Радомира ветку следовало бы закрыть и поставить в архив. Потом - одна вода.
no comments...
Социальные закладки