|
v7: Подмена IDDOC при проведени документа | ☑ | ||
---|---|---|---|---|
0
Innuil
12.03.12
✎
15:55
|
Используем ms sql 2000 и 1с 7.7 27 релиз.
С некоторых пор начала доставать следующая проблема: сотрудник как обычно вводит документ, проводит. Потом оказывается, что движения, которые должен был сделать этот документ, есть, но они принадлежат другому документу. Подскажите как с этим можно бороться? |
|||
1
Ёпрст
12.03.12
✎
15:59
|
как узнал/проверил ?
|
|||
2
FN
12.03.12
✎
16:05
|
(0) было похожее при использовании конструкции "вложенного проведения", т.е. в модуле проведения открывается форма другого документа с параметром "Провести"
|
|||
3
ЧеловекДуши
12.03.12
✎
16:13
|
Ну, давай рассказывай, куда ходил, где был, с кем?
Пиши боле подробно про нетрадиционное использование 1С, там ВК, проведение во время проведения, прямые запросы и т.д. :) |
|||
4
ЧеловекДуши
12.03.12
✎
16:14
|
+ как вариант провести Переиндексацию и ТиИ, но оно вам не поможет, но вдруг... :)
|
|||
5
Innuil
12.03.12
✎
16:23
|
(1)Узнал от пользователей. Запросом в Enterprise manager к таблице движений с фильтром по коду товару и коду склада.
(2)Других проводок нету. Только реквизиты проводимого меняются и записывается справочник. Но ещё посмотрю. (3)ВК и прямые запросы при проведении пока не использую, но буду 1спп (адресное хранение, партионный учёт, сроки годности). Хотя может если косвенно влияют, то используются rainbow, 1c++, openconf. Хотя трабла началась до использования 1c++ и openconf (4) :) Может то, что используется ВайФай роль играет? |
|||
6
FN
12.03.12
✎
17:26
|
(5) я у себя решаю такую проблему очень просто:
1. Перепроводка документов ночью - при этом движения выравниваются у однотипных документов. 2. Периодическая проверка левых движений, которые не исправляются перепроведением: Для х=1 по Метаданные.Регистр() Цикл ТЗ = RS.ВыполнитьИнструкцию( " |Select | Жур.IDDoc as [Док $Документ], | Жур.IDDocDef as Док_вид |FROM | _1Sjourn as Жур (nolock) |Where (Жур.IDDoc in (Select IDDoc FROM $Регистр."+Метаданные.Регистр(х).Идентификатор+" (nolock))) AND | (Жур.$ФлагРегистра."+Метаданные.Регистр(х).Идентификатор+" & 1<>1); |"); ТЗ.ВыбратьСТроки(); Пока ТЗ.ПолучитьСтроку()=1 Цикл ТЗНАФОРМЕ.НоваяСтрока(); ТЗНАФОРМЕ.Регистр = Метаданные.Регистр(х).Идентификатор; ТЗНАФОРМЕ.Документ = ТЗ.Док; ТЗНАФОРМЕ.ТипОшибки = "Левые движения документа"; КонецЦикла; Ну и чистка "левых движений": RS = СоздатьОбъект("ODBCRecordset"); RS.УстановитьТекстовыйПараметр("ВыбДок",ТЗНАФОРМЕ.Документ); ТЗ = RS.ВыполнитьИнструкцию( " |Delete FROM | $Регистр."+ТЗНАФОРМЕ.Регистр+" |WHERE | iddoc = :ВыбДок;"); ЗЫ Моя тема по этой же проблеме SQL: Появляются неправильные движения у документов |
|||
7
Innuil
13.03.12
✎
09:33
|
(6)Благодарю за "напильник" :)
|
|||
8
Mikeware
13.03.12
✎
10:31
|
(7) хреноватый напильник.
|
|||
9
Злой Бобр
13.03.12
✎
10:41
|
(0) Сделайте реиндексацию и перепроведите. Если будет появлятся снова - смотрите модуль проведения, в частности если движения делаются в глобальнике - что туда в виде параметра (контекста) передается.
|
|||
10
FN
13.03.12
✎
13:29
|
(8) Покритикуй предметно плз
|
|||
11
zavsom
13.03.12
✎
13:35
|
я бы не рискнул так вот по одной двум табличкам лазить в базе - че то в душе подсказывает, что это бяка...так поступать.
|
|||
12
zavsom
13.03.12
✎
13:36
|
можешь тупо не учесть всех ньюансов и хана базе придет...когда нибудь.
|
|||
13
Mikeware
13.03.12
✎
13:42
|
(11) тебе никто и не предлагает - у тебя руки кривые.
|
|||
14
Mikeware
13.03.12
✎
13:45
|
(10) ну, как минимум нет пересчета регистра после удаления (не говоря о том, что удалять лучше через выполнитьСкалярный).
как максимум - не нравится мне такой запрос поиска. Для разовой задачи проканает, а регулярно запускать.... |
|||
15
FN
13.03.12
✎
13:59
|
(14) ну пересчет я делаю с помощью Установка_ТА.ert. Про Скалярный понял - учту.
Если будут уточнения к запросу по поиску - буду благодарен. |
|||
16
Z1
13.03.12
✎
15:08
|
(5) 1.Вот твоя причина
>>>Только реквизиты проводимого меняются и записывается справочник. код в студию как именно записываются ну и попутно вопрос зачем Если отказаться нельзя от этого справочника надо переписывать и писать в справочник в методе ПриЗакрытии() 2.Есть ли в модуле проведения Начать Транзакцию ОтменитьТранзакцию 3. Есть ли УРБД 4.Есть ли в модуле проведения проведение другого документа через открытьФорму. Также можете проверить базу моей обработкой "Поиск ошибок в регистрах 7.7 " ( она ифостарте или 1спп) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |