![]() |
![]() |
|
Отбор по РегиструСведений без Периодичности | ☑ | ||
---|---|---|---|---|
0
МишельЛагранж
29.12.10
✎
21:34
|
Добрый вечер!
Я тут уже спрашивал по поводу неправильного удаления из регистра, а теперь другой случай. Есть зависимый непериодический регистр сведений. В нем несколько измерений (Номер, Материал, Поле - всего 7). Предполагалось, что будет уникальный ключ по 7 измерениям + само собой по регистратору (ведь зависимый же!). А ничего не вышло. Как только совпали 7 измерений (два разных документа - проводят одно и то же), регистраторы разные, а регистр пишет все тоже - "Запись с такими ключевыми полями существует!". Теперь записать новый документ можно только после полного удаления старого (теперь, конечно же, корректно!). Как теперь сделать "множественность" по регистраторам? чтобы можно вводить разные регистраторы с одинаковым набором данных. а регситр все же отслеживал уникальность. Пытался перевести регситр в положение "зависимый периодический по регситратору" - так теперь не записывает по старому РС.Отбор.Регистратор - типа, не находит больше ничего. Ввести измерение "ДокументРегистратор" и перепровести заново? |
|||
1
craxx
29.12.10
✎
22:03
|
Первое, что приходит на ум - сделать регистр периодическим.
|
|||
2
craxx
29.12.10
✎
22:05
|
периодический до секунды
|
|||
3
Живой Ископаемый
29.12.10
✎
22:16
|
да, ввести измерение ДокументРегистратор, сказать ему ведущее. Если это 8.2, то среди дивжений документов, которые по кнопке перейти, будет и твой РС
|
|||
4
МишельЛагранж
30.12.10
✎
10:07
|
(3) т.е. периодическим его делать необязательно? а то проводки после перехода на период не делаются по этому регистру. И запись не движениями, а напрямую у меня в регистр - НаборЗаписей создать - Отбор по Регистратору (т.к. зависимый) - добавить запись.
Делаю Периодическим - эта конструкция перестает работать. |
|||
5
Mitriy
30.12.10
✎
10:14
|
(4) если предполагается совпадение по измерениям, то обязательно...
|
|||
6
Mitriy
30.12.10
✎
10:14
|
(4) период заполняешь?
|
|||
7
Mitriy
30.12.10
✎
10:15
|
(6) и вообще, за слова "не работает" без подробностей надо табуреткой по пальцам... рук и ног... раз десять...
|
|||
8
МишельЛагранж
30.12.10
✎
10:45
|
(5) предполагалось, что набор измерений будет уникальным. А получается, период тоже надо?
(6) в Отборе? так мне Период не нужен для алгоритма работы. (7) не работает - это не работает: нет записи при "ОК" в регистр после смены Непериодический на "Периодический по регистратору" (код для НаборЗаписей тоже не менялся, Отбор только по Регистратору остался). |
|||
9
Лефмихалыч
30.12.10
✎
10:47
|
(0) нормальное поведение непериодического регистра сведений
|
|||
10
Лефмихалыч
30.12.10
✎
10:48
|
+(9) нужно сделать регистр периодическим по позиции регистратора
|
|||
11
Mitriy
30.12.10
✎
10:48
|
(8) при чем тут отбор? в наборе записей период заполнять надо...
|
|||
12
Живой Ископаемый
30.12.10
✎
10:49
|
2(4) Если один документ не сможет сделать две записи (по твоей задумке) с одинаковым набором полей - то необязательно... Впрочем, если документ таки может сделать две одинаковые записи, то даже если он будет периодическим, нужно еще добавлять измерение, типа НомерСтроки
|
|||
13
Mitriy
30.12.10
✎
10:51
|
(12) а если два разных регистратора захотят записать одинаковые записи в непериодический регистр?
|
|||
14
Живой Ископаемый
30.12.10
✎
10:53
|
2(13) Я предполагаю что у него будет ведущее измерение Регистратор -см.(3)
|
|||
15
Живой Ископаемый
30.12.10
✎
10:54
|
разве что второй документ регистратор пожелает в качестве регистратора подставить первого... Тогда да, у него так не получится... :)
|
|||
16
Mitriy
30.12.10
✎
10:55
|
(14) а... не обратил внимание... но масло масляное, а? :)
|
|||
17
Живой Ископаемый
30.12.10
✎
10:57
|
:) да я уже давно не думаю что для какой-то ситуации есть единственное верное решение... Так что мы предлагаем варианты, автор с ними знакомиться, проводит эксперименты, выбирает то что понравилось... Может пройдет полгода-год и он все переделает по другому варианту.
|
|||
18
МишельЛагранж
30.12.10
✎
11:00
|
(12) номер строки уже есть с самого начала. Там 7 измерений. Именно что (13) два регистратора делают одни и те же записи в непериодический регистр, а смена на Периодический - при ОК старые записи по документу удаляются (стоит Стереть отбор). а новые не появляются! Я про Период не понял - где его в НабореЗаписей заполнять надо? Вот есть после РегистрыСведений.Материалы.СоздатьНаборЗаписей() - Отбор.Регистратор.Установить, далее - ставить Отбор.Период что ли?
|
|||
19
Mitriy
30.12.10
✎
11:02
|
(18) дальше у тебя набор заполняется, вот там и заполняй, как измерения и ресурсы заполняешь...
|
|||
20
МишельЛагранж
30.12.10
✎
11:04
|
(12) чтобы документ не делал две одинаковых записи - у меня 7 измерений на ключ брошено :).
Т.е. я ставлю сейчас новое измерение Регистратор, делаю его ведущим, и все? и лишь заполняю новое измерение? |
|||
21
МишельЛагранж
30.12.10
✎
12:31
|
А почему у меня нет галочки "Включить в основной отбор" у измерения?
|
|||
22
Mitriy
30.12.10
✎
12:35
|
(21) воруют...
|
|||
23
МишельЛагранж
30.12.10
✎
12:46
|
(22) кто? :) верните на место :)
А получается, что я изначально неверно выбрал путь: надо было делать независимый регситр и ставить ведущее измерение "Регистратор", и программно все писать (соотв., при удалении документа-регистратора - автоматом удаляются записи в регистре), а я понадеялся на подчинение Регистратору (зависимый сделал), записи-то удаляются при удалении регистратора, а вот уникальность по регистратору не проверяется - нужно указывать Период, в пределах которого будет дополнительно к измерениям контролироваться уникальность записей (и без регистратора, он в контроле уникальности, получается, сбоку-припеку). А интересно, если сделать ведущими несколько измерений (а они в свою очередь будут ссылками на объекты) - запись будет удаляться при удалении любого из них или только всех сразу? |
|||
24
Mitriy
30.12.10
✎
12:49
|
(23) любого...
|
|||
25
МишельЛагранж
30.12.10
✎
12:57
|
(21) а, Основной отбор появляется, если регистр Независимый, и нужен для атоотбора при обмене - в РИБ по-умолчанию (если не задан принудительный отбор) обмен идет порциями, отобранными по признаку этой самой установленной галочки.
Вона чего... (24) т.е. удалишь один - и все, записи хана?! это ж здорово :) |
|||
26
Mitriy
30.12.10
✎
12:58
|
(25) думаю так... потому что, если не так, то как бы смысла нет ставить несколько ведущих... но вообще не проверял...
|
|||
27
BadTouch
30.12.10
✎
13:00
|
Я бы добавил сейчас измерение с регистратором, в модуле набора записей прописал перед записью проверять, что новое поле равно регистратору, если нет, то приравнивать. Потом можно получить полный набор записей, прочитать и записать (ну конечно если их там не дофига и больше), тогда и перепроводить не надо...
|
|||
28
МишельЛагранж
30.12.10
✎
13:07
|
Вот те раз, вписал новое измерение "Регистратор", сменил режим записи на "Независимый" - а новое измерение исчезло! Меняю в обратном порядке...
"И сколько нам приколов чудных готовит Одинэса дух..." (27) в смысле, программно прочитал старое - записал уже с заполненным полем Регистратор? А на 1560 доков х 15 записей - сколько времени уйдет на это? |
|||
29
Mitriy
30.12.10
✎
13:10
|
(28) ну не знаю... может, секунд 15-20... плюс минус на железо...
|
|||
30
МишельЛагранж
30.12.10
✎
13:12
|
(29) у вас, похоже, сервак 12-ти ядерный на каждый из 2-х процов .... :)
|
|||
31
МишельЛагранж
30.12.10
✎
13:13
|
На обычном Xeon 5050 это намного дольше?
|
|||
32
BadTouch
30.12.10
✎
13:13
|
(28) 20К записей влегкую должен записать.
|
|||
33
BadTouch
30.12.10
✎
13:14
|
(31) в любом случае это быстрее чем перепроводить доки. Ограничение - это память, но на 20 К записей ограничения не будет
|
|||
34
BadTouch
30.12.10
✎
13:18
|
Не получиться как я написал в (27), нужен отбор по регистратору:(
|
|||
35
BadTouch
30.12.10
✎
13:20
|
Хотя и в таком случае тоже наверно по времени выгоднее не перепроводить, а получать наборы и их перезаписывать...
|
|||
36
МишельЛагранж
30.12.10
✎
13:28
|
(34) ну да, там отбор ТОЛЬКО по регистратору у зависимого, измерений нет..
|
|||
37
Mitriy
30.12.10
✎
13:28
|
(30) да фиг его знает, если честно, но по-любому не долго...
Делаешь выборку по регистраторам регистра, а потом в цикле получаешь наборы по каждому регистратору, правишь и записываешь... |
|||
38
BadTouch
30.12.10
✎
13:32
|
(37) Угу, все равно быстрее чем перепроводить
|
|||
39
Протез
30.12.10
✎
13:34
|
Чем обусловлен выбор регистра сведений? Почему не оборотный регистр например?
|
|||
40
Mitriy
30.12.10
✎
13:39
|
(39) что-то как-то не в тему... вряд ли ему нужен приход-расход, если он регистр сведений сделал...
|
|||
41
МишельЛагранж
30.12.10
✎
14:40
|
(39) потому что данные нужны все, а не только последние. Регистр используется как хранилище изменяемой информации, а не как накопительный склад. Если для этих целей использовать РН - то там был бы один сплошной приход без расхода, и никакими преимуществами РН (остатки-обороты) воспользоваться нельзя, а актуальность, напротив, на уровне регистра не проверишь, поэтому РН не для этих целей создавался :)
Хотя тоже таблица, тоже в базе, тоже реляционная :) |
|||
42
МишельЛагранж
30.12.10
✎
14:42
|
(39) вы наверное, подумали, что это для склада Материалов :)
Нет, это для расчета характеристик этих самых материалов и изделий из них. |
|||
43
МишельЛагранж
30.12.10
✎
16:56
|
А вот еще такой вопрос - если удалить РС из конфигуратора совсем, прежние таблицы с данными из базы удаляются или остаются в виде мусора?
|
|||
44
МишельЛагранж
30.12.10
✎
17:50
|
(19) специально попробовал - Зависимый регистр, периодичность по регистратору:
заполняется только Движениями, вручную (через СоздатьНаборЗаписей) никак. "Запись.Период = Дата" была с самого начала, но вручную зависимый регистр заполняется только если нет периодичности (с чего начал тему), ставишь периодичность - все, только движениями. |
|||
45
МишельЛагранж
30.12.10
✎
17:50
|
мило так беседую сам с собой :)....
|
|||
46
МишельЛагранж
30.12.10
✎
18:20
|
(44) не, все еще хитрей - если есть Движения, записывающие данные с определенной ТЧ дока в регистр (например, ранее по ОК были проводки со строго определенной таблицы дока в РС через движения) - то и вручную будет потом записывать/перезаписывать эти же строчки (т.е. по уже существующим в таблице регистра.
А если движений не предусмотрено для таблицы дока - то и вручную ничего не пишет, только команда Очистить срабатывает из всей "ручной" записи.. |
|||
47
Живой Ископаемый
30.12.10
✎
18:41
|
(43)если при сохранении тебе 1с сказала что реструктуризирует чего-то, то удаляются
|
|||
48
МишельЛагранж
30.12.10
✎
18:46
|
Говорит только - "данные из регистра будут удалены" при сохранении конфы.
Кстати, если преобразовывать РС из независимого в зависимый - данные в регистре затираются, если наоборот (из зависимого в независимый) - то нет. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |