powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / Правка таблиц УРИБ (7.7 оперативный учет + SQL 2000)
8 сообщений из 8, страница 1 из 1
Правка таблиц УРИБ (7.7 оперативный учет + SQL 2000)
    #37365603
JBoy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос следующий. Существует несколько торговых точек, на каждой точке своя ИБ, конфигурации идентичны. Пытаюсь их объединить в УРИБ, в этом тоже проблем нет. Проблема при передаче документов из центральной базы в периферийные - необходима избирательность - документы одного вида, должны попадать только в одну из периферийных баз, в зависимости от реквизита. Понимаю, что перед обменом необходимо как то работать с таблицей 1SUPDTS - удалять ненужные строки. Может быть кто то уже решал подобные вопросы и может что то посоветовать или даже ткнуть какой нибудь ссылкой. Заранее благодарен за советы и помощь
...
Рейтинг: 0 / 0
Правка таблиц УРИБ (7.7 оперативный учет + SQL 2000)
    #37365639
Leierkastenmann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
JBoy,

Да, такими штуками приходилось заниматься. Тут разные могут быть пути, можно удалять лишнее из _1supdts перед выгрузкой, можно поменять процедуру _1sp_RegisterUpdate, которая занимается регистрацией изменений и просто в ней прописать всю необходимую логику. У нас в системе второй вариант работает, единственное неудобство у этого варианта - это то что при обновлении конфигурации процедура возвращается в исходное состояние, но это решаемая проблема.
В обоих случаях все довольно просто, изучаете структуру _1supdts, какое поле что означает и либо для первого варианта пишете удаляющий скрипт, либо для второго корректируете процедуру.
...
Рейтинг: 0 / 0
Правка таблиц УРИБ (7.7 оперативный учет + SQL 2000)
    #37365657
JBoy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leierkastenmann, а можно к примеру посмотреть ваше решение по варианту №2 - с изменением хранимой процедуры - он мне тоже более интересен кажется....сравню со стандартной и напишу свою
...
Рейтинг: 0 / 0
Правка таблиц УРИБ (7.7 оперативный учет + SQL 2000)
    #37365748
Leierkastenmann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
JBoy,

Целиком решение конечно же нельзя увидеть, оно денег стоит :) А фрагмент модификации процедуры - пожалуйста.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
ALTER         PROCEDURE _1sp_RegisterUpdate(@p1 char( 3 ), @p2 int, @p3 char( 9 ), @p4 char( 1 ))

AS

SET NOCOUNT ON


IF @p2 =  5517  AND @p4 != 'D'

	IF NOT EXISTS	(
						SELECT	Sc5517.Id
						FROM	Sc5517
								JOIN
								Sc4604 ON	Sc4604.Sp6608	= @p1
														AND
														Sc5517.Id		= @p3
														AND
														(
															Sc5517.Sp5508 = Sc4604.Id
															OR
															Sc5517.Sp5509 = Sc4604.Id
														)
					)
		RETURN

ELSE IF @p2 =  6329  AND @p4 != 'D'

	IF NOT EXISTS	(
						SELECT	Sc6329.Id
						FROM	Sc6329
								JOIN
								Sc4604 ON	Sc4604.Sp6608	= @p1
														AND
														Sc6329.Id		= @p3
														AND
														Sc6329.Sp6344	= Sc4604.Id
					)
		RETURN


UPDATE _1SUpdts

	SET	Deleted	= @p4,
		DwnldId	= '         '

WHERE	DBSign	= @p1
		AND
		TypeId	= @p2
		AND
		ObjId	= @p3


IF @@ROWCOUNT =  0 
	INSERT INTO _1SUpdts VALUES(@p1, @p2, @p3, @p4, '         ')

Вот для примера простое прерывание регистрации изменений для некоторых элементов справочников, которые не удовлетворяют заданным условиям. По сути есть в указанных справочниках реквизит типа подразделение, у каждого подразделения в справочнике указана база, к которой оно относится и элементы регистрируются не для всех, для каждого свое.
...
Рейтинг: 0 / 0
Правка таблиц УРИБ (7.7 оперативный учет + SQL 2000)
    #37365992
JBoy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leierkastenmann, спасибо, как раз то что требовалось - идея.....переделаю себе по документы )
...
Рейтинг: 0 / 0
Правка таблиц УРИБ (7.7 оперативный учет + SQL 2000)
    #37368797
JBoy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
еще вопрос...насколько я правильно документы отбираю?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
	IF NOT EXISTS	(
						SELECT	_1CJourn.IdDoc
						FROM	_1CJourn
								JOIN
								Dh57 ON	Dh57.IdDoc	= _1CJourn.IdDoc
								JOIN
								Sc48 ON Sc48.Sp485	= @p1	
														AND
														Dh57.IdDoc		= @p3
														AND
														Dh57.Sp49	        = Sc48.Id
					)
		RETURN
у документа есть реквизит "Склад" (sp49) типа справочник.Склады (sc48), у реквизита "Склад" реквизит "ID_SQL" (sp485)- префикс базы в УРИБ
...
Рейтинг: 0 / 0
Правка таблиц УРИБ (7.7 оперативный учет + SQL 2000)
    #37369056
Leierkastenmann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
JBoy,

Ну в целом верно, только зачем неиспользующаяся таблица _1sjourn в запросе?
...
Рейтинг: 0 / 0
Правка таблиц УРИБ (7.7 оперативный учет + SQL 2000)
    #37369073
JBoy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leierkastenmann, подумалось получше и исправил на
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
ELSE IF @p2 =  57  AND @p4 != 'D'
	IF NOT EXISTS	(
			SELECT	Dh57.IdDoc
			FROM	Dh57
					JOIN
					Sc48 ON Sc48.Sp485	= @p1	
							AND
							Dh57.IdDoc	= @p3
							AND
							Dh57.Sp49	= Sc48.Id
			)
	RETURN
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Правка таблиц УРИБ (7.7 оперативный учет + SQL 2000)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]