v7: Перекрестные ссылки и удаление документов - нужна помощь. #752877


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

В этой группе 1С