|
Использование версионирования для отслеживания статуса | ☑ | ||
---|---|---|---|---|
0
NIGHTHUNTER
22.09.22
✎
12:30
|
В ERP есть версирование. Где например, можно отследить что таким то пользователем, был установлен во столько то времени такой то статус документа.
Мне нужно использовать это в отчете. В котором отбор дат будет по этим полям. Выбираются документы с нужным статусом. И на форме нужно сделать отбор по дате установки этого статуса. То есть когда этим документам был установлен этот статус. В конфигурации это РегистрСведений.ВерсииОбъектов . Отчет по нему как то формируется и выводит измененный реквизит статус. Но открыв регистр в предприятии, я там ничего не увидел. Как и что из него можно было бы выбрать. Создавать ли под эту задачу свой регистр сведений, или можно как то использовать то что есть в типовом механизме? Попытавшись это выявить, я ничего не увидел. |
|||
1
formista2000
22.09.22
✎
12:34
|
А что там в форме списка регистра?
|
|||
2
sergeyshimkov
22.09.22
✎
12:40
|
Там же версия в формате FastInfoSet сохранена в хранилище значения.
Можно конечно пройтись по всем версиям, каждую распаковать и проверить, но это будет очень долго. Лучше отдельный регистр. |
|||
3
rphosts
22.09.22
✎
12:43
|
(0) Статусы могут вестись по разному. бывает в стороннем РС и тогда ничем версионирвоание не поможет т.к. регистры не объектные сущности а версионируются только объекты. Бывает статусы вообще в сторонней системе живут (Документооборот корп.).
Если таки всё в РС.ВерсииОбъектов - там есть сериализованая копия объекта и тебе работать с ней |
|||
4
NIGHTHUNTER
22.09.22
✎
12:43
|
(1) Ну вот я смотрю, и особо ничего не могу понять. В форме списка регистра нет ничего нужного. названия реквизита например который меняли и даты.
|
|||
5
rphosts
22.09.22
✎
12:44
|
(4) а ты в хранилище загляни
|
|||
6
NIGHTHUNTER
22.09.22
✎
12:44
|
(2) Понятно. Я и говорю, что начал сомтреть, но для себя ничего не нашел полезного. И задумался, что наверное это не подойдет под задачу.
|
|||
7
NIGHTHUNTER
22.09.22
✎
12:45
|
(5) Это так просто? На основании чего?
|
|||
8
Dmitrii
гуру
22.09.22
✎
13:10
|
(4) Версия объекта храниться в ресурсе ВерсияОбъекта регистра.
Тип значения этого ресурса ХранилищеЗначения. (0) Можно использовать для решения задачи регистр Версии объектов. Только надо помнить, что в любой момент администратор базы (или любой пользователь, имеющий права администратора) может отключить версионирование вовсе, отключить версионирование нужного тебе документа, поменять настройки версионирования в части событий (записывать версию при записи или при проведении документа), сократить срок хранения версий. Если все эти ограничения тебя устраивают, и не имеет принципиального значения производительность отчета об изменении контролируемого тобою реквизита, то такой вариант вполне приемлем. Если же важна надёжность, достоверность таких данных и они не должны зависеть от времени (что кто-то почистит в регистре версий старые версии), лучше хранить такую информацию в отдельном регистре. Данные из собственного регистра можно будет получать на порядок быстрее, т.к. не надо будет для каждой версии разбирать хранилище для получения из него нужных данных. Короче говоря, ответ зависит от конкретики - что именно нужно и какую задачу ты решаешь. |
|||
9
kittystark
22.09.22
✎
13:11
|
берешь для каждой версии хранилище и десериализуешь его, на выходе должны получаться не ДокументСсылка, а настоящие ДокументОбъект
дальше можно из них складывать в ТЗ и ее скармливать как внешний набор данных в СКД |
|||
10
alarm2020
22.09.22
✎
13:13
|
(8) Если важна надежность, тогда нужен блокчейн, а не регистр. Регистр точно также могут почистить
|
|||
11
vde69
22.09.22
✎
13:17
|
(10) для штатного версионирования (платформеного) изменения регистра вполне отслеживаются.
И не надо тащить в 1с технологии не применимые здесь идеологически. |
|||
12
1Сергей
22.09.22
✎
13:18
|
(10) ну тогда надо все данные хранить в этом вашем блокчейне
|
|||
13
Ryzeman
22.09.22
✎
13:24
|
(11) у него ЕРП, там штатное версионирование - БСПшное же...
(0) ВерсионированниеОбъектовКлиент.ПоказатьИсториюИзменений(Ссылка, ФормаВладелец) А вообще если документ типовой - ищи кнопочку с карандашиком "показать историю версий". А если внедрили это в не типовой документ но через задницу - лезь на ИТС и смотри сам как доделать |
|||
14
kittystark
22.09.22
✎
13:25
|
да, и если документ только определенного(-ых) вида(-ов), то в запросе лучше использовать ВЫРАЗИТЬ, типа:
проверено - так запрос будет на несколько порядков быстрее работать |
|||
15
alarm2020
22.09.22
✎
13:29
|
(11) (13) БСП-шное, платформенное... какая разница. Кому надо внесет изменения напрямую в базу данных и никакое версионирование это не обнаружит. Это раз.
А два заключается в том, что мало просто сохранять версии. Ну хранится у тебя миллион записей в версиях. И что? Чем это тебе поможет? Как ты выявишь неправомерное действие? |
|||
16
Ryzeman
22.09.22
✎
13:34
|
(15) Если у тебя такая работа, где ПРЯМОЙ ДОСТУП К SQL есть у любого подозрительного типа, и тебе надо хреначить блокчейны что бы хранить сраную историю версий... Я бы на твоём месте подумал бы о смене) Разве что там платят 300к в наносек
|
|||
17
NIGHTHUNTER
22.09.22
✎
13:44
|
Все же думается не использовать это версирование для задачи (0). Сделать регистр сведений.
(13) Да, версирование типовое. Хорошо бы так. Взял какую то функцию, и она все возвращает, а ты используешь. Не знаю есть ли такое. Тут смысл такой, что в версировании хранится история всех старых объектов. И если использовать какие то типовые функции, я например могу отчет сделать на секциях, со своей программной обработкой. Но есть ли вероятность что я смогу добиться цели7 Я не знаю как что извлекать из этого версирвоания и что можно получить. |
|||
18
alarm2020
22.09.22
✎
13:44
|
(16) Если пароль хранится на сервере, то можно считать, что ПРЯМОЙ ДОСТУП К SQL, есть потенциально везде
|
|||
19
kittystark
22.09.22
✎
14:01
|
(17) дарю
ВерсионированиеОбъектов.РазборВерсии( Выборка.Объект.Ссылка, Выборка.НомерВерсии); |
|||
20
Dmitrii
гуру
22.09.22
✎
14:04
|
(10) >> Если важна надежность, тогда нужен блокчейн, а не регистр. Регистр точно также могут почистить
Если важная надёжность, данные следует высекать в граните. Опыт человечества показывает, что камень является самым надёжным носителем информации. Никакие другие носители с ним не сравняться. Тем более электронные. Так что придётся раздать пользователям гранитные таблички и инструмент для работы по камню. |
|||
21
Ryzeman
22.09.22
✎
14:07
|
(17) всё, я сдаюсь. Ты реально просто издеваешься)
|
|||
22
Dmitrii
гуру
22.09.22
✎
14:08
|
(15) >> Как ты выявишь неправомерное действие?
Ты задачу не путаешь? "Увидеть отчет об изменении реквизита" - это одна задача. "Выявить неправомерное действие" - другая. |
|||
23
Ryzeman
22.09.22
✎
14:13
|
(18) да что ты говоришь? В типовой УТ без запуска внешних отчётов и обработок сможешь пароль от sa надыбать? Или сделать какие-нибудь не предусмотренные платформой вещи?) Если у тебя конкретно сплошные дыры в безопасности, это твои личные половые сложности, не надо их экстраполировать на всех) А если бы было всё как ты говорил, то ни один идиот за пределом ларька не пользовался бы 1с.
|
|||
24
Мультук
гуру
22.09.22
✎
14:23
|
(17)
>> Но есть ли вероятность что я смогу добиться цели7 Я не знаю как что извлекать из этого версирвоания и что можно получить. У меня два вопроса: 1) Ты единственный программист на предприятии ? 2) Кто твой непосредственный начальник по должности ? P.S. Еще мне любопытен уровень ЗП (но спрашивать не буду), но 40+ наверняка есть. |
|||
25
alarm2020
22.09.22
✎
14:23
|
(23) Хранение пароля - это общеизвестная проблема с 1С.
|
|||
26
alarm2020
22.09.22
✎
14:24
|
(22) А зачем тебе отчет об изменении реквизита? Просто так, полюбоваться?
|
|||
27
NIGHTHUNTER
22.09.22
✎
14:30
|
Версирование, при выборе там нескольких пользователей, что редактировали документ. Показывает.
Когда, в какую доту, и какой статус они устанавливали. Меняли. Вот мне нужно получить эту дату и определенный статус. Есть ли для этого функции? |
|||
28
Ryzeman
22.09.22
✎
14:31
|
(25) Да, только без физического доступа к железу при адекватной настройке и без говнокода ничего оно тебе не даст. Или, повторюсь, у вас все юзвери доменные админы и могут зайти на сервак и вытащить на горячую хард себе домой погонять?
|
|||
29
kittystark
22.09.22
✎
14:34
|
(27) ты по ходу точно тролль
или мои посты не заходят ? |
|||
30
Dmitrii
гуру
22.09.22
✎
14:35
|
(26) >> А зачем тебе отчет об изменении реквизита?
Этот вопрос надо автору ветки адресовать, а не мне. Но в обычной жизни существует миллион случаев, когда нужно знать - кто и когда что-то поменял в данных. При этом все изменения сделаны абсолютно правомерно и по делу. Обычное дело, когда, например, отгрузку оформляют несколько пользователей. Каждый свою часть - один товары, другой допуслуги, третий - данные о доставке, четвёртый проверяет данные, пятый согласовывает, шестой - утверждает и подписывает, седьмой делает отметку об отпуске со склада, восьмой - о доставке покупателю и т.д. И половина из них меняют при этом какие-то реквизиты или статусы документа. И все делают это совершенно правомерно и в соответствии с выстроенном бизнес-процессом. |
|||
31
Dmitrii
гуру
22.09.22
✎
14:39
|
(29) Он не тролль. Он редкостны нуб. Судя по его веткам то ли пользователь, то ли из консультантов, пытающийся программировать.
Или стажер, каким-то чудом оказавшийся на поддержке/доработке ERP, без квалифицированного наставника. |
|||
32
Ryzeman
22.09.22
✎
14:49
|
(31) Только этой учётке 2 года. Мой совокупный опыт работы с 1с7 и 1с8 примерно такой же.
Вроде как это его вторая учётка. Основная LivingStar 17 лет, тысяча тем. Это точно не конс и не "нуб". Это что-то другое. У нас было предположение что либо нейросетка, которую натаскивают кодить 1с, либо групповая учётка джунов на каком-нибудь крупном франче |
|||
33
alarm2020
22.09.22
✎
14:50
|
(30) В обычной жизни существует задача гарантированно получить сигнал об изменениях. И версионирование здесь ничем помочь не может
|
|||
34
Ryzeman
22.09.22
✎
14:50
|
А что если на самом деле это Волшебник так крепость наших нервов проверяет?) С основной учётки то не солидно так издеваться...
|
|||
35
kittystark
22.09.22
✎
14:52
|
(32) нет это хантер за головами,
или ген.дир - пытается сам проверить не накалывают ли его подчиненные :) |
|||
36
lubitelxml
22.09.22
✎
14:54
|
(32) как я понял это реальный человек. Когда была аська, я имел неосторожность (во времена 7.7) дать ему свой контакт... Сейчас читая ветки хантера вижу такие же вопросы, за 17 лет ничего не изменилось )
|
|||
37
kittystark
22.09.22
✎
14:54
|
(34) угу,
"Борис Георгиевич! перелогинтесь..." |
|||
38
Fish
22.09.22
✎
15:15
|
(36) " за 17 лет ничего не изменилось" - Зато 17 лет стабильности - не каждый на такое способен.
|
|||
39
АгентБезопасной Нацио
22.09.22
✎
17:10
|
(32) еще учетка FalseLight вроде была...
ну не он один такой, еще 1сЮлия и ее коллега Bananan (его, правда, давно не видно - видимо, или выперли, или сам ушел из профессии), Мисти... тьма их таких... |
|||
40
NIGHTHUNTER
27.09.22
✎
08:44
|
Здравствуйте!
Я сделал выборку на скд секциями. В переборе у меня есть ссылка на документ. Один или второй Всего 2 вида документа. ХХХ_ПредварительныйЗаказПоставщику ЗаявкаНаРасходованиеДенежныхСредств Как сейчас в соответствии с (14) или (19), мне получать по документу последнюю дату изменения поля Согласователь? В одном документе, Согласователь, в другом КтоРешил. Дело в том что я совершенно не знаю. Я пытаюсь понять, по этому спрашиваю у вас. Так как без этих сообщений мне вообще нечего делать. Могу жить только в процессе реального общения. |
|||
41
АгентБезопасной Нацио
27.09.22
✎
08:58
|
(40) да разве ж это жизнь?
|
|||
42
NIGHTHUNTER
27.09.22
✎
09:13
|
Как сюда можно передать ссылку на документ, что бы смотреть версионирование по одному документу?
Я попробовал Но все зависло ((((( |
|||
43
NIGHTHUNTER
27.09.22
✎
09:13
|
(42) сюда (14)
|
|||
44
NIGHTHUNTER
27.09.22
✎
09:40
|
Можно из этого регистра извлекать ссылку на конкретный документ7 То есть установить ее в отборе ГДЕ запроса?
|
|||
45
Мультук
гуру
27.09.22
✎
09:50
|
(42)
Показывай как пробовал. |
|||
46
NIGHTHUNTER
27.09.22
✎
10:07
|
(45)
И ВерсииОбъектов.Объект.Ссылка = &ПредварительныйЗаказ Даже если в запросе делаю ВЫБРАТЬ ВерсииОбъектов.Объект.Ссылка КАК Ссылка, все сразу зависает Я хочу в запросе отобрать все на один документ и попробовать (19) . Как то все сложно дается. Потому что мне это не известно. |
|||
47
NIGHTHUNTER
27.09.22
✎
10:09
|
Я просто не понимаю что делать, мне нужно,
из документа ПредварительныйЗаказНаПроизводство, выбрать дату когда последний раз установили статус к оплате А из документа заявка на расходование денежных средств выбрать дату когда установили пользователя в поле кто решил. Для этого я пытаюсь разобрать (14) и (19) . |
|||
48
Волшебник
модератор
27.09.22
✎
10:11
|
(34) Вы плохо обо мне думаете. Я никого не обманываю.
|
|||
49
Мультук
гуру
27.09.22
✎
10:28
|
(46)
А почему нельзя сразу написать И ВерсииОбъектов.Объект = &ПредварительныйЗаказ и при этом еще внимательно посмотреть на (14), там зачем-то условие со оператором "ССЫЛКА" и автор пишет, что быстрее будет. |
|||
50
kittystark
27.09.22
✎
11:08
|
(49) +1
жуткие тормоза в (46) возникают именно из-за второй точки |
|||
51
Aleksey
27.09.22
✎
11:46
|
(46) ну и запросы у вас сказала база данных и повисла
|
|||
52
NIGHTHUNTER
27.09.22
✎
12:58
|
(49)
И ВерсииОбъектов.Объект = &ПредварительныйЗаказ Спасибо учту, я почему то стал думать что там объект (((( Поразительно конечно ((. так как там ссылки. А я стал пытаться из него извлечь объект, и параметр так же задавать. И удивляться от чего все виснет наглухо. Простите меня. И ВерсииОбъектов.Объект ССЫЛКА Документ.РеализацияТоваровУслуг ССЫЛКА для того что бы извлекались документы одного вида. (50)(51) Понял! Исправлять буду и продолжать! |
|||
53
vde69
28.09.22
✎
18:05
|
(18) никто не мешает закрыть порт 1433 для всех кроме сервера 1с и даже зная SQL логин и пароль у тебя не будет туда доступа
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |