Имя: Пароль:
1C
 
Ошибка СУБД.
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