|
v7: Перекрестные ссылки и удаление документов - нужна помощь. | ☑ | ||
---|---|---|---|---|
0
bigdenis22
10.09.15
✎
10:06
|
Есть Док ПрВыход (регистрируется выход продукции из производства), есть "подчиненный" док СтрокаПрВыход - им двигаются регистры.
Первый док не двигает регистры, но в нем заполняются и хранятся некоторые параметры выходящей продукции, в том числе имеются метка времени выхода и ссылка на СтрокаПрВыход (для оперативной работы с ним). Так вот суть: в родительском документе есть ссылки на подчиненные (каждой строке подчинен док), и в подчиненном есть ссылка на родительский документ. - ИТОГ - все доки помечены на удаление, но не удаляются, пеняя на ссылки друг на друга... удаление без контроля ссылок - считаю не кошерно. может кто может предложить варианты ? |
|||
1
ДенисЧ
10.09.15
✎
10:07
|
вообще-то штатная удалялка такие ситуации обрабатывает
|
|||
2
mikecool
10.09.15
✎
10:07
|
изменить создание документов для односторонней связи
очистить ссылки в одном из видов и удалить |
|||
3
VladZ
10.09.15
✎
10:08
|
Отличный вариант: разработать обработку удаления этих документов.
|
|||
4
bigdenis22
10.09.15
✎
10:28
|
вот и мне не понятно, почему штатная удалялка не обрабатывает эту ситуацию ???
обработку-то наверно и придется написать, но сначала хочется разобраться в ситуации... просто последний месяц недосыпаю (в связи с полной перепиской базы) - голова квадратная, вот и думаю, что что-то упустил... |
|||
5
bigdenis22
10.09.15
✎
10:32
|
(2) к сожалению, ситуация такова, что ПриРедактированииСтроки() в родительском доке - необходима прямая ссылка на СтрокаПрВыход, подчиненный этой строке.
т.е. ваше замечание - логично, но в моей ситуации - не применимо. |
|||
6
Ёпрст
10.09.15
✎
10:33
|
(4) штатное удаление помеченных всё удаляет
|
|||
7
bigdenis22
10.09.15
✎
10:39
|
(6) писал бы я сюда, еслиб так было :(
у доков существуют ссылки ТОЛЬКО друг на друга... могу скрины показать - если кто подскажет как их здесь выложить. |
|||
8
Масянька
10.09.15
✎
10:42
|
(7) На файлопомойку, сюда - ссылки.
|
|||
9
bigdenis22
10.09.15
✎
10:54
|
||||
10
Serg_1960
10.09.15
✎
10:55
|
(6) "Ты не прав"(РАУЗ, "Тестирования и исправления ключей аналитики").
|
|||
11
bigdenis22
10.09.15
✎
11:21
|
а если делать удаление через обработку, то наверно обязательно надо описать удаление ссылок ?
|
|||
12
Масянька
10.09.15
✎
11:30
|
(11) Нельзя так делать (по поводу (0)). Нельзя :(
|
|||
13
bigdenis22
10.09.15
✎
11:38
|
(12) я прошу прощения, но можно подробней ?
|
|||
14
Масянька
10.09.15
✎
11:40
|
(13) Подробнее - открывай и читай про проектирование реляционных баз данных.
|
|||
15
bigdenis22
10.09.15
✎
11:47
|
(14) ...
послать можно было и проще. |
|||
16
Масянька
10.09.15
✎
11:52
|
(15) Это не "посыл", ни в коем случае...
Просто много чего объяснять/рассказывать нужно. Да, ты и сам понимаешь (теперь), что нельзя :( |
|||
17
bigdenis22
10.09.15
✎
12:07
|
родилась мысль, отказаться от ссылки в родительском документе, заменив её числовым значением номера подчиненного дока, с последующим поиском по номеру среди подчиненных.
(16) очень устал за последний месяц и туго соображаю, вот и хотелось чтоб кто-нибудь разъяснил факт : что перекрестных ссылок допускать нельзя (в 7.7 - так точно). |
|||
18
Масянька
10.09.15
✎
12:18
|
(17) Родилась глупая мысль...
Отдохни. Зачем? Первый док-т - основание для второго (родительский - подчиненный). А вообще - расскажи смысл сего действа (2 док-ов). |
|||
19
bigdenis22
10.09.15
✎
13:02
|
(18) раньше был один док ПрВыход, заполняется в течении дня, в нем строка - конкретный "объект" выходящий из производства, в строке регистрируются параметры выходящего объекта (время выхода, температура, влажность, вес и т.п.) часть этих параметров к регистрам отношения - не имеет.
Движения по регистрам делались разумеется этим доком. (движения выражаются в перемещении партии частями из склада цех в склад ГП с пересчетом себестоимости) При этом получили коллизию порядка движений регистра: так как док заполняется в течении дня, то он может иметь позицию ТОЛЬКО или на начало или на конец заполнения(и движения соответственно тоже)., в первом случае выходит продукция кот. ещё не начала делаться, а во втором - продается та, кот. ещё не вышла из производства. Поэтому было решено перенести движения в связанный документ СтрокаПрВыход, и проводить его с временем выхода... А для оперативного программного редактирования подчиненного документа из родительского - сделал прямую ссылку на него. |
|||
20
Масянька
10.09.15
✎
13:05
|
(19) А почему один док-т в течении дня? Нельзя делать несколько?
|
|||
21
bigdenis22
10.09.15
✎
13:23
|
(20) ... сложная история...
во первых :) к первому документу уже привыкли и так им удобно работать. 2) так удобней заполнять и оперативно сравнивать параметры. иначе пришлось бы делать слишком насыщенный (параметрами) журнал документов(СтрокаПрВыход). |
|||
22
Масянька
10.09.15
✎
13:26
|
(21) Мало, что поняла...
Почему нельзя делать несколько док-ов за день? |
|||
23
bigdenis22
10.09.15
✎
13:38
|
по сути док ПрВыход это смена весовщика/приемщика, участков 3, в каждом доке прибл. от 100 до 200 строк.
каждая строка должна проводится со своей временной позицией. т.е. иной выход каждому весовщику вбивать 100-200 доков в день... иногда надо пройти проредактировать параметр по нескольким последним объектам - рыться в обширном журнале - не удобно... делать накрученый журнал с множественными отборами - мне показалось менее интересным чем связку документов... тем более у меня есть вторая подобная ситуация, но там двигают регистры и родительский и подчиненные доки... |
|||
24
Ёпрст
10.09.15
✎
13:46
|
(9) и ?
если оба документа помечены на удаление - всё удаляется. Если один из них нет - то ясен пень выдает тебе ссылки в штатной удалялке. |
|||
25
Масянька
10.09.15
✎
13:46
|
(23) Серьезно...
Навскидку (хотя, нужно основательно подумать): ПрВыход - документ, не делает движений, хранит информацию; СтрПрВыход - вводится на основании строки ПрВыход, делает движения. СтрПрВыход - именно на основании, зверь к нему доступа не имеет - все программно. Хотя, я бы еще подумала... |
|||
26
bigdenis22
10.09.15
✎
14:05
|
(24) в родительском поменял ссылку на номер дока - все удалилось...
повторюсь: я тоже считал, что должно работать... но маемо те що маемо... (25) ну как-то так и задумано :) |
|||
27
bigdenis22
10.09.15
✎
14:30
|
вобчем Ёпрст скорее всего прав...
нашел, что некорректно отработало удаление партий, и на три дока СтрокаПрВыход остались ссылки в партиях, и удаление заклинилось(из-за перекрестных ссылок)... но Масанька натолкнула на верную мысль, что перекрестные ссылки - зло... (благодаря чему и была найдена ошибка). - 1 док ПрВыход и 230 Строк - поди найди где в этом количестве что зависло... |
|||
28
Масянька
10.09.15
✎
14:34
|
(27) Я бы все-таки избавилась от данной связки...
Нельзя автоматизировать ПрВыход? Если не 2-ух кнопок (создать-сохранить), то хотя бы до минимума (создать, ввести пару данных, сохранить). Чтобы все-таки ПрВыход делал движения, а не создал вагон и маленькую тележку подчиненных док-ов. Хотя, хозяин - барин. |
|||
29
bigdenis22
10.09.15
✎
16:25
|
(28) я в (19) описал, почему пришлось перенести движения в СтрокаПрВыход, хотя я сам не в восторге от данного решения, но надож как-то разруливать ситуацию :)
можно подвести итог: 1) почему не сработала штатная удалялка? - найдены не удаленные партии, кот. на давали удалятся всей цепочке. 2) перекрестные (кольцевые) ссылки в 1с - ЗЛО... без них не возникает длинных цепочек ВЗАИМОсвязанных объектов. |
|||
30
HawkEye
10.09.15
✎
17:16
|
чё тут? автор, штатная все правильно работает...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |