|
|
|
Ошибка СУБД. | ☑ | ||
|---|---|---|---|---|
|
0
andrejip
26.11.10
✎
15:49
|
Добрый вечер всем!
1С УПП 8.2 (8.2.12.87) ред. 1.3 (1.3.6.1). Крутится на PostgreSQL Когда делаю реализациюТоваровИУслуг и в колонке СпособСписания указываю ИЗ РЕЗЕРВА, вылетает ошибка: http://narod.ru/disk/375673001/снимок1.png.html и 1С-ка вылетает. Подскажите как исправить ошибку и в чем дело. |
|||
|
1
andrejip
26.11.10
✎
15:51
|
уточнение: указываю ИЗ РЕЗЕРВА, нажимаю ОК (записать и провести) и тогда вылетает ошибка.
|
|||
|
2
Живой Ископаемый
26.11.10
✎
15:51
|
а если например скажут, что для того чтобы исправить ошибку, нужно сменить сервер БД... сделаешь?
|
|||
|
3
andrejip
26.11.10
✎
15:53
|
Текст ошибки кто не может просмотреть скрин:
Ошибка СУБД ERROR: each UNION query must have the same number of columns at character 4478 |
|||
|
4
andrejip
26.11.10
✎
15:54
|
(2) Что значит сменить? :) В переставить :)
Подскажи если знаешь\считаешь из-за чего может быть ошибка,, и как исправить. |
|||
|
5
andrejip
26.11.10
✎
15:58
|
(2) :) вопрос не в том смогу или не смогу. вопрос я написал.
|
|||
|
6
andrejip
26.11.10
✎
15:58
|
up\
|
|||
|
7
Живой Ископаемый
26.11.10
✎
15:59
|
2(4) Сменить - это значит воспользоваться любым другим из еще 3-х возможных...
Например МС СКЛ, ДБ2, Оракл... ошибка из-за того что движек транслирует 1Совский запрос в СКЛ-запрос такой, который Постгрес считает некорректным. Выходов как обычно три - скорректировать запрос(сделав его нетиповым), попробовав и выбрав другой сервер, если совсем клевый дядька - то уже почесать сам постгрес, вдруг как-то можно сделать чтобы он считал этот запрос годным |
|||
|
8
Живой Ископаемый
26.11.10
✎
16:00
|
2(5) вопрос ты не написал - в тексте нет ни одного вопросительного знака.. стало быть что именно считать вопросом читатели твоего поста могут сами.
Я интерпретирую вопрос так, что нужно проблему решить, то есть реализацию провести сейчас и в дальнейшем |
|||
|
9
andrejip
26.11.10
✎
16:01
|
(7) неплохо ответил. Буду пробовать.
У кого ещё если мысли пишите. Как исправлю напишу как. |
|||
|
10
andrejip
26.11.10
✎
16:02
|
(8) ? ок.
|
|||
|
11
Живой Ископаемый
26.11.10
✎
16:04
|
Если интересует как именно получить текст запроса который Постгрес посчитал негодным,могу подсказать что нужно настроить Технологический Журнал
|
|||
|
12
andrejip
26.11.10
✎
16:08
|
:) СП.
|
|||
|
13
Живой Ископаемый
26.11.10
✎
16:10
|
||||
|
14
andrejip
26.11.10
✎
16:19
|
(13) :) ещё СП.
|
|||
|
15
andrejip
29.11.10
✎
09:36
|
//в продолжении темы.
Лог полученного файла: 19:56.2210-0,EXCP,5,process=rphost,p:processName=test,t:clientID=111,t:applicationName=1CV8,t:computerName=ois2,t:connectID=88,SessionID=70,Usr=Калошин А.Г.,Exception=DataBaseException,Descr='Ошибка СУБД: ERROR: each UNION query must have the same number of columns at character 4526 ',Context=' ОбщийМодуль.ПроцедурыКонтроляОстатков.Модуль : 4235 : ТоварыВРезервеНаСкладахКонтрольОстатков_Реализация(СтруктураШапкиДокумента, СтруктураПараметров, Заголовок, Отказ); ОбщийМодуль.ПроцедурыКонтроляОстатков.Модуль : 4599 : РезультатЗапроса = Запрос.Выполнить();' 19:56.2211-0,EXCPCNTX,0,ClientComputerName=ois2,ServerComputerName=serv_1c,UserName=Калошин А.Г.,ConnectString='Srvr="serv_1c";Ref="test";' 19:56.2212-97,EXCPCNTX,4,SrcName=DBPOSTGRS,OSThread=-471500528,process=rphost,p:processName=test,t:clientID=111,t:applicationName=1CV8,t:computerName=ois2,t:connectID=88,SessionID=70,Usr=Калошин А.Г.,Trans=1,dbpid=13446,Sql="SELECT T1.Q_001_F_001RRef, T14._IDRRef, T14._Description, T15._IDRRef, T15._Description, T1.Q_001_F_004RRef, T1.Q_001_F_004RRef, T16._Description, '\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000'::bytea, '\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000'::bytea, T17._Description, T1.Q_001_F_007RRef, T1.Q_001_F_002RRef, SUM(CAST((CAST(CAST((T1.Q_001_F_009_ * T1.Q_001_F_006_) AS NUMERIC(38, 8)) / T15._Fld1656 AS NUMERIC(38, 8))) AS NUMERIC(15, 3))), COALESCE(CAST(MAX(T8.Fld21406Balance_) AS NUMERIC(27, 3)),0) FROM (SELECT T2._Document481_IDRRef AS Q_001_F_000RRef, T2._Fld13110RRef AS Q_001_F_001RRef, T2._Fld13120RRef AS Q_001_F_002RRef, T2._Fld13121RRef AS Q_001_F_003RRef, T2._Fld13134RRef AS Q_001_F_004RRef, T2._Fld13119RRef AS Q_001_F_005RRef, T2._Fld13109 AS Q_001_F_006_, T2._Fld13136RRef AS Q_001_F_007RRef, T2._Fld13103RRef AS Q_001_F_008RRef, CAST(T2._Fld13107 AS NUMERIC(30, 6)) AS Q_001_F_009_ FROM _Document481_VT13101 T2 LEFT OUTER JOIN _Reference126 T3 ON T2._Fld13110RRef = T3._IDRRef WHERE (T2._Document481_IDRRef = ':\\237H[9H\\302\\215\\021\\337\\373\\200\\256\\356\\260\\302'::bytea) AND (T3._Fld2122 = FALSE) AND (T2._Fld13121RRef = '\\272\\203\\025\\316gs\\007JC\\334\\3130BL\\3315'::bytea) UNION ALL SELECT T4.Q_002_F_000RRef AS Q_002_F_000RRef, T4.Q_002_F_001RRef AS Q_002_F_001RRef, T4.Q_002_F_002RRef AS Q_002_F_002RRef, T4.Q_002_F_003RRef AS Q_002_F_003RRef, T4.Q_002_F_004RRef AS Q_002_F_004RRef, T4.Q_002_F_005RRef AS Q_002_F_005RRef, T4.Q_002_F_006_ AS Q_002_F_006_, T4.Q_002_F_007RRef AS Q_002_F_007RRef, T4.Q_002_F_008RRef AS Q_002_F_008RRef, T4.Q_002_F_009_ AS Q_002_F_009_ FROM (SELECT T5._Document481_IDRRef AS Q_002_F_000RRef, T5._Fld13182RRef AS Q_002_F_001RRef, CASE WHEN (T5._Fld13187RRef = '\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000'::bytea) THEN T6._Fld13120RRef ELSE T5._Fld13187RRef END AS Q_002_F_002RRef, CASE WHEN (T5._Fld13189RRef = '\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000'::bytea) THEN T6._Fld13121RRef ELSE T5._Fld13189RRef END AS Q_002_F_003RRef, T5._Fld13183RRef AS Q_002_F_004RRef, T5._Fld13184RRef AS Q_002_F_005RRef, T7._Fld1656 AS Q_002_F_006_, T6._Fld13136RRef AS Q_002_F_007RRef, T6._Fld13103RRef AS Q_002_F_008RRef, (T5._Fld13185 * T6._Fld13107) AS Q_002_F_009_ FROM _Document481_VT13180 T5 LEFT OUTER JOIN _Document481_VT13101 T6 ON ((T6._Fld13138 = T5._Fld13190) AND (T6._Document481_IDRRef = ':\\237H[9H\\302\\215\\021\\337\\373\\200\\256\\356\\260\\302'::bytea)) LEFT OUTER JOIN _Reference78 T7 ON T5._Fld13186RRef = T7._IDRRef WHERE (T5._Document481_IDRRef = ':\\237H[9H\\302\\215\\021\\337\\373\\200\\256\\356\\260\\302'::bytea)) T4 WHERE (T4.Q_002_F_003RRef = '\\272\\203\\025\\316gs\\007JC\\334\\3130BL\\3315'::bytea)) T1 LEFT OUTER JOIN (SELECT T9._Fld21401RRef AS Fld21401RRef, T9._Fld21402RRef AS Fld21402RRef, T9._Fld21403RRef AS Fld21403RRef, T9._Fld21404_TYPE AS Fld21404_TYPE, T9._Fld21404_RTRef AS Fld21404_RTRef, T9._Fld21404_RRRef AS Fld21404_RRRef, T9._Fld21405RRef AS Fld21405RRef, SUM(T9._Fld21406) AS Fld21406Balance_ FROM _AccumRgT21409 T9 WHERE T9._Period = '3999-11-01 00:00:00'::timestamp AND (((T9._Fld21403RRef = '\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000'::bytea) AND (T9._Fld21402RRef, T9._Fld21401RRef, CASE WHEN T9._Fld21404_TYPE IN ('\\001'::bytea, '\\010'::bytea) THEN T9._Fld21404_TYPE END, CASE WHEN T9._Fld21404_TYPE = '\\010'::bytea THEN T9._Fld21404_RTRef WHEN T9._Fld21404_TYPE IN ('\\001'::bytea) THEN '\\000\\000\\000\\000'::bytea END, CASE WHEN T9._Fld21404_TYPE = '\\010'::bytea THEN T9._Fld21404_RRRef WHEN T9._Fld21404_TYPE IN ('\\001'::bytea, '\\010'::bytea) THEN '\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000'::bytea END) IN (SELECT T10._Fld13110RRef AS Q_004_F_000RRef, T10._Fld13120RRef AS Q_004_F_001RRef, '\\010'::bytea AS Q_004_F_002_TYPE, '\\000\\000\\001/'::bytea AS Q_004_F_002_RTRef, T10._Fld13136RRef AS Q_004_F_002_RRRef FROM _Document481_VT13101 T10 LEFT OUTER JOIN _Reference126 T11 ON T10._Fld13110RRef = T11._IDRRef WHERE (T10._Document481_IDRRef = ':\\237H[9H\\302\\215\\021\\337\\373\\200\\256\\356\\260\\302'::bytea) AND (T11._Fld2122 = FALSE) AND (T10._Fld13121RRef = '\\272\\203\\025\\316gs\\007JC\\334\\3130BL\\3315'::bytea) AND (NOT (((T10._Fld13136RRef IN ('\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000'::bytea))))) UNION ALL SELECT T12._Fld13182RRef AS Fld13182RRef, CASE WHEN (T12._Fld13187RRef = '\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000'::bytea) THEN T13._Fld13120RRef ELSE T12._Fld13187RRef END, T13._Fld13136RRef AS Fld13136RRef FROM _Document481_VT13180 T12 LEFT OUTER JOIN _Document481_VT13101 T13 ON ((T13._Fld13138 = T12._Fld13190) AND (T13._Document481_IDRRef = ':\\237H[9H\\302\\215\\021\\337\\373\\200\\256\\356\\260\\302'::bytea)) WHERE (T12._Document481_IDRRef = ':\\237H[9H\\302\\215\\021\\337\\373\\200\\256\\356\\260\\302'::bytea)))) GROUP BY T9._Fld21401RRef, T9._Fld21402RRef, T9._Fld21403RRef, T9._Fld21404_TYPE, T9._Fld21404_RTRef, T9._Fld21404_RRRef, T9._Fld21405RRef HAVING (SUM(T9._Fld21406)) <> 0) T8 ON (((((T8.Fld21401RRef = T1.Q_001_F_002RRef) AND (T8.Fld21402RRef = T1.Q_001_F_001RRef)) AND (T8.Fld21404_TYPE = CASE WHEN T1.Q_001_F_007RRef IS NOT NULL THEN '\\010'::bytea END AND T8.Fld21404_RTRef = CASE WHEN T1.Q_001_F_007RRef IS NOT NULL THEN '\\000\\000\\001/'::bytea END AND T8.Fld21404_RRRef = T1.Q_001_F_007RRef)) AND (T8.Fld21403RRef = '\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000'::bytea)) AND (T8.Fld21405RRef = '\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000'::bytea)) LEFT OUTER JOIN _Reference126 T14 ON T1.Q_001_F_001RRef = T14._IDRRef LEFT OUTER JOIN _Reference78 T15 ON T14._Fld2104RRef = T15._IDRRef LEFT OUTER JOIN _Reference235 T16 ON T1.Q_001_F_004RRef = T16._IDRRef LEFT OUTER JOIN _Reference179 T17 ON '\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000'::bytea = T17._IDRRef WHERE (T14._Fld2122 = FALSE) AND (T1.Q_001_F_000RRef = ':\\237H[9H\\302\\215\\021\\337\\373\\200\\256\\356\\260\\302'::bytea) AND (T1.Q_001_F_003RRef = '\\272\\203\\025\\316gs\\007JC\\334\\3130BL\\3315'::bytea) AND (NOT (((T1.Q_001_F_007RRef IN ('\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000'::bytea))))) GROUP BY T1.Q_001_F_001RRef, T1.Q_001_F_004RRef, T1.Q_001_F_007RRef, T1.Q_001_F_002RRef, T14._IDRRef, T14._Description, T15._IDRRef, T15._Description, T1.Q_001_F_004RRef, T16._Description, T17._Description HAVING (COALESCE(CAST(MAX(T8.Fld21406Balance_) AS NUMERIC(27, 3)),0) < SUM(CAST((CAST(CAST((T1.Q_001_F_009_ * T1.Q_001_F_006_) AS NUMERIC(38, 8)) / T15._Fld1656 AS NUMERIC(38, 8))) AS NUMERIC(15, 3))))",Result=PGRES_FATAL_ERROR,dbpid=13446,Sql=ROLLBACK,Result=PGRES_COMMAND_OK 19:56.2213-99,EXCPCNTX,3,SrcName=SDBL,OSThread=-471500528,process=rphost,p:processName=test,t:clientID=111,t:applicationName=1CV8,t:computerName=ois2,t:connectID=88,SessionID=70,Usr=Калошин А.Г.,Trans=1,Sdbl='SELECT Q_000_T_001.Q_001_F_001, CAST(Q_000_T_001.Q_001_F_001 AS REF(Reference126)).ID, CAST(Q_000_T_001.Q_001_F_001 AS REF(Reference126)).Description, CAST(CAST(Q_000_T_001.Q_001_F_001 AS REF(Reference126)).Fld2104 AS REF(Reference78)).ID, CAST(CAST(Q_000_T_001.Q_001_F_001 AS REF(Reference126)).Fld2104 AS REF(Reference78)).Description, Q_000_T_001.Q_001_F_004, CAST(Q_000_T_001.Q_001_F_004 AS REF(Reference235)), CAST(CAST(Q_000_T_001.Q_001_F_004 AS REF(Reference235)) AS REF(Reference235)).Description, 179:00000000000000000000000000000000, CAST(179:00000000000000000000000000000000 AS REF(Reference179)), CAST(CAST(179:00000000000000000000000000000000 AS REF(Reference179)) AS REF(Reference179)).Description, Q_000_T_001.Q_001_F_007, Q_000_T_001.Q_001_F_002, SUM(CAST(((Q_000_T_001.Q_001_F_009 * Q_000_T_001.Q_001_F_006) / CAST(CAST(Q_000_T_001.Q_001_F_001 AS REF(Reference126)).Fld2104 AS REF(Reference78)).Fld1656) AS NUMERIC(15, 3))), ISNULL(MAX(Q_000_T_002.Fld21406Balance), 0) FROM (SELECT Q_001_T_001.ID Q_001_F_000, Q_001_T_001.Fld13110 Q_001_F_001, Q_001_T_001.Fld13120 Q_001_F_002, Q_001_T_001.Fld13121 Q_001_F_003, Q_001_T_001.Fld13134 Q_001_F_004, Q_001_T_001.Fld13119 Q_001_F_005, Q_001_T_001.Fld13109 Q_001_F_006, Q_001_T_001.Fld13136 Q_001_F_007, Q_001_T_001.Fld13103 Q_001_F_008, Q_001_T_001.Fld13107 Q_001_F_009 FROM Document481.VT13101 Q_001_T_001 WHERE (Q_001_T_001.ID = 481:3a9f485b3948c28d11dffb80aeeeb0c2) AND (NOT(CAST(Q_001_T_001.Fld13110 AS REF(Reference126)).Fld2122)) AND (Q_001_T_001.Fld13121 = 932:ba8315ce6773074a43dccb30424cd935) UNION ALL SELECT Q_003_T_001.Q_002_F_000, Q_003_T_001.Q_002_F_001, Q_003_T_001.Q_002_F_002, Q_003_T_001.Q_002_F_003, Q_003_T_001.Q_002_F_004, Q_003_T_001.Q_002_F_005, Q_003_T_001.Q_002_F_006, Q_003_T_001.Q_002_F_007, Q_003_T_001.Q_002_F_008, Q_003_T_001.Q_002_F_009 FROM (SELECT Q_002_T_001.ID Q_002_F_000, Q_002_T_001.Fld13182 Q_002_F_001, CASE WHEN (Q_002_T_001.Fld13187 = 181:00000000000000000000000000000000) THEN Q_002_T_002.Fld13120 ELSE Q_002_T_001.Fld13187 END Q_002_F_002, CASE WHEN (Q_002_T_001.Fld13189 = 932:00000000000000000000000000000000) THEN Q_002_T_002.Fld13121 ELSE Q_002_T_001.Fld13189 END Q_002_F_003, Q_002_T_001.Fld13183 Q_002_F_004, Q_002_T_001.Fld13184 Q_002_F_005, CAST(Q_002_T_001.Fld13186 AS REF(Reference78)).Fld1656 Q_002_F_006, Q_002_T_002.Fld13136 Q_002_F_007, Q_002_T_002.Fld13103 Q_002_F_008, (Q_002_T_001.Fld13185 * Q_002_T_002.Fld13107) Q_002_F_009 FROM Document481.VT13180 Q_002_T_001 LEFT JOIN Document481.VT13101 Q_002_T_002 ON ((Q_002_T_002.Fld13138 = Q_002_T_001.Fld13190) AND (Q_002_T_002.ID = 481:3a9f485b3948c28d11dffb80aeeeb0c2)) WHERE (Q_002_T_001.ID = 481:3a9f485b3948c28d11dffb80aeeeb0c2) ) Q_003_T_001 WHERE (Q_003_T_001.Q_002_F_003 = 932:ba8315ce6773074a43dccb30424cd935) ) Q_000_T_001 LEFT JOIN (SELECT Fld21401, Fld21402, Fld21403, Fld21404, Fld21405, SUM(Fld21406) AS Fld21406Balance FROM AccumRgT21409 WHERE Period = DATETIME(3999,11,1) AND (((Fld21403 = 235:00000000000000000000000000000000) AND (Fld21402, Fld21401, Fld21404) IN (SELECT Q_004_T_001.Fld13110 Q_004_F_000, Q_004_T_001.Fld13120 Q_004_F_001, Q_004_T_001.Fld13136 Q_004_F_002 FROM Document481.VT13101 Q_004_T_001 WHERE (Q_004_T_001.ID = 481:3a9f485b3948c28d11dffb80aeeeb0c2) AND (NOT(CAST(Q_004_T_001.Fld13110 AS REF(Reference126)).Fld2122)) AND (Q_004_T_001.Fld13121 = 932:ba8315ce6773074a43dccb30424cd935) AND (NOT(Q_004_T_001.Fld13136 IN (UNDEFINED, 303:00000000000000000000000000000000))) UNION ALL SELECT Q_005_T_001.Fld13182, CASE WHEN (Q_005_T_001.Fld13187 = 181:00000000000000000000000000000000) THEN Q_005_T_002.Fld13120 ELSE Q_005_T_001.Fld13187 END , Q_005_T_002.Fld13136 FROM Document481.VT13180 Q_005_T_001 LEFT JOIN Document481.VT13101 Q_005_T_002 ON ((Q_005_T_002.Fld13138 = Q_005_T_001.Fld13190) AND (Q_005_T_002.ID = 481:3a9f485b3948c28d11dffb80aeeeb0c2)) WHERE (Q_005_T_001.ID = 481:3a9f485b3948c28d11dffb80aeeeb0c2) ))) GROUP BY Fld21401, Fld21402, Fld21403, Fld21404, Fld21405 HAVING Fld21406Balance <> 0 FOR UPDATE) Q_000_T_002 ON (((((Q_000_T_002.Fld21401 = Q_000_T_001.Q_001_F_002) AND (Q_000_T_002.Fld21402 = Q_000_T_001.Q_001_F_001)) AND (Q_000_T_002.Fld21404 = Q_000_T_001.Q_001_F_007)) AND (Q_000_T_002.Fld21403 = 235:00000000000000000000000000000000)) AND (Q_000_T_002.Fld21405 = 179:00000000000000000000000000000000)) WHERE (NOT(CAST(Q_000_T_001.Q_001_F_001 AS REF(Reference126)).Fld2122)) AND (Q_000_T_001.Q_001_F_000 = 481:3a9f485b3948c28d11dffb80aeeeb0c2) AND (Q_000_T_001.Q_001_F_003 = 932:ba8315ce6773074a43dccb30424cd935) AND (NOT(Q_000_T_001.Q_001_F_007 IN (UNDEFINED, 303:00000000000000000000000000000000))) GROUP BY Q_000_T_001.Q_001_F_001, Q_000_T_001.Q_001_F_004, 179:00000000000000000000000000000000, Q_000_T_001.Q_001_F_007, Q_000_T_001.Q_001_F_002, CAST(Q_000_T_001.Q_001_F_001 AS REF(Reference126)).ID, CAST(Q_000_T_001.Q_001_F_001 AS REF(Reference126)).Description, CAST(CAST(Q_000_T_001.Q_001_F_001 AS REF(Reference126)).Fld2104 AS REF(Reference78)).ID, CAST(CAST(Q_000_T_001.Q_001_F_001 AS REF(Reference126)).Fld2104 AS REF(Reference78)).Description, CAST(Q_000_T_001.Q_001_F_004 AS REF(Reference235)), CAST(CAST(Q_000_T_001.Q_001_F_004 AS REF(Reference235)) AS REF(Reference235)).Description, CAST(179:00000000000000000000000000000000 AS REF(Reference179)), CAST(CAST(179:00000000000000000000000000000000 AS REF(Reference179)) AS REF(Reference179)).Description HAVING (ISNULL(MAX(Q_000_T_002.Fld21406Balance), 0) < SUM(CAST(((Q_000_T_001.Q_001_F_009 * Q_000_T_001.Q_001_F_006) / CAST(CAST(Q_000_T_001.Q_001_F_001 AS REF(Reference126)).Fld2104 AS REF(Reference78)).Fld1656) AS NUMERIC(15, 3)))) ' 19:56.2214-259,EXCPCNTX,2,SrcName=CALL,OSThread=-471500528,process=rphost,p:processName=test,t:clientID=111,t:applicationName=1CV8,t:computerName=ois2,t:connectID=88,SessionID=70,Usr=Калошин А.Г. 19:56.2215-9103,EXCPCNTX,2,SrcName=SDBL,OSThread=-471500528,process=rphost,p:processName=test,t:clientID=111,t:applicationName=1CV8,t:computerName=ois2,t:connectID=88,SessionID=70,Usr=Калошин А.Г.,Trans=0,Func=Transaction 19:56.2216-9105,EXCPCNTX,1,SrcName=SDBL,OSThread=-471500528,process=rphost,p:processName=test,t:clientID=111,t:applicationName=1CV8,t:computerName=ois2,t:connectID=88,SessionID=70,Usr=Калошин А.Г.,Trans=0,Func=HoldConnection 19:56.2311-0,Context,2,process=rphost,p:processName=test,t:clientID=111,t:applicationName=1CV8,t:computerName=ois2,t:connectID=88,SessionID=70,Usr=Калошин А.Г.,Context=' {Документ.РеализацияТоваровУслуг.Форма.ФормаДокумента}/{КоманднаяПанель : ОсновныеДействияФормы}/{ОК} Документ.РеализацияТоваровУслуг.МодульОбъекта : 5119 : ДвиженияПоРегистрам(РежимПроведения, СтруктураШапкиДокумента, ТаблицаПоТоварам, ТаблицаПоСкидкам, ТаблицаПоТаре, Документ.РеализацияТоваровУслуг.МодульОбъекта : 3362 : ДвиженияПоРегистрамУпр(РежимПроведения, СтруктураШапкиДокумента, Документ.РеализацияТоваровУслуг.МодульОбъекта : 3719 : ПроцедурыКонтроляОстатков.ТоварыВРезервеНаСкладахКонтрольОстатков("Товары", СтруктураШапкиДокумента, Отказ, Заголовок, РежимПроведения);' 21:21.5550-0,EXCP,0,process=rphost,Exception=LoadComponent(sqlsrvr),Descr=Error loading component sqlsrvr 23:33.0720-0,EXCP,0,process=rphost,Exception=LoadComponent(sqlsrvr),Descr=Error loading component sqlsrvr 23:33.5320-0,EXCP,0,process=rphost,Exception=LoadComponent(sqlsrvr),Descr=Error loading component sqlsrvr 23:33.9820-0,EXCP,0,process=rphost,Exception=LoadComponent(sqlsrvr),Descr=Error loading component sqlsrvr 25:58.5890-0,EXCP,0,process=rphost,Exception=LoadComponent(sqlsrvr),Descr=Error loading component sqlsrvr 25:59.0490-0,EXCP,0,process=rphost,Exception=LoadComponent(sqlsrvr),Descr=Error loading component sqlsrvr |
|||
|
16
andrejip
29.11.10
✎
09:37
|
Вопрос: можно ли (как) не меняя БД к-либо исправить ошибку, кто подсобит мнением?
|
|||
|
17
andrejip
29.11.10
✎
09:43
|
up
|
|||
|
18
andrejip
29.11.10
✎
10:13
|
ап
|
|||
|
19
andrejip
29.11.10
✎
10:18
|
е
|
|||
|
20
73
29.11.10
✎
10:19
|
Для полноты картинки:
версия PostgreSQL ? патчена? |
|||
|
21
diger
29.11.10
✎
10:19
|
Если сервер 1с на Линуксе крутится, то попробовать связку
сервер 1с на винде, а постгрес на линуксе оставить... |
|||
|
22
andrejip
29.11.10
✎
11:00
|
секунду..
|
|||
|
23
andrejip
29.11.10
✎
11:03
|
(20) патчена последняя версия..
|
|||
|
24
Живой Ископаемый
29.11.10
✎
11:08
|
А как выглядит 1С-овский запрос?
|
|||
|
25
andrejip
29.11.10
✎
11:17
|
(20) 8.4.1 еще есть 8.4.3.. попробую поставить
|
|||
|
26
73
29.11.10
✎
11:18
|
(25) Обычно помогает установка дистрибутива и патчей именно от 1С...
|
|||
|
27
andrejip
29.11.10
✎
11:21
|
(24) ОбщиеМодули.ПроцедурыКонтроляОстатков.ТоварыНаСкладахКонтрольОстатков.
|
|||
|
28
andrejip
29.11.10
✎
11:21
|
Процедура ТоварыНаСкладахКонтрольОстатков(ИмяТабличнойЧасти, СтруктураШапкиДокумента, ОтказПроведения, ЗаголовокСообщения, РежимПроведения) Экспорт
Если РежимПроведения <> РежимПроведенияДокумента.Оперативный Тогда Возврат; КонецЕсли; Если УправлениеДопПравамиПользователей.РазрешеноПревышениеОстаткаТоваровНаСкладе() Тогда Возврат; КонецЕсли; Если глЗначениеПеременной("ИспользоватьРегистрСвободныеОстатки") Тогда СвободныеОстаткиКонтрольОстатков(ИмяТабличнойЧасти, СтруктураШапкиДокумента, ОтказПроведения, ЗаголовокСообщения); Возврат; КонецЕсли; ИспользоватьУказаниеСерийНоменклатурыПриРезервировании = Ложь; Если НЕ СтруктураШапкиДокумента.Свойство("ИспользоватьУказаниеСерийНоменклатурыПриРезервировании", ИспользоватьУказаниеСерийНоменклатурыПриРезервировании) Тогда ИспользоватьУказаниеСерийНоменклатурыПриРезервировании = глЗначениеПеременной("ИспользоватьУказаниеСерийНоменклатурыПриРезервировании"); КонецЕсли; ИспользоватьХарактеристикиНоменклатуры = глЗначениеПеременной("ИспользоватьХарактеристикиНоменклатуры"); ИспользоватьСерииНоменклатуры = глЗначениеПеременной("ИспользоватьСерииНоменклатуры"); Отказ = ОтказПроведения; Заголовок = ЗаголовокСообщения; МетаданныеДокумента = СтруктураШапкиДокумента.Ссылка.Метаданные(); ИмяДокумента = МетаданныеДокумента.Имя; ИмяТаблицы = ИмяДокумента + "." + СокрЛП(ИмяТабличнойЧасти); Если ИмяТабличнойЧасти <> "" Тогда МетаданныеТабЧасти = МетаданныеДокумента.ТабличныеЧасти[ИмяТабличнойЧасти]; КонецЕсли; СтруктураПараметров = Новый Структура; СтруктураПараметров.Вставить("МетаданныеДокумента", МетаданныеДокумента); СтруктураПараметров.Вставить("ИмяДокумента", ИмяДокумента); СтруктураПараметров.Вставить("ИмяТабличнойЧасти", ИмяТабличнойЧасти); СтруктураПараметров.Вставить("ИмяТаблицы", ИмяТаблицы); СтруктураПараметров.Вставить("ИспользоватьУказаниеСерийНоменклатурыПриРезервировании", ИспользоватьУказаниеСерийНоменклатурыПриРезервировании); СтруктураПараметров.Вставить("ИспользоватьХарактеристикиНоменклатуры", ИспользоватьХарактеристикиНоменклатуры); СтруктураПараметров.Вставить("ИспользоватьСерииНоменклатуры", ИспользоватьСерииНоменклатуры); СтруктураПараметров.Вставить("РегистрОстаткиТоваров", "ТоварыНаСкладах"); Если СтруктураПараметров.ИмяДокумента = "ПеремещениеТоваров" Тогда ТоварыНаСкладахКонтрольОстатков_ПеремещениеТоваров(СтруктураШапкиДокумента, СтруктураПараметров, МетаданныеТабЧасти, Заголовок, Отказ); ИначеЕсли СтруктураПараметров.ИмяДокумента = "РеализацияТоваровУслуг" Тогда Если СтруктураПараметров.ИмяТабличнойЧасти = "ВозвратнаяТара" Тогда ТоварыНаСкладахКонтрольОстатков_ЗаказВТабЧасти(СтруктураШапкиДокумента, СтруктураПараметров, МетаданныеТабЧасти, Заголовок, Отказ); Иначе ТоварыНаСкладахКонтрольОстатков_Реализация_ОтчетОРознПродажах_ЧекККМ(СтруктураШапкиДокумента, СтруктураПараметров, МетаданныеТабЧасти, Заголовок, Отказ); КонецЕсли; ИначеЕсли СтруктураПараметров.ИмяДокумента = "ОтчетОРозничныхПродажах" ИЛИ СтруктураПараметров.ИмяДокумента = "ЧекККМ" Тогда ТоварыНаСкладахКонтрольОстатков_Реализация_ОтчетОРознПродажах_ЧекККМ(СтруктураШапкиДокумента, СтруктураПараметров, МетаданныеТабЧасти, Заголовок, Отказ); ИначеЕсли СтруктураПараметров.ИмяДокумента = "ВозвратТоваровПоставщику" Тогда Если СтруктураШапкиДокумента.ВидОперации = Перечисления.ВидыОперацийВозвратТоваровПоставщику.ИзПереработки Тогда ТоварыНаСкладахКонтрольОстатков_СкладВТабЧасти_ЗаказВШапке(СтруктураШапкиДокумента, СтруктураПараметров, МетаданныеТабЧасти, Заголовок, Отказ); ИначеЕсли СтруктураПараметров.ИмяТабличнойЧасти = "Оборудование" Тогда ТоварыНаСкладахКонтрольОстатков_БезЗаказа(СтруктураШапкиДокумента, СтруктураПараметров, МетаданныеТабЧасти, Заголовок, Отказ); Иначе ТоварыНаСкладахКонтрольОстатков_ЗаказВТабЧасти(СтруктураШапкиДокумента, СтруктураПараметров, МетаданныеТабЧасти, Заголовок, Отказ); КонецЕсли; ИначеЕсли СтруктураПараметров.ИмяДокумента = "ТребованиеНакладная" ИЛИ СтруктураПараметров.ИмяДокумента = "РасходныйОрдерНаТовары" ИЛИ СтруктураПараметров.ИмяДокумента = "СписаниеТоваров" Тогда ТоварыНаСкладахКонтрольОстатков_ЗаказВТабЧасти(СтруктураШапкиДокумента, СтруктураПараметров, МетаданныеТабЧасти, Заголовок, Отказ); ИначеЕсли СтруктураПараметров.ИмяДокумента = "ПередачаТоваров" Тогда ТоварыНаСкладахКонтрольОстатков_СкладВШапке_ЗаказВШапке(СтруктураШапкиДокумента, СтруктураПараметров, МетаданныеТабЧасти, Заголовок, Отказ); ИначеЕсли СтруктураПараметров.ИмяДокумента = "КомплектацияНоменклатуры" Тогда Если СтруктураШапкиДокумента.ВидКомплектации = Перечисления.ВидыКомплектации.Разборка Тогда //при разукомплектации все берем из шапки СтруктураПараметров.ИмяТаблицы = СтруктураПараметров.ИмяДокумента; КонецЕсли; ТоварыНаСкладахКонтрольОстатков_СкладВШапке_ЗаказВШапке(СтруктураШапкиДокумента, СтруктураПараметров, МетаданныеТабЧасти, Заголовок, Отказ); ИначеЕсли СтруктураПараметров.ИмяДокумента = "ПередачаМатериаловВЭксплуатацию" ИЛИ СтруктураПараметров.ИмяДокумента = "ПередачаОборудованияВМонтаж" ИЛИ СтруктураПараметров.ИмяДокумента = "КорректировкаСерийИХарактеристикТоваров" ИЛИ СтруктураПараметров.ИмяДокумента = "КорректировкаКачестваТоваров" Тогда ТоварыНаСкладахКонтрольОстатков_БезЗаказа(СтруктураШапкиДокумента, СтруктураПараметров, МетаданныеТабЧасти, Заголовок, Отказ); Иначе Сообщить("Для документа вида """ + СтруктураПараметров.ИмяДокумента + """ не предусмотрен вызов процедуры контроля остатков (процедура ТоварыНаСкладахКонтрольОстатков)", СтатусСообщения.ОченьВажное); КонецЕсли; //вернем обратно признак отказа от проведения документа ОтказПроведения = Отказ; ЗаголовокСообщения = Заголовок; КонецПроцедуры // КонтрольОстатков() |
|||
|
29
rintik
29.11.10
✎
11:21
|
Танцы с бубном конечно, но может попробовать "Тестирование и исправление"?
|
|||
|
30
rintik
29.11.10
✎
11:22
|
Конечно на копии сначала.
|
|||
|
31
andrejip
29.11.10
✎
11:23
|
(26) дистрибов чего 1с ? Она лицензионная купленная на честно заработаные.
|
|||
|
32
andrejip
29.11.10
✎
11:23
|
(29) не помогает.
|
|||
|
33
73
29.11.10
✎
11:25
|
(31) имел ввиду дистрибутивов PostgreSQL
|
|||
|
34
rintik
29.11.10
✎
11:26
|
Пользователь имеет полные права при проведении?
|
|||
|
35
rintik
29.11.10
✎
11:26
|
Может RLS что то режет?
|
|||
|
36
Живой Ископаемый
29.11.10
✎
11:29
|
2(28) это парнуха а не запрос... интересует именно запорос, который оттранслирован в (15)
который вот этот: СтруктураШапкиДокумента, СтруктураПараметров, Заголовок, Отказ); ОбщийМодуль.ПроцедурыКонтроляОстатков.Модуль : 4599 : РезультатЗапроса = Запрос.Выполнить();' интересует Запрос.Текст |
|||
|
37
Живой Ископаемый
29.11.10
✎
11:31
|
2(35) вообще-то предполагается что документы при проведении должны видеть все, и использовать для этого процедуры привелигерованного модуля... Но так или иначе - как мы можем об этом судить если он нам текст запроса не показывает, и есть ли в нем слово РАЗРЕШЕННЫЕ?
|
|||
|
38
andrejip
29.11.10
✎
11:33
|
(37) ошибся.
|
|||
|
39
andrejip
29.11.10
✎
11:34
|
Процедура ТоварыВРезервеНаСкладахКонтрольОстатков_Реализация(СтруктураШапкиДокумента, СтруктураПараметров, Заголовок, Отказ)
ЕстьСоставНабора = (СтруктураПараметров.ИмяТабличнойЧасти = "Товары"); Если СтруктураПараметров.ИмяТабличнойЧасти = "ВозвратнаяТара" Тогда ЕстьХарактеристика = Ложь; ЕстьСерия = Ложь; ЕстьКачество = Ложь; Иначе ЕстьХарактеристика = Истина; ЕстьСерия = СтруктураПараметров.ИспользоватьУказаниеСерийНоменклатурыПриРезервировании И СтруктураШапкиДокумента.ОбособленныйУчетТоваровПоЗаказамПокупателей; ЕстьКачество = Истина; КонецЕсли; Если ЕстьСоставНабора Тогда ТекстЗапросаРеквизитыДокумента = " | (ВЫБРАТЬ //Строки ТЧ Товары, в которых номенклатура - не комплект | Док.Ссылка, | Док.Номенклатура, | Док.Склад, | Док.СпособСписанияОстаткаТоваров, | Док.ХарактеристикаНоменклатуры, | Док.СерияНоменклатуры, | Док.Коэффициент, | Док.ЗаказПокупателя, | Док.ЕдиницаИзмерения, | Док.Количество | ИЗ | Документ." + СтруктураПараметров.ИмяТаблицы + " КАК Док | ГДЕ | Док.Ссылка = &ДокументСсылка | И НЕ Док.Номенклатура.Комплект | И Док.СпособСписанияОстаткаТоваров = &ИзРезерва | ОБЪЕДИНИТЬ ВСЕ | //Строки ТЧ Состав набора | ВЫБРАТЬ | Док.Ссылка, | Док.Номенклатура, | Док.Склад, | Док.СпособСписанияОстаткаТоваров, | Док.ХарактеристикаНоменклатуры, | Док.СерияНоменклатуры, | Док.Коэффициент, | Док.ЗаказПокупателя, | Док.ЕдиницаИзмерения, | Док.Количество | ИЗ | (ВЫБРАТЬ | ДокНаб.Ссылка, | ДокНаб.Номенклатура, //Склад может быть указан в целом для набора в строке ТЧ Товары, или для каждого элемента набора в ТЧ СоставНабора | ВЫБОР | КОГДА ДокНаб.Склад = &ПустойСклад ТОГДА ДокТов.Склад | ИНАЧЕ ДокНаб.Склад | КОНЕЦ КАК Склад, //СпособСписанияОстатков может быть указан в целом для набора в строке ТЧ Товары, или для каждого элемента набора в ТЧ СоставНабора | ВЫБОР | КОГДА ДокНаб.СпособСписанияОстаткаТоваров = &ПустойСпособСписания ТОГДА ДокТов.СпособСписанияОстаткаТоваров | ИНАЧЕ ДокНаб.СпособСписанияОстаткаТоваров | КОНЕЦ КАК СпособСписанияОстаткаТоваров, | ДокНаб.ХарактеристикаНоменклатуры, | ДокНаб.СерияНоменклатуры, | ДокНаб.ЕдиницаИзмерения.Коэффициент КАК Коэффициент, | ДокТов.ЗаказПокупателя, | ДокТов.ЕдиницаИзмерения, | ДокНаб.Количество * ДокТов.Количество КАК Количество | ИЗ | Документ." + СтруктураПараметров.ИмяДокумента + ".СоставНабора КАК ДокНаб | ЛЕВОЕ СОЕДИНЕНИЕ Документ." + СтруктураПараметров.ИмяТаблицы + " КАК ДокТов | ПО ДокТов.КлючСтроки = ДокНаб.КлючСтроки | И ДокТов.Ссылка = &ДокументСсылка | ГДЕ | ДокНаб.Ссылка = &ДокументСсылка | | ) КАК Док | ГДЕ Док.СпособСписанияОстаткаТоваров = &ИзРезерва | ) КАК Док |"; Иначе ТекстЗапросаРеквизитыДокумента = " | Документ." + СтруктураПараметров.ИмяТаблицы + " | КАК Док |"; КонецЕсли; // ПОЛУЧИМ УСЛОВИЯ ДЛЯ ВИРТУАЛЬНЫХ ТАБЛИЦ ОСТАТКОВ ПараметрыУсловий = Новый Структура( "ПолеСклад,ЕстьХарактеристика,ЕстьКачество,ЕстьСоставНабора,РеквизитДокументРезерва,ДопУсловияТабличнойЧасти", "Склад", ЕстьХарактеристика, ЕстьКачество, ЕстьСоставНабора, "ЗаказПокупателя", " И Док.СпособСписанияОстаткаТоваров = &ИзРезерва И (НЕ Док.ЗаказПокупателя В (&МассивПустыхСсылок))"); ПараметрыУсловий.Вставить("ИспользоватьХарактеристикиНоменклатуры", СтруктураПараметров.ИспользоватьХарактеристикиНоменклатуры); УсловияТаблицыОстатков = ПолучитьСтруктуруУсловийТаблицыОстатков( СтруктураПараметров.ИмяДокумента, СтруктураПараметров.ИмяТаблицы, Новый Структура("Резерв"), ПараметрыУсловий); Запрос = Новый Запрос; // Установим параметры запроса Запрос.УстановитьПараметр("ДокументСсылка", СтруктураШапкиДокумента.Ссылка); Запрос.УстановитьПараметр("ИзРезерва", Перечисления.СпособыСписанияОстаткаТоваров.ИзРезерва); Запрос.УстановитьПараметр("ПустойСпособСписания", Перечисления.СпособыСписанияОстаткаТоваров.ПустаяСсылка()); Запрос.УстановитьПараметр("ПустойСклад", Справочники.Склады.ПустаяСсылка()); Запрос.УстановитьПараметр("ПустаяХарактеристика", Справочники.ХарактеристикиНоменклатуры.ПустаяСсылка()); Запрос.УстановитьПараметр("ПустаяСерия", Справочники.СерииНоменклатуры.ПустаяСсылка()); МассивПустыхСсылок = Новый Массив; МассивПустыхСсылок.Добавить(Неопределено); МассивПустыхСсылок.Добавить(Документы.ЗаказПокупателя.ПустаяСсылка()); Запрос.УстановитьПараметр("МассивПустыхСсылок", МассивПустыхСсылок); ТекстЗапроса = " |ВЫБРАТЬ // Запрос, контролирующий остатки на складах | Док.Номенклатура КАК Номенклатура, | Док.Номенклатура.Представление КАК НоменклатураПредставление, | Док.Номенклатура.ЕдиницаХраненияОстатков.Представление КАК ЕдиницаХраненияОстатковПредставление, | %ПОЛЕ_Док_Характеристика% КАК ХарактеристикаНоменклатуры, | ПРЕДСТАВЛЕНИЕ(%ПОЛЕ_Док_Характеристика%) КАК ХарактеристикаНоменклатурыПредставление, | %ПОЛЕ_Док_Серия% КАК СерияНоменклатуры, | ПРЕДСТАВЛЕНИЕ(%ПОЛЕ_Док_Серия%) КАК СерияНоменклатурыПредставление, | Док.ЗаказПокупателя КАК ДокументРезерва, | Док.Склад КАК Склад, | %ПОЛЕ_Док_Количество% КАК ДокументКоличество, | ЕСТЬNULL(МАКСИМУМ(Резервы.КоличествоОстаток), 0) КАК РезервыКоличество |ИЗ | "+ ТекстЗапросаРеквизитыДокумента + " | |ЛЕВОЕ СОЕДИНЕНИЕ | РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(," + УсловияТаблицыОстатков.Резерв + ") КАК Резервы |ПО | Резервы.Склад = Док.Склад | И Резервы.Номенклатура = Док.Номенклатура | И Резервы.ДокументРезерва = Док.ЗаказПокупателя | И Резервы.ХарактеристикаНоменклатуры = %СОЕДИНЕНИЕ_Характеристика_Остатки% | И Резервы.СерияНоменклатуры = %СОЕДИНЕНИЕ_Серия_Остатки% |ГДЕ | Не Док.Номенклатура.Комплект | И Док.Ссылка = &ДокументСсылка | И Док.СпособСписанияОстаткаТоваров = &ИзРезерва | И (НЕ Док.ЗаказПокупателя В (&МассивПустыхСсылок)) |СГРУППИРОВАТЬ ПО | | Док.Номенклатура, | %ПОЛЕ_Док_Характеристика%, | %ПОЛЕ_Док_Серия%, | Док.ЗаказПокупателя, | Док.Склад |ИМЕЮЩИЕ ЕСТЬNULL(МАКСИМУМ(Резервы.КоличествоОстаток), 0) < %ПОЛЕ_Док_Количество% |ДЛЯ ИЗМЕНЕНИЯ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки // Блокирующие чтение таблицы остатков регистра для разрешения коллизий многопользовательской работы |"; УчитыватьСерии = ложь; //По умолчанию отбор по пустой характеристике СОЕДИНЕНИЕ_Характеристика_Остатки = "ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)"; //По умолчанию отбор по пустой серии, т.к. для тары и договоров без ОУ резервы выполняются без серии СОЕДИНЕНИЕ_Серия_Остатки = "ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)"; Если СтруктураПараметров.ИмяТабличнойЧасти = "ВозвратнаяТара" Тогда //нет серии, характеристики, единицы измерения и коэффициента ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"%ПОЛЕ_Док_Количество%","Сумма(Док.Количество)"); ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"%ПОЛЕ_Док_Характеристика%","&ПустаяХарактеристика"); Иначе //есть характеристика, единица измерения и коэффициент. //Наличие серии зависит от того, ведется ли по договору обособленный учет. ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"%ПОЛЕ_Док_Количество%","Сумма(ВЫРАЗИТЬ(Док.Количество * Док.Коэффициент / Док.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК Число(15,3)))"); ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"%ПОЛЕ_Док_Характеристика%","Док.ХарактеристикаНоменклатуры"); Если СтруктураПараметров.ИспользоватьХарактеристикиНоменклатуры Тогда СОЕДИНЕНИЕ_Характеристика_Остатки = "Док.ХарактеристикаНоменклатуры"; КонецЕсли; Если СтруктураПараметров.ИспользоватьУказаниеСерийНоменклатурыПриРезервировании Тогда //считаем что договор в заказах соответствует договору в шапке документа. Если СтруктураШапкиДокумента.ОбособленныйУчетТоваровПоЗаказамПокупателей Тогда УчитыватьСерии = истина; ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"%ПОЛЕ_Док_Серия%","Док.СерияНоменклатуры"); Если СтруктураПараметров.ИспользоватьСерииНоменклатуры Тогда СОЕДИНЕНИЕ_Серия_Остатки = "Док.СерияНоменклатуры"; КонецЕсли; КонецЕсли; КонецЕсли; КонецЕсли; Если не УчитыватьСерии Тогда ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"%ПОЛЕ_Док_Серия%","&ПустаяСерия"); КонецЕсли; ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"%СОЕДИНЕНИЕ_Характеристика_Остатки%", СОЕДИНЕНИЕ_Характеристика_Остатки); ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"%СОЕДИНЕНИЕ_Серия_Остатки%", СОЕДИНЕНИЕ_Серия_Остатки); Если глЗначениеПеременной("ИспользоватьБлокировкуДанных") Тогда Запрос.Текст = "ВЫБРАТЬ Склад, Номенклатура, ЗаказПокупателя" + ?(ЕстьХарактеристика, ", ХарактеристикаНоменклатуры", "") + " |ИЗ " + ТекстЗапросаРеквизитыДокумента + " |ГДЕ | Не Док.Номенклатура.Комплект | И Док.Ссылка = &ДокументСсылка | И Док.СпособСписанияОстаткаТоваров = &ИзРезерва | И (НЕ Док.ЗаказПокупателя В (&МассивПустыхСсылок))"; РезультатЗапросаДляБлокировки = Запрос.Выполнить(); Если НЕ РезультатЗапросаДляБлокировки.Пустой() Тогда СтруктураПараметровБлокировки = Новый Структура( "ТипТаблицы,ИмяТаблицы,ИсточникДанных" ,"РегистрНакопления" ,"ТоварыВРезервеНаСкладах" ,РезультатЗапросаДляБлокировки); СтруктураИсточникаДанных = Новый Структура( "Склад,Номенклатура,ДокументРезерва" ,"Склад" ,"Номенклатура" ,"ЗаказПокупателя"); Если ЕстьХарактеристика И СтруктураПараметров.ИспользоватьХарактеристикиНоменклатуры Тогда СтруктураИсточникаДанных.Вставить("ХарактеристикаНоменклатуры","ХарактеристикаНоменклатуры"); КонецЕсли; ОбщегоНазначения.УстановитьУправляемуюБлокировку(СтруктураПараметровБлокировки,,СтруктураИсточникаДанных, Отказ, Заголовок); КонецЕсли; КонецЕсли; Запрос.Текст = ТекстЗапроса; РезультатЗапроса = Запрос.Выполнить(); Если РезультатЗапроса.Пустой() Тогда Возврат; КонецЕсли; Выборка = РезультатЗапроса.Выбрать(); Пока Выборка.Следующий() Цикл СтрокаСообщения = "Остатка резерва " + УправлениеЗапасами.ПредставлениеНоменклатуры(Выборка.НоменклатураПредставление, ?(СтруктураПараметров.ИмяТабличнойЧасти <> "ВозвратнаяТара", " "+Выборка.ХарактеристикаНоменклатурыПредставление, ""), ?(УчитыватьСерии, " "+Выборка.СерияНоменклатурыПредставление, "")) + " на складе """ + СокрЛП(Выборка.Склад) + """ по документу """ + СокрЛП(Выборка.ДокументРезерва) + """ недостаточно."; УправлениеЗапасами.ОшибкаНетОстатка(СтрокаСообщения, Выборка.РезервыКоличество, Выборка.ДокументКоличество, Выборка.ЕдиницаХраненияОстатковПредставление, Отказ, Заголовок); КонецЦикла; КонецПроцедуры //КонтрольОстатков_Реализация() |
|||
|
40
andrejip
29.11.10
✎
11:38
|
(34) полные.
|
|||
|
41
Живой Ископаемый
29.11.10
✎
11:38
|
2(39) дядька... Ты можешь словить этот текст запроса отладчиком? Слови пожалуйста... Потому что то что ты будешь делать ближайшие пару часов - это видоизменять этот запрос и пытаться выполнять его в консоли запросов... До тех пор пока не сделайшь такой, при котором 1С не валится.. А уж потом ты попытаешься изменить код
|
|||
|
42
andrejip
29.11.10
✎
11:41
|
2 (41) в том-то и дело (почему я бросил лог postgre),
у меня KUBUNTU стоит и wine при запуске отладчика падает. Сейчас версию postgre меняю на 8 4 1.. |
|||
|
43
andrejip
29.11.10
✎
11:41
|
Кстати под windoй ошибка таже.
|
|||
|
44
andrejip
29.11.10
✎
11:42
|
+(43) в смысле ошибка СУБД.
|
|||
|
45
andrejip
29.11.10
✎
11:42
|
(41) сейчас виндовый комп найду и словлю отладчиком..
|
|||
|
46
Живой Ископаемый
29.11.10
✎
11:43
|
ну короче, тут все ясно...
|
|||
|
47
andrejip
29.11.10
✎
11:44
|
(46) что-то не так?
|
|||
|
48
Живой Ископаемый
29.11.10
✎
11:51
|
думаю да.. Потому что либо вы не будете пользоваться резервированием в УПП... либо не будете пользоваться нынешним Постгресом в Линуксе..
|
|||
|
49
andrejip
29.11.10
✎
11:52
|
(48) поясни пож.
|
|||
|
50
andrejip
29.11.10
✎
11:54
|
(48) всё же есть надежда поправить к-либо запрос.
|
|||
|
51
Живой Ископаемый
29.11.10
✎
11:54
|
2(49) что тут пояснять еще? у тебя запрос не выполняется, а ты даже не можешь отладчик запустить чтобы выцепить его текст. И как ты теперь собираешься в таких условиях работать?
|
|||
|
52
andrejip
29.11.10
✎
11:56
|
(45)
|
|||
|
53
Живой Ископаемый
29.11.10
✎
11:57
|
2(52) и что, каждый раз так будешь делать? отличный план
|
|||
|
54
andrejip
29.11.10
✎
11:58
|
на след. неделе комп новый будет. там будет винд.
|
|||
|
55
Живой Ископаемый
29.11.10
✎
12:00
|
Понятно.
|
|||
|
56
andrejip
30.11.10
✎
14:15
|
ап.
|
|||
|
57
andrejip
30.11.10
✎
14:15
|
ТекстЗапроса = "
|ВЫБРАТЬ // Запрос, контролирующий остатки на складах | Док.Номенклатура КАК Номенклатура, | Док.Номенклатура.Представление КАК НоменклатураПредставление, | Док.Номенклатура.ЕдиницаХраненияОстатков.Представление КАК ЕдиницаХраненияОстатковПредставление, | %ПОЛЕ_Док_Характеристика% КАК ХарактеристикаНоменклатуры, | ПРЕДСТАВЛЕНИЕ(%ПОЛЕ_Док_Характеристика%) КАК ХарактеристикаНоменклатурыПредставление, | %ПОЛЕ_Док_Серия% КАК СерияНоменклатуры, | ПРЕДСТАВЛЕНИЕ(%ПОЛЕ_Док_Серия%) КАК СерияНоменклатурыПредставление, | Док.ЗаказПокупателя КАК ДокументРезерва, | Док.Склад КАК Склад, | %ПОЛЕ_Док_Количество% КАК ДокументКоличество, | ЕСТЬNULL(МАКСИМУМ(Резервы.КоличествоОстаток), 0) КАК РезервыКоличество |ИЗ | "+ ТекстЗапросаРеквизитыДокумента + " | |ЛЕВОЕ СОЕДИНЕНИЕ | РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(," + УсловияТаблицыОстатков.Резерв + ") КАК Резервы |ПО | Резервы.Склад = Док.Склад | И Резервы.Номенклатура = Док.Номенклатура | И Резервы.ДокументРезерва = Док.ЗаказПокупателя | И Резервы.ХарактеристикаНоменклатуры = %СОЕДИНЕНИЕ_Характеристика_Остатки% | И Резервы.СерияНоменклатуры = %СОЕДИНЕНИЕ_Серия_Остатки% |ГДЕ | Не Док.Номенклатура.Комплект | И Док.Ссылка = &ДокументСсылка | И Док.СпособСписанияОстаткаТоваров = &ИзРезерва | И (НЕ Док.ЗаказПокупателя В (&МассивПустыхСсылок)) |СГРУППИРОВАТЬ ПО | | Док.Номенклатура, | %ПОЛЕ_Док_Характеристика%, | %ПОЛЕ_Док_Серия%, | Док.ЗаказПокупателя, | Док.Склад |ИМЕЮЩИЕ ЕСТЬNULL(МАКСИМУМ(Резервы.КоличествоОстаток), 0) < %ПОЛЕ_Док_Количество% |ДЛЯ ИЗМЕНЕНИЯ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки // Блокирующие чтение таблицы остатков регистра для разрешения коллизий многопользовательской работы |"; |
|||
|
58
andrejip
30.11.10
✎
14:16
|
на нем вылетает ошибка. (0)(1)
|
|||
|
59
andrejip
30.11.10
✎
14:18
|
аp
|
|||
|
60
Живой Ископаемый
30.11.10
✎
14:24
|
э... Док.ЗаказПокупателя , Док.Склад - какого типа?
и опять же - а это что за лажа: "| "+ ТекстЗапросаРеквизитыДокумента + ""? Выполни этот запрос в консоли. |
|||
|
61
andrejip
30.11.10
✎
14:26
|
ап-=
|
|||
|
62
andrejip
13.12.10
✎
09:38
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |