Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Запись изменений регистра сведений. 1С8.2.последняя          
bolobol Подменю пользователя
сообщение 08.10.11, 23:45
Сообщение #1

Говорящий
***
Группа: Пользователи
Сообщений: 65
Спасибо сказали: 0 раз
Рейтинг: 0

Ещё вопрос.

Сделал логирование действий пользователя в документ с табличными частями. Основные реквизиты документа - стандартные реквизиты объекта логирования (номер, код, регистратор, проведен и т.п.), табличная часть Измерений/Реквизитов/Ресурсов содержит описание изменения Измерений/Реквизитов/Ресурсов объекта логирования, вычисляемым по метаданным, заполняется в три колонки - Имя, Старое значение и Новое. Т.е. - логируются только изменения. ТЧ изменений в табличных частях объекта логирования - пять колонок - ИмяТЧ, НомерСтроки, ИмяРеквизита, СтароеЗначение, НовоеЗначение.

По подписке ко всем регистрам сведений, документам, справочникам на "ПередЗаписью", выполняется выборка записанной версии, сравнение с Источником, запись изменений. Но рассмотрим случай с регистром сведений - перед записью срабатывает по два раза:
1. очистка существующих записей по отбору - сравнение существующих записей с пустым набором
2. запись нового набора - сравнение пустого набора с новым набором

Таким образом, получаю два документа - спёрли все зописи по отбору И записали новый набор. По логике задачи, мне нужен один документ - что _изменили_, т.к. невозможна ситуация только стирания старых записей и отказа в записи нового набора. Но возможны ситуации - только стирания И только записи нового набора, т.е. нельзя гарантировать, что после логирования стирания возникнет обязательно логирование записи. Подскажите, как быть. Как же решить задачку-то?

Спасибо ))

logist Подменю пользователя
сообщение 09.10.11, 6:46
Сообщение #2

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2539 раз
Рейтинг: 0

Цитата(bolobol @ 09.10.11, 0:45) *
По подписке ко всем регистрам сведений, документам, справочникам на "ПередЗаписью", выполняется выборка записанной версии, сравнение с Источником, запись изменений. Но рассмотрим случай с регистром сведений - перед записью срабатывает по два раза:
1. очистка существующих записей по отбору - сравнение существующих записей с пустым набором
2. запись нового набора - сравнение пустого набора с новым набором

Таким образом, получаю два документа - спёрли все зописи по отбору И записали новый набор. По логике задачи, мне нужен один документ - что _изменили_, т.к. невозможна ситуация только стирания старых записей и отказа в записи нового набора. Но возможны ситуации - только стирания И только записи нового набора, т.е. нельзя гарантировать, что после логирования стирания возникнет обязательно логирование записи. Подскажите, как быть. Как же решить задачку-то?

Спасибо ))

А спереть стандартное версионирование из какой-то типовой религия не позволяет?

.Если существующие записи есть то:
..Если это ПЕРЕЗАПИСЬ (Новые записи <> пусто) - сравнение, очистка, запись новых, и запись изменений.
..Иначе - очистка существующих.
.Иначе - записать новые записи.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

bolobol Подменю пользователя
сообщение 09.10.11, 19:56
Сообщение #3

Говорящий
***
Группа: Пользователи
Сообщений: 65
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(logist @ 09.10.11, 6:46) *
А спереть стандартное версионирование из какой-то типовой религия не позволяет?

Да. Там версионирование на хранилище значений реализовано, не совсем понятно как из хранилища получить информацию кто поменял это или что именно поменяли в том-то. Да и не видел (может, что плохо смотрел) версионирования изменений регистров. Да и не понятно, зачем проверять дважды изменения: во время записи (а нужно ли версионировать, если ничего не изменилось) И во время поиска изменений, т.к. в хранилище там суётся объект целиком.
Цитата(logist @ 09.10.11, 6:46) *
.Если существующие записи есть то:
..Если это ПЕРЕЗАПИСЬ (Новые записи <> пусто) - сравнение, очистка, запись новых, и запись изменений.
..Иначе - очистка существующих.
.Иначе - записать новые записи.

Вот то-то и оно, что для регистров - всегда два вызова: из набора в пустой набор И из пустого набора в новый. Всегда изменения, а значит - нет решения задачи.

logist Подменю пользователя
сообщение 09.10.11, 23:47
Сообщение #4

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2539 раз
Рейтинг: 0

Цитата(bolobol @ 09.10.11, 20:56) *
а значит - нет решения задачи.

Мне кажется постановка такой задачи несколько глуповата.
Большинство записей в регистры делают документы, а те регистры в которые идет запись на прямую относятся в основном к настройкам и параметрам, и доступ к их изменению должны иметь люди, действия которых, в данном случае, не требуют логирования.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

bolobol Подменю пользователя
сообщение 10.10.11, 10:03
Сообщение #5

Говорящий
***
Группа: Пользователи
Сообщений: 65
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(logist @ 09.10.11, 23:47) *
Мне кажется постановка такой задачи несколько глуповата.
Большинство записей в регистры делают документы, а те регистры в которые идет запись на прямую относятся в основном к настройкам и параметрам, и доступ к их изменению должны иметь люди, действия которых, в данном случае, не требуют логирования.

Особенно регистр сведений ЛицевыеСчетаРаботниковОрганизации в бухгалтерии, в ЗУП. Как говорил наш любимый шеф, .. .., слон кажется маленьким только издалека и лёгким, только если он чужой ))

logist Подменю пользователя
сообщение 10.10.11, 11:21
Сообщение #6

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2539 раз
Рейтинг: 0

Цитата(bolobol @ 10.10.11, 11:03) *
Особенно регистр сведений ЛицевыеСчетаРаботниковОрганизации в бухгалтерии, в ЗУП.

Если кто-то боится что деньги уйдут не туда, то это проблема не 1С.
В конце концов можно сделать документ, так как это реализовано в УПП.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

bolobol Подменю пользователя
сообщение 11.10.11, 12:18
Сообщение #7

Говорящий
***
Группа: Пользователи
Сообщений: 65
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(logist @ 10.10.11, 11:21) *
Если кто-то боится что деньги уйдут не туда, то это проблема не 1С.

Но мы и не проблемы 1С обсуждаем, а проблемы пользователей 1С. Я, просто, знаю этот приём - использование ломаной логики, как-то так называется ))
Цитата(logist @ 10.10.11, 11:21) *
В конце концов можно сделать документ, так как это реализовано в УПП.

А как Вы себе представляете этот универсальный чудо-документ внесения записи в нужный регистр сведений? Ибо, заблокировать от пользователя все регистры возможно подпиской, а в документе создать неограниченное количество возможных ресурсов, реквизитов, измерений возможно только табличной частью, где всё это будет строками. Одно изменение - одна строка. Как будто приемлемо, но вот с удобством... сколько кода писать придётся, что страшно уже на этапе фантазий. Да и времени никто не даст... А без времени - будет хуже для пользователя, что недопустимо даже для разработки.

logist Подменю пользователя
сообщение 11.10.11, 12:37
Сообщение #8

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2539 раз
Рейтинг: 0

Цитата(bolobol @ 11.10.11, 13:18) *
А как Вы себе представляете этот универсальный чудо-документ внесения записи в нужный регистр сведений?

Я вообще имел ввиду документ по ЛицевымСчетам... Но раз уж так, то не вижу никаких трудностей в универсальном документе. В конце концов документ "Корректировка записей регистров" как-то выполняет свои функции.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: bolobol,

bolobol Подменю пользователя
сообщение 11.10.11, 14:49
Сообщение #9

Говорящий
***
Группа: Пользователи
Сообщений: 65
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(logist @ 11.10.11, 12:37) *
"Корректировка записей регистров" как-то выполняет свои функции.

И ведь правда... документ этот выглядит как таблица регистра, причём любого и нескольких даже. Я обкурю этот вариант, спасибо за наводку!

А с фиксацией факта изменения набора записей регистра сведений с ..было.. на ..стало.. - всё глухо, да?

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 17.06.25, 11:16
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!