#0
by PiotrLoginov
Всем здрасте. В табличной части Документа2 есть реквизит Док - ссылка на Документ1. По логике процесса на первом этапе пользователем создается и проводится Документ1. На втором этапе создается Документ2, и в его табличной части заполняется реквизит Док - ссылка на Документ1, созданный на первом этапе. Надо чтобы после проведения Документа2 уже невозможно было перепровести Документ1. Хотел реализовать это с помощью регистра сведений, но что-то не хватает соображалки. В основном смущает, что если стряпать независимый РС, теряется жесткая связь записи РС с документом - заходи кто хочешь, правь что хочешь. А если стряпать РС с подчинением регистратору, приходится использовать в качестве регистратора оба документа - такая выходит каша... г-нокодом попахивает. Помогите плиз.
#3
by be-may
"приходится использовать в качестве регистратора оба документа " - а можно поподробней почему оба ?
#5
by PiotrLoginov
ну там еще на самом деле есть цель учитывать Документы1, еще не использованные в реквизитах Документов2 Так что сначала наверное имеет смысл при проведении Документа1 создавать какую-то запись об этом в регистре, а затем на втором этапе при проведении Документа2 корректировать эту запись, указывая на недопустимость дальнейших правок Документа1
#6
by PiotrLoginov
Критерии до сих пор использовал только для получения информации о связанных с объектом движениях и документах. Как мне критерии помогут в блокировании изменений документа?
#9
by mulmulya
после проведения Документа2 Документ1.ЗапретитьИзменениеДокумента = Истина не подходит?
#11
by PiotrLoginov
Нет, получить с помощью критерия те Документы2, в которых документ1 уже использован - да, это легко. Но мне мало получить информацию о связанных Документах2. Мне надо, чтобы никто не смог в принципе совершить проведение Документа1 ввиду требований РС к уникальности записей
#12
by ИС-2
а почему бы не сделать тупо запрос при проведении Док1 к Док2? Нашли док2 - не проводим Док1 пальцы бы отрубать, тем программистам кто использует свойства и категории...
#17
by mulmulya
как вариант, если не хочется возиться с РС, создать реквизит ЗапретитьИзмененияДокумента, но не проще
#18
by PiotrLoginov
потому что искать запросом среди тысяч документов те, что ссылаются на текущий Документ1 - тоже не по путю
#19
by kvikster
измени тогда обработку проведения указав Отказ = ложь если связанный документ провведен
#20
by sergeev-ag-1977
- а чем помочь то ? Так и не понял. 1. Пусть будет РС (регистр сведений) в котором будет при проведении Док_2 ссылка на Док_1. 2. Делай подписки на события для Док_1 которые смотрят на РС - как вариант. Конфа типовая или вся сам-сам ?
#21
by SeraFim
в ЗУПе - есть документ ЗарплатаКВыплате. на его основании создают ВедомостьВКассу/ВедомостьВБанк. Соответственно, если есть Ведомость, то ЗарплатуКВыплате нельзя менять. Это контролируется: Перед записью запросо получают проведенные ведомости с соответствующим основанием.
#22
by SeraFim
+ то есть напрямую к самим документам |ГДЕ | ВедомостьВБанк.ДокументОснование = &Ссылка | И ВедомостьВБанк.Проведен
#23
by PiotrLoginov
вся-сам Насчет подписок подумаю. РС, в котором только при проведении Док2 создается запись - этого мало. Надо иметь возможность быстро понять, уже использован Документ1 где-то или еще нет. Интересно. Жаль нет возможности пощупать ЗУП Господа, неужели одним лишь РС, правильно организованным, вопросик мой не решить?
#24
by sergeev-ag-1977
- что значит использован Док_1 или нет ? Если на него есть ссылка в документе помеченном на удаление? Какой смысл в этой ссылке ? Это как раз и будет достаточно. Или под быстро понять понимается подключить к 1С медиума ?
#25
by PiotrLoginov
В общем, пока делаю выводы, что поиск Документов2 запросом или с помощью критериев и модификация проведения Документа1 - единственный вариант :( Как-то грустно...
#27
by PiotrLoginov
использован - значит на него ссылается реквизит табличной части Документа2 Если же Документ2 был помечен на удаление, его движения в РС, который я пытаюсь сварганить отменены - это то, что мне надо. да, еще нужен контроль, чтобы было именно так.
#28
by PiotrLoginov
Все-таки использование регистра было идеально: из него можно быстро получить информацию, использован ли уже Документ1 (т.е. во втором Документе2 использовать уже низя, это я как раз реализую кодом форм); если Документ2 откатили/пометили на удаление, запись из РС удалится автоматически; невозможно будет даже внешней обработкой изменить запись РС, не увязав изменение с регистратором...
#29
by sergeev-ag-1977
Хы гы... Вы не думали в Док_1 применить понятие "стадия документа" (подготовлен, утвержден). Может быть такая ситуация: - Док_2 в состоянии новый (делается); - Док_1 в это время распроводится; - Док_2 в это время проводится ... В общем такие шахматные задачки Вам ещё порешать придётся.
#30
by PiotrLoginov
Да вот как раз подумал. Тем более такие фишки как версионирование документов, согласование и статусы сейчас активно используются в типовых конфах. Но это все не то... Всегда можно зайти под Администратором и в крайнем случае подправить, что заблагорассудится обработкой. И кто потом будет искать, какой Документ2 надо перепровести из-за того что кто-то наловчился менять обработками Документы1 задним числом? Хорошо, если есть штатный оператор БД или другой специалист, администрирующий/следящий...
#31
by Serg_1960
Почему никто не вспомнил ЗУП и связанные между собой документы - документ-исправление и исправленный документ?
#32
by PiotrLoginov
Еще вот такая мысль: в типовых некоторые регистры заполняются поэтапно. Т.е. сначала часть ресурсов заполняется одним документом, а потом, позже, при проведении регламентных документов оставшиеся пустыми реквизиты дозаполняются. Мб тут можно что-нибудь придумать?
#34
by be-may
"Надо иметь возможность быстро понять, уже использован Документ1 где-то или еще нет. " А в чем проблема то это быстро понять ? Запрос к РС или попытка получить набор с отбором по измерению Док, в котором Док = Документ1
#35
by Serg_1960
Тс таки не озвучил ни одну типовую конфигурацию, доступ к которой у него есть :( Можно "пощупать" и связь с/ф с документами поступления или реализации.
#36
by PiotrLoginov
так чтобы отправить запрос из получить набор из РС, надо этот РС придумать. И заполнять по мере появления новых документов. Именно это у меня и не получается. Потому и помощи прошу.
#39
by Serg_1960
+ см., например, общий модуль ПроведениеРасчетов, функции ПолучитьДокументИсправление и ПолучитьДокументСторнирование
#40
by Strogg
В документ1 сделать ссылку на Документ2. Заполнять ее при проведении документ2. В модуле проведения документа Документ1 сделать отказ, в случае, если реквизит Документ2 заполнен. Не пойдеть?
#41
by PiotrLoginov
Пока посмотрел, как связаны СФ с доками реализации в УТ. Ну помню я эту процедуру, обращался к ней когда стряпал правила обмена. Там тупо идет поиск среди всех СФ тех, у которых основание - текущая РТиУ. Посмотрел ПолучитьДокументСторнирование в УПП . Все та же басня. А на практике сколько раз я сталкивался с ситуацией, когда нерадивые пользователи строгают по нескольку СФ к одному РТиУ и т.п. Т.е. в Документ1 реквизит-ссылка на Документ2, а в Документ2 реквизит-ссылка на Документ1 ? Ыы-ы..
#42
by PiotrLoginov
Ладно, уважаемые, спасибо конечно, что не прошли мимо, дали ориентиры... Так или иначе, посовещавшись уже четче представляешь ситуацию.
#44
by mistеr
В том же ЗУПе есть регистр СведенияОВыплатахРаботникамОрганизацийПоПлатежнымВедомостям, который обеспечивает ровно то, что ты хочешь. Посмотри, не пожалеешь.
#45
by EugeniaK
В документ2 добавляете ссылку на Документ1. Ничего не больше не нужно в данных! При перепроведении документа1 проверяете, а нет ли случайно Документа2. Если есть, то проведение запретить.
#47
by EugeniaK
Запросом к документам2, что есть проведенный документ со ссылкой на Документ1. Можно поле в Документе2 дополнительно проиндексировать.
#49
by PiotrLoginov
понятно. ладно, перебор всех документов2 уже предлагали. Мб Вы и правы... А почему РС с самого начала обсуждения не в чести у всех высказавшихся форумчан? я ж написал, что не понял, о чем речь. Мож торможу, а мож просто не в курсе
#54
by EugeniaK
В данном случае это логично. Потеря времени за запись дополнительного РС больше, чем разница в скорости запроса по регистру и реквизиту документа.
#55
by Ksandr
Посмотри любую типовую спр. ДоговорыКонтрагентов. Процедура перед записью. Это правильный подход, потому что быстро и без лишних записей и т.д. Речь о КритерииОтбора который здесь очень уместен.
#56
by PiotrLoginov
Между Критерием и подобием СведенияОВыплатахРаботникамОрганизацийПоПлатежнымВедомостям выбрал второе - показалось, это даст возможность в будущем при необходимости наращивать функционал. Регистраторы регистра - как Документ1, так и Документ2. Измерение - Документ1, ресурс - Документ2. В обработке проведения Документа2 перед проведением написал удаление движений от Документ1. Получилось то, что надо: после проведения Документ2 уже никто не сможет перепроводить Документ1 и в тоже время всегда можно получить список Документов1, еще не отраженных в Документах2.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Не могу найти связь с сервером в компьютере пользователя (Sql оключение)
- Что значит флажок "Обязательная связь" в СКД на закладке "Связь наборов дан
- Связь по типу, Связь по владельцу
- Связь наборов данных в СКД. Зачем нужна "Обязательная связь"?
- СКД или запрос связь двух регистров
- Регистр сведений. Справочник или регистр.
В этой группе 1С
- Проблема с программными ключами 1С 8
- Как в тонком клиенте в текстовом поле установить СписокВыбора
- Расчетные листки организаций ЗУП СКД
- Пропадает кнопка Заполнить в управляемых формах
- Переход на ОСНО БП 2.0
- Дублирование документов при универсальном обмене данными
- ЗУП 3.0 Загрузка КЛАДР
- v7: Пин-пад VeriFone VX820 + ТиС 7.7
- Недопустимые символы xml (План обмена) - Как избежать?
- Запрет Печати непроведенного чека ККМ в УТ 11.1
- Массовая печать документов в 3.0
- Help! Не формируются ВР по Дт 20 КТ 25 при расчете себестоимости
- ЗУП 2.5 проводки по взносам по каждому сотруднику
- Вывод остатка в отдельную колонку при выборе товара из Номенклатуры и Склада
- Active document 1C 8.2 и Word
- Настройка интерфейса УТ11.1 платформа 8.3
- v7: Как программно узнать реальную дату создания документа?
- Код УИН в стандартной обработке 1С Предприятие-Клиент Банка
- выбор периода на форме отчета в скд
- как удалить изображения номенклатур