powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Ошибка выполнения хранимой процедуры code 335544914
2 сообщений из 2, страница 1 из 1
Ошибка выполнения хранимой процедуры code 335544914
    #38789585
lynatik50
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, помогите пожалуйста, хранимая процедура сбрасывает ошибку

Ошибки генерации отчета (FirebirdSql.Data.FirebirdClient.FbException (0x80004005): arithmetic exception, numeric overflow, or string truncation
No message for error code 335544914 found.
At procedure 'LICENSES_ERRORS' line: 54, col: 17

до того как выкатил на боевую все работало, беда в том что запрос с выборкой отдельно выполняется на ура, а вот в внутри хранимой процедуры совсем не хочет...


Код: plsql
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.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
288.
289.
290.
291.
292.
293.
294.
295.
296.
297.
298.
299.
300.
301.
302.
303.
304.
305.
306.
307.
308.
309.
310.
311.
312.
313.
314.
315.
316.
317.
318.
319.
320.
321.
322.
323.
324.
325.
326.
327.
328.
329.
330.
331.
332.
333.
334.
335.
336.
337.
338.
339.
340.
341.
342.
343.
344.
345.
346.
347.
348.
349.
350.
351.
352.
353.
354.
355.
356.
357.
358.
359.
360.
361.
362.
363.
364.
365.
366.
367.
368.
369.
370.
371.
372.
373.
374.
375.
376.
377.
378.
379.
380.
create or alter  procedure LICENSES_ERRORS (
    NUSER varchar(50),
    NYEAR varchar(50),
    NMOUNTH varchar(50))
returns (
    ERRORINFO varchar(1000),
    FIELDINFO varchar(255))
as
declare variable SYS_GUID varchar(50);
declare variable RBD_SCHOOLFK varchar(50);
declare variable IPFK varchar(50);
declare variable ORGNAME varchar(1024);
declare variable SCHOOLNAME varchar(1000);
declare variable SHORTNAME varchar(250);
declare variable SCHOOLPROPERTYNAME varchar(255);
declare variable SCHOOL_SUBTYPENAME varchar(255);
declare variable BRANCH integer;
declare variable ADDRESS varchar(255);
declare variable MANAGERFIO varchar(255);
declare variable CHARGEPOSITION varchar(255);
declare variable KPP varchar(40);
declare variable GOSREGNUM varchar(50);
declare variable INN varchar(50);
declare variable IP_LASTNAME varchar(255);
declare variable IP_FIRSTNAME varchar(255);
declare variable IP_MIDDLENAME varchar(255);
declare variable IP_GOSREGNUM varchar(50);
declare variable IP_INN varchar(50);
declare variable LICENSE_REG_NUM varchar(30);
declare variable NUMDOC varchar(30);
declare variable SERDOC varchar(30);
declare variable DATA_END date;
declare variable LICENSE_STATUSESFK varchar(50);
declare variable BASISTYPEDOCFK varchar(100);
declare variable NUMLICDOC varchar(64);
declare variable DATELICDOC date;
declare variable REG_DATE date;
declare variable BASISTYPEDOCFK_DUBL varchar(100);
declare variable NUMLICDOC_DUBL varchar(64);
declare variable DATELICDOC_DUBL date;
declare variable DUBL integer;
declare variable CHECK_REASONS_DATES blob sub_type 0 segment size 80;
declare variable LICENSE_REG_NUM_OLD varchar(64);
declare variable DATELICDOC_OLD date;
declare variable BASISTYPEDOCFK_NEW varchar(100);
declare variable NUMLICDOC_NEW varchar(64);
declare variable DATELICDOC_NEW date;
declare variable LDS_ID varchar(50);
declare variable LIC_NEW_LICENSEOLDFK varchar(100);
declare variable PAKET_DATE_TIME timestamp;
BEGIN
                PAKET_DATE_TIME = current_timestamp;

                FOR SELECT
                LIC.SYS_GUID,
                LIC.RBD_SCHOOLFK,
                LIC.IPFK,
                LIC.ORGNAME,
                LIC.SCHOOLNAME,
                LIC.SHORTNAME,
                LIC.SCHOOLPROPERTYNAME,
                SCS.SCHOOL_SUBTYPENAME,
                RSC.BRANCH,
                LIC.ADDRESS,
                LIC.MANAGERFIO,
                LIC.CHARGEPOSITION,
                LIC.KPP,
                LIC.GOSREGNUM,
                LIC.INN,
                LIC.IP_LASTNAME,
                LIC.IP_FIRSTNAME,
                LIC.IP_MIDDLENAME,
                LIC.IP_GOSREGNUM,
                LIC.IP_INN,
                LIC.LICENSE_REG_NUM,
                LIC.NUMDOC,
                LIC.SERDOC,
                LIC.DATA_END,
                LS.NAME,
                case when LIC."DOUBLE" = 0 then BTD.NAME
                     when (LIC."DOUBLE" = 1 and FS_ORIG.ID=2) then BTD_ORIG.NAME end, 
                case when LIC."DOUBLE" = 0 then LIC.NUMLICDOC
                     when (LIC."DOUBLE" = 1 and FS_ORIG.ID=2) then LIC_ORIG.NUMLICDOC end, 
                case when LIC."DOUBLE" = 0 then LIC.DATELICDOC
                     when (LIC."DOUBLE" = 1 and FS_ORIG.ID=2) then LIC_ORIG.DATELICDOC end, 
                LIC.REG_DATE,
                case when LIC."DOUBLE" = 1 then BTD.NAME end, 
                case when LIC."DOUBLE" = 1 then LIC.NUMLICDOC end, 
                case when LIC."DOUBLE" = 1 then LIC.DATELICDOC end, 
                LIC."DOUBLE",
                LIC.CHECK_REASONS_DATES, 
                case when FS_OLD.ID=2 then LIC_OLD.LICENSE_REG_NUM end,  
                case when FS_OLD.ID=2 then LIC_OLD.DATELICDOC end, 
                case when LDS.ID=6 then BTD_LD.NAME
                     when FS_NEW.ID=2 then BTD_NEW.NAME end, 
                case when LDS.ID=6 then LD.NUMDOC
                     when FS_NEW.ID=2 then LIC_NEW.NUMLICDOC end, 
                case when LDS.ID=6 then LD.DATEDOC
                     when FS_NEW.ID=2 then LIC_NEW.DATELICDOC end, 
                LDS.ID,
                LIC_NEW.LICENSEOLDFK
                from LICENSES LIC
                left join FBDRL_STATUS as FS on LIC.FBDRL_STATUSFK = FS.SYS_GUID and (FS.SYS_STATE is NULL OR FS.SYS_STATE not in ('1','3'))
                left join LICENSE_STATUSES as LS on LS.SYS_GUID = LIC.LICENSE_STATUSESFK and (LS.SYS_STATE is NULL OR LS.SYS_STATE not in ('1','3'))
                left join BASIS_TYPE_DOC  as BTD on BTD.SYS_GUID = LIC.BASISTYPEDOCFK and (BTD.SYS_STATE is NULL OR BTD.SYS_STATE not in ('1','3'))
                left join RBD_SCHOOLS as RSC on RSC.SYS_GUID = LIC.RBD_SCHOOLFK and (RSC.SYS_STATE is NULL OR RSC.SYS_STATE not in ('1','3'))
                left join SCHOOL_SUBTYPES as SCS on SCS.SYS_GUID = RSC.SCHOOLTYPEFK and (SCS.SYS_STATE is NULL OR SCS.SYS_STATE not in ('1','3'))
                left join LICENSES as LIC_ORIG on (LIC.LICENSE_ORIGINALFK = LIC_ORIG.SYS_GUID and (LIC_ORIG.SYS_STATE is NULL OR LIC_ORIG.SYS_STATE not in ('1','3')))
                left join FBDRL_STATUS as FS_ORIG on LIC_ORIG.FBDRL_STATUSFK = FS_ORIG.SYS_GUID and (FS_ORIG.SYS_STATE is NULL OR FS_ORIG.SYS_STATE not in ('1','3'))
                left join BASIS_TYPE_DOC as BTD_ORIG on LIC_ORIG.BASISTYPEDOCFK=BTD_ORIG.SYS_GUID and (BTD_ORIG.SYS_STATE is NULL OR BTD_ORIG.SYS_STATE not in ('1','3'))
                left join LICENSE_DEC as LD on (LIC.SYS_GUID=LD.LICENSEFK and (LD.SYS_STATE is NULL OR LD.SYS_STATE not in ('1','3')) and
                ((LD.datedoc = (select MAX(LICENSE_DEC.DATEDOC) from LICENSE_DEC
                where LICENSE_DEC.licensefk=LIC.Sys_guid)) or (LD.datedoc is null)))
                left join LICENSE_DEC_SUBTYPES LDS on (LD.LICENDECSUBTYPEFK = LDS.SYS_GUID and LDS.ID=6 and (LDS.SYS_STATE is NULL OR LDS.SYS_STATE not in ('1','3')))
                left join BASIS_TYPE_DOC as BTD_LD on BTD_LD.SYS_GUID = LD.BASISTYPEDOCFK and (BTD_LD.SYS_STATE is NULL OR BTD_LD.SYS_STATE not in ('1','3'))
                left join LICENSES as LIC_OLD on (LIC.LICENSEOLDFK = LIC_OLD.SYS_GUID and (LIC_OLD.SYS_STATE is NULL OR LIC_OLD.SYS_STATE not in ('1','3')))
                left join FBDRL_STATUS as FS_OLD on LIC_OLD.FBDRL_STATUSFK = FS_OLD.SYS_GUID and (FS_OLD.SYS_STATE is NULL OR FS_OLD.SYS_STATE not in ('1','3'))
                left join LICENSES as LIC_NEW on (LIC_NEW.LICENSEOLDFK = LIC.SYS_GUID and (LIC_NEW.SYS_STATE is NULL OR LIC_NEW.SYS_STATE not in ('1','3')))
                left join FBDRL_STATUS as FS_NEW on LIC_NEW.FBDRL_STATUSFK = FS_NEW.SYS_GUID and (FS_NEW.SYS_STATE is NULL OR FS_NEW.SYS_STATE not in ('1','3'))
                left join BASIS_TYPE_DOC as BTD_NEW on BTD_NEW.SYS_GUID = LIC_NEW.BASISTYPEDOCFK and (BTD_NEW.SYS_STATE is NULL OR BTD_NEW.SYS_STATE not in ('1','3'))
                where
                (LIC.SYS_STATE is NULL OR LIC.SYS_STATE not in ('1','3')) and
                (FS.ID=2) and
                (CAST(:nYear as varchar(4)) is NULL or EXTRACT (YEAR from LIC.DATELICDOC) = CAST(:nYear as varchar(4)))
                and
                (CAST(:nMounth as varchar(2)) is NULL or EXTRACT (MONTH from LIC.DATELICDOC) = cast(:nMounth as varchar(2)))
                and
                LIC.RBDC_REGIONSFK = (select EMPLOYEES.RBDC_REGIONSFK from EMPLOYEES
                left join SYS_USERS as SU on EMPLOYEES.USERFK = SU.SYS_GUID
                where SU.LOGIN = :nUser)
                INTO :SYS_GUID,
                :RBD_SCHOOLFK,
                :IPFK,
                :ORGNAME, 
                :SCHOOLNAME, 
                :SHORTNAME, 
                :SCHOOLPROPERTYNAME, 
                :SCHOOL_SUBTYPENAME, 
                :BRANCH, 
                :ADDRESS, 
                :MANAGERFIO,
                :CHARGEPOSITION, 
                :KPP, 
                :GOSREGNUM,
                :INN, 
                :IP_LASTNAME, 
                :IP_FIRSTNAME, 
                :IP_MIDDLENAME, 
                :IP_GOSREGNUM,
                :IP_INN, 
                :LICENSE_REG_NUM, 
                :NUMDOC, 
                :SERDOC, 
                :DATA_END,
                :LICENSE_STATUSESFK, 
                :BASISTYPEDOCFK,
                :NUMLICDOC,
                :DATELICDOC,
                :REG_DATE,
                :BASISTYPEDOCFK_DUBL,
                :NUMLICDOC_DUBL,
                :DATELICDOC_DUBL,
                :DUBL,
                :CHECK_REASONS_DATES,
                :LICENSE_REG_NUM_OLD,
                :DATELICDOC_OLD,     
                :BASISTYPEDOCFK_NEW, 
                :NUMLICDOC_NEW,
                :DATELICDOC_NEW,     
                :LDS_ID,
                :LIC_NEW_LICENSEOLDFK
                do
                  BEGIN
                    FIELDINFO = ('Лицензия № ' || COALESCE(:LICENSE_REG_NUM,'') || ' ' || ' от ' || COALESCE(:DATELICDOC,'') || '; Идентификатор лицензии:' || COALESCE(:SYS_GUID,''));
                -- {4.1.1.
                    if (:SYS_GUID is null) then
                    begin
                      ERRORINFO = 'Не заполнено поле "Уникальный код источника"';
                      suspend;
                    end
                   if ((:RBD_SCHOOLFK is not null and :IPFK is not null) or (:RBD_SCHOOLFK is null and :IPFK is null)) then
                    begin
                      ERRORINFO = 'Не заполнено одно из полей: "Идентификатор юридического лица в ТРС" или "Идентификатор индивидуального предпринимателя в ТРС"';
                      suspend;
                    end   
                    if (:ORGNAME is null) then
                    begin
                      ERRORINFO = 'Не заполнено поле "Наименование лицензирующего органа"';
                      suspend;
                    end
                    if ((:SCHOOLNAME is not null and :RBD_SCHOOLFK is null) or (:SCHOOLNAME is null and :RBD_SCHOOLFK is not null)) then
                    begin
                      ERRORINFO = 'Не заполнено поле "Полное наименование юридического лица"';
                      suspend;
                    end
                    if ((:SCHOOLPROPERTYNAME is not null and :RBD_SCHOOLFK is null) or (:SCHOOLPROPERTYNAME is null and :RBD_SCHOOLFK is not null))  then
                    begin
                      ERRORINFO = 'Не заполнено поле "Организационно-правовая форма юридического лица"';
                      suspend;
                    end
                    if ((:SCHOOL_SUBTYPENAME is not null and :RBD_SCHOOLFK is null) or (:SCHOOL_SUBTYPENAME is null and :RBD_SCHOOLFK is not null)) then
                    begin
                      ERRORINFO = 'Не заполнено поле "Тип образовательного учреждения"';
                      suspend;
                    end
                    if ((:ADDRESS is not null and :RBD_SCHOOLFK is null) or (:ADDRESS is null and :RBD_SCHOOLFK is not null))  then
                    begin
                      ERRORINFO = 'Не заполнено поле "Адрес  места нахождения юридического лица"';
                      suspend;
                    end
                    if ((:RBD_SCHOOLFK is null and :KPP is not null) or (:RBD_SCHOOLFK is not null and :KPP is null)) then
                    begin
                      ERRORINFO = 'Не заполнено поле "КПП"';
                      suspend;
                    end
                    if ((:RBD_SCHOOLFK is null and :GOSREGNUM is not null) or (:RBD_SCHOOLFK is not null and :GOSREGNUM is null)) then
                    begin
                      ERRORINFO = 'Не заполнено поле "Государственный регистрационный номер записи о создании юридического лица"';
                      suspend;
                    end
                    if ((:RBD_SCHOOLFK is null and :INN is not null) or (:RBD_SCHOOLFK is not null and :INN is null)) then
                    begin
                      ERRORINFO = 'Не заполнено поле "Идентификационный номер налогоплательщика юридического лица"';
                      suspend;
                    end
                    if ((:IPFK is null and :IP_LASTNAME is not null) or (:IPFK is not null and :IP_LASTNAME is null)) then
                    begin
                      ERRORINFO = 'Не заполнено поле "Фамилия индивидуального предпринимателя"';
                      suspend;
                    end
                    if ((:IPFK is null and :IP_FIRSTNAME is not null) or (:IPFK is not null and :IP_FIRSTNAME is null)) then
                    begin
                      ERRORINFO = 'Не заполнено поле "Имя индивидуального предпринимателя"';
                      suspend;
                    end
                    if ((:IPFK is null and :IP_MIDDLENAME is not null) or (:IPFK is not null and :IP_MIDDLENAME is null)) then
                    begin
                      ERRORINFO = 'Не заполнено поле "Отчество индивидуального предпринимателя"';
                      suspend;
                    end
                    if ((:IPFK is null and :IP_GOSREGNUM is not null) or (:IPFK is not null and :IP_GOSREGNUM is null)) then
                    begin
                      ERRORINFO = 'Не заполнено поле "Государственный регистрационный номер записи о государственной регистрации индивидуального предпринимателя"';
                      suspend;
                    end
                    if ((:IPFK is null and :IP_INN is not null) or (:IPFK is not null and :IP_INN is null)) then
                    begin
                      ERRORINFO = 'Не заполнено поле "Идентификационный номер налогоплательщика индивидуального предпринимателя"';
                      suspend;
                    end
                    if (:LICENSE_REG_NUM is null) then
                    begin
                      ERRORINFO = 'Не заполнено поле "Номер лицензии"';
                      suspend;
                    end
                    if (:NUMDOC is null) then
                    begin
                      ERRORINFO = 'Не заполнено поле "Номер бланка"';
                      suspend;
                    end
                    if (:SERDOC is null) then
                    begin
                      ERRORINFO = 'Не заполнено поле "Серия бланка"';
                      suspend;
                    end
                    if (:LICENSE_STATUSESFK is null) then
                    begin
                      ERRORINFO = 'Не заполнено поле "Статус лицензии"';
                      suspend;
                    end
                    if (:BASISTYPEDOCFK is null) then
                    begin
                      ERRORINFO = 'Не заполнено поле "Тип документа основания о предоставлении лицензии"';
                      suspend;
                    end
                    if (:NUMLICDOC is null) then
                    begin
                      ERRORINFO = 'Не заполнено поле "Номер приказа (распоряжения) лицензирующего органа о предоставлении лицензии"';
                      suspend;
                    end
                    if (:DATELICDOC is null) then
                    begin
                      ERRORINFO = 'Не заполнено поле "Дата приказа (распоряжения) лицензирующего органа о предоставлении лицензии"';
                      suspend;
                    end
                    if (:REG_DATE is null) then
                    begin
                      ERRORINFO = 'Не заполнено поле "Дата внесения в реестр лицензий лицензирующего органа сведений о лицензиате"';
                      suspend;
                    end
                    if ((:DATELICDOC_DUBL is null and :DUBL = '1') or (:DATELICDOC_DUBL is not null and :DUBL is null))  then
                    begin
                      ERRORINFO = 'Не заполнено поле "Дата выдачи дубликата лицензии"';
                      suspend;
                    end
                    /*Основания и даты проведения проверок лицензиатов и реквизиты актов, составленных по результатам проведенных проверок – 
                    поле обязательно для заполнения, в случае если проверки проводились;*/
                    if (((:BASISTYPEDOCFK_NEW is null and :LDS_ID = '6') or (:BASISTYPEDOCFK_NEW is not null and :LDS_ID is null)) or ((:BASISTYPEDOCFK_NEW is null and :LIC_NEW_LICENSEOLDFK is not null) or (:BASISTYPEDOCFK_NEW is not null and :LIC_NEW_LICENSEOLDFK is null)))  then
                    begin
                      ERRORINFO = 'Не заполнено поле "Тип документа основания прекращения действия лицензии"';
                      suspend;
                    end
                    if (((:NUMLICDOC_NEW is null and :LDS_ID = '6') or (:NUMLICDOC_NEW is not null and :LDS_ID is null)) or ((:NUMLICDOC_NEW is null and :LIC_NEW_LICENSEOLDFK is not null) or (:NUMLICDOC_NEW is not null and :LIC_NEW_LICENSEOLDFK is null)))  then
                    begin
                      ERRORINFO = 'Не заполнено поле "Номер основания прекращения действия лицензии"';
                      suspend;
                    end
                    if (((:DATELICDOC_NEW is null and :LDS_ID = '6') or (:DATELICDOC_NEW is not null and :LDS_ID is null)) or ((:DATELICDOC_NEW is null and :LIC_NEW_LICENSEOLDFK is not null) or (:DATELICDOC_NEW is not null and :LIC_NEW_LICENSEOLDFK is null)))  then
                    begin
                      ERRORINFO = 'Не заполнено поле "Дата основания прекращения действия лицензии"';
                      suspend;
                    end 
                    -- 4.1.1.}
                    -- {4.2.1
                    if (:DATA_END < :DATELICDOC) then
                    begin
                        ERRORINFO = 'Срок действия меньше чем "Дата приказа (распоряжения) лицензирующего органа о предоставлении лицензии"';
                        suspend;
                    end
                    if (:DATELICDOC > :PAKET_DATE_TIME) then
                    begin
                        ERRORINFO = 'Дата приказа (распоряжения) лицензирующего органа о предоставлении лицензии больше даты формирования пакета';
                        suspend;
                    end
                    if (:REG_DATE > :PAKET_DATE_TIME) then
                    begin
                        ERRORINFO = 'Даты внесения в  реестр лицензий лицензирующего органа сведений о лицензиате больше даты формирования пакета';
                        suspend;
                    end  
                
                    if (:CHECK_REASONS_DATES is null) then
                    begin
                        ERRORINFO = 'Не заполнено поле "Основание и даты проведения проверок лицензиата, акты по результатам проверок"';
                        suspend;
                    end
                    if (DUBL = '1' and (:DATELICDOC_DUBL < :DATELICDOC)) then
                    begin
                        ERRORINFO = 'Дата выдачи дубликата лицензии меньше чем "Дата приказа (распоряжения) лицензирующего органа о предоставлении лицензии"';
                        suspend;
                    end 
                    if ((LDS_ID = '6' or :LIC_NEW_LICENSEOLDFK is not null) and (:DATELICDOC_NEW < :DATELICDOC)) then
                    begin
                        ERRORINFO = 'Дата основания прекращения действия лицензии меньше чем "Дата приказа (распоряжения) лицензирующего органа о предоставлении лицензии"';
                        suspend;
                    end 
                    -- 4.2.1}
                    --{4.2.4
                    if ((char_length(:GOSREGNUM) != 13) and (:RBD_SCHOOLFK is not null)) then
                    begin
                        ERRORINFO = 'Поле государственный регистрационный номер записи о создании юридического лица не является тринадцатизначным числом';
                        suspend;
                    end
                    if ((char_length(:GOSREGNUM) != 15) and (:IPFK is not null)) then
                    begin
                        ERRORINFO = 'Поле государственный регистрационный номер записи о государственной регистрации индивидуального предпринимателя не является пятнадцатизначным числом';
                        suspend;
                    end
                    --4.2.4}
                    -- {4.2.5
                    if ((char_length(:INN) != 10) and (:RBD_SCHOOLFK is not null)) then
                    begin
                        ERRORINFO = 'Поле индивидуальный номер налогоплательщика не является десятизначным числом';
                        suspend;
                    end

                    if ((char_length(:IP_INN) != 12) and (:IPFK is not null)) then
                    begin
                        ERRORINFO = 'Поле индивидуальный номер налогоплательщика не является двенадцатизначным числом';
                        suspend;
                    end
                    -- 4.2.5}
                    -- {4.2.6
                    if ((char_length(:KPP) != 9) and (:RBD_SCHOOLFK is not null)) then
                    begin
                        ERRORINFO = 'Поле код причины постановки на учёт (КПП) не является девятизначным числом';
                        suspend;
                    end
                -- 4.2.6}                 
                    END
                END
...
Рейтинг: 0 / 0
Ошибка выполнения хранимой процедуры code 335544914
    #38789666
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lynatik50Добрый день, помогите пожалуйста, хранимая процедура сбрасывает ошибку

Ошибки генерации отчета (FirebirdSql.Data.FirebirdClient.FbException (0x80004005): arithmetic exception, numeric overflow, or string truncation
No message for error code 335544914 found.
At procedure 'LICENSES_ERRORS' line: 54, col: 17

до того как выкатил на боевую все работало, беда в том что запрос с выборкой отдельно выполняется на ура, а вот в внутри хранимой процедуры совсем не хочет...


Код: plsql
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.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
288.
289.
290.
291.
292.
293.
294.
295.
296.
297.
298.
299.
300.
301.
302.
303.
304.
305.
306.
307.
308.
309.
310.
311.
312.
313.
314.
315.
316.
317.
318.
319.
320.
321.
322.
323.
324.
325.
326.
327.
328.
329.
330.
331.
332.
333.
334.
335.
336.
337.
338.
339.
340.
341.
342.
343.
344.
345.
346.
347.
348.
349.
350.
351.
352.
353.
354.
355.
356.
357.
358.
359.
360.
361.
362.
363.
364.
365.
366.
367.
368.
369.
370.
371.
372.
373.
374.
375.
376.
377.
378.
379.
380.
create or alter  procedure LICENSES_ERRORS (
    NUSER varchar(50),
    NYEAR varchar(50),
    NMOUNTH varchar(50))
returns (
    ERRORINFO varchar(1000),
    FIELDINFO varchar(255))
as
declare variable SYS_GUID varchar(50);
declare variable RBD_SCHOOLFK varchar(50);
declare variable IPFK varchar(50);
declare variable ORGNAME varchar(1024);
declare variable SCHOOLNAME varchar(1000);
declare variable SHORTNAME varchar(250);
declare variable SCHOOLPROPERTYNAME varchar(255);
declare variable SCHOOL_SUBTYPENAME varchar(255);
declare variable BRANCH integer;
declare variable ADDRESS varchar(255);
declare variable MANAGERFIO varchar(255);
declare variable CHARGEPOSITION varchar(255);
declare variable KPP varchar(40);
declare variable GOSREGNUM varchar(50);
declare variable INN varchar(50);
declare variable IP_LASTNAME varchar(255);
declare variable IP_FIRSTNAME varchar(255);
declare variable IP_MIDDLENAME varchar(255);
declare variable IP_GOSREGNUM varchar(50);
declare variable IP_INN varchar(50);
declare variable LICENSE_REG_NUM varchar(30);
declare variable NUMDOC varchar(30);
declare variable SERDOC varchar(30);
declare variable DATA_END date;
declare variable LICENSE_STATUSESFK varchar(50);
declare variable BASISTYPEDOCFK varchar(100);
declare variable NUMLICDOC varchar(64);
declare variable DATELICDOC date;
declare variable REG_DATE date;
declare variable BASISTYPEDOCFK_DUBL varchar(100);
declare variable NUMLICDOC_DUBL varchar(64);
declare variable DATELICDOC_DUBL date;
declare variable DUBL integer;
declare variable CHECK_REASONS_DATES blob sub_type 0 segment size 80;
declare variable LICENSE_REG_NUM_OLD varchar(64);
declare variable DATELICDOC_OLD date;
declare variable BASISTYPEDOCFK_NEW varchar(100);
declare variable NUMLICDOC_NEW varchar(64);
declare variable DATELICDOC_NEW date;
declare variable LDS_ID varchar(50);
declare variable LIC_NEW_LICENSEOLDFK varchar(100);
declare variable PAKET_DATE_TIME timestamp;
BEGIN
                PAKET_DATE_TIME = current_timestamp;

                FOR SELECT
                LIC.SYS_GUID,
                LIC.RBD_SCHOOLFK,
                LIC.IPFK,
                LIC.ORGNAME,
                LIC.SCHOOLNAME,
                LIC.SHORTNAME,
                LIC.SCHOOLPROPERTYNAME,
                SCS.SCHOOL_SUBTYPENAME,
                RSC.BRANCH,
                LIC.ADDRESS,
                LIC.MANAGERFIO,
                LIC.CHARGEPOSITION,
                LIC.KPP,
                LIC.GOSREGNUM,
                LIC.INN,
                LIC.IP_LASTNAME,
                LIC.IP_FIRSTNAME,
                LIC.IP_MIDDLENAME,
                LIC.IP_GOSREGNUM,
                LIC.IP_INN,
                LIC.LICENSE_REG_NUM,
                LIC.NUMDOC,
                LIC.SERDOC,
                LIC.DATA_END,
                LS.NAME,
                case when LIC."DOUBLE" = 0 then BTD.NAME
                     when (LIC."DOUBLE" = 1 and FS_ORIG.ID=2) then BTD_ORIG.NAME end, 
                case when LIC."DOUBLE" = 0 then LIC.NUMLICDOC
                     when (LIC."DOUBLE" = 1 and FS_ORIG.ID=2) then LIC_ORIG.NUMLICDOC end, 
                case when LIC."DOUBLE" = 0 then LIC.DATELICDOC
                     when (LIC."DOUBLE" = 1 and FS_ORIG.ID=2) then LIC_ORIG.DATELICDOC end, 
                LIC.REG_DATE,
                case when LIC."DOUBLE" = 1 then BTD.NAME end, 
                case when LIC."DOUBLE" = 1 then LIC.NUMLICDOC end, 
                case when LIC."DOUBLE" = 1 then LIC.DATELICDOC end, 
                LIC."DOUBLE",
                LIC.CHECK_REASONS_DATES, 
                case when FS_OLD.ID=2 then LIC_OLD.LICENSE_REG_NUM end,  
                case when FS_OLD.ID=2 then LIC_OLD.DATELICDOC end, 
                case when LDS.ID=6 then BTD_LD.NAME
                     when FS_NEW.ID=2 then BTD_NEW.NAME end, 
                case when LDS.ID=6 then LD.NUMDOC
                     when FS_NEW.ID=2 then LIC_NEW.NUMLICDOC end, 
                case when LDS.ID=6 then LD.DATEDOC
                     when FS_NEW.ID=2 then LIC_NEW.DATELICDOC end, 
                LDS.ID,
                LIC_NEW.LICENSEOLDFK
                from LICENSES LIC
                left join FBDRL_STATUS as FS on LIC.FBDRL_STATUSFK = FS.SYS_GUID and (FS.SYS_STATE is NULL OR FS.SYS_STATE not in ('1','3'))
                left join LICENSE_STATUSES as LS on LS.SYS_GUID = LIC.LICENSE_STATUSESFK and (LS.SYS_STATE is NULL OR LS.SYS_STATE not in ('1','3'))
                left join BASIS_TYPE_DOC  as BTD on BTD.SYS_GUID = LIC.BASISTYPEDOCFK and (BTD.SYS_STATE is NULL OR BTD.SYS_STATE not in ('1','3'))
                left join RBD_SCHOOLS as RSC on RSC.SYS_GUID = LIC.RBD_SCHOOLFK and (RSC.SYS_STATE is NULL OR RSC.SYS_STATE not in ('1','3'))
                left join SCHOOL_SUBTYPES as SCS on SCS.SYS_GUID = RSC.SCHOOLTYPEFK and (SCS.SYS_STATE is NULL OR SCS.SYS_STATE not in ('1','3'))
                left join LICENSES as LIC_ORIG on (LIC.LICENSE_ORIGINALFK = LIC_ORIG.SYS_GUID and (LIC_ORIG.SYS_STATE is NULL OR LIC_ORIG.SYS_STATE not in ('1','3')))
                left join FBDRL_STATUS as FS_ORIG on LIC_ORIG.FBDRL_STATUSFK = FS_ORIG.SYS_GUID and (FS_ORIG.SYS_STATE is NULL OR FS_ORIG.SYS_STATE not in ('1','3'))
                left join BASIS_TYPE_DOC as BTD_ORIG on LIC_ORIG.BASISTYPEDOCFK=BTD_ORIG.SYS_GUID and (BTD_ORIG.SYS_STATE is NULL OR BTD_ORIG.SYS_STATE not in ('1','3'))
                left join LICENSE_DEC as LD on (LIC.SYS_GUID=LD.LICENSEFK and (LD.SYS_STATE is NULL OR LD.SYS_STATE not in ('1','3')) and
                ((LD.datedoc = (select MAX(LICENSE_DEC.DATEDOC) from LICENSE_DEC
                where LICENSE_DEC.licensefk=LIC.Sys_guid)) or (LD.datedoc is null)))
                left join LICENSE_DEC_SUBTYPES LDS on (LD.LICENDECSUBTYPEFK = LDS.SYS_GUID and LDS.ID=6 and (LDS.SYS_STATE is NULL OR LDS.SYS_STATE not in ('1','3')))
                left join BASIS_TYPE_DOC as BTD_LD on BTD_LD.SYS_GUID = LD.BASISTYPEDOCFK and (BTD_LD.SYS_STATE is NULL OR BTD_LD.SYS_STATE not in ('1','3'))
                left join LICENSES as LIC_OLD on (LIC.LICENSEOLDFK = LIC_OLD.SYS_GUID and (LIC_OLD.SYS_STATE is NULL OR LIC_OLD.SYS_STATE not in ('1','3')))
                left join FBDRL_STATUS as FS_OLD on LIC_OLD.FBDRL_STATUSFK = FS_OLD.SYS_GUID and (FS_OLD.SYS_STATE is NULL OR FS_OLD.SYS_STATE not in ('1','3'))
                left join LICENSES as LIC_NEW on (LIC_NEW.LICENSEOLDFK = LIC.SYS_GUID and (LIC_NEW.SYS_STATE is NULL OR LIC_NEW.SYS_STATE not in ('1','3')))
                left join FBDRL_STATUS as FS_NEW on LIC_NEW.FBDRL_STATUSFK = FS_NEW.SYS_GUID and (FS_NEW.SYS_STATE is NULL OR FS_NEW.SYS_STATE not in ('1','3'))
                left join BASIS_TYPE_DOC as BTD_NEW on BTD_NEW.SYS_GUID = LIC_NEW.BASISTYPEDOCFK and (BTD_NEW.SYS_STATE is NULL OR BTD_NEW.SYS_STATE not in ('1','3'))
                where
                (LIC.SYS_STATE is NULL OR LIC.SYS_STATE not in ('1','3')) and
                (FS.ID=2) and
                (CAST(:nYear as varchar(4)) is NULL or EXTRACT (YEAR from LIC.DATELICDOC) = CAST(:nYear as varchar(4)))
                and
                (CAST(:nMounth as varchar(2)) is NULL or EXTRACT (MONTH from LIC.DATELICDOC) = cast(:nMounth as varchar(2)))
                and
                LIC.RBDC_REGIONSFK = (select EMPLOYEES.RBDC_REGIONSFK from EMPLOYEES
                left join SYS_USERS as SU on EMPLOYEES.USERFK = SU.SYS_GUID
                where SU.LOGIN = :nUser)
                INTO :SYS_GUID,
                :RBD_SCHOOLFK,
                :IPFK,
                :ORGNAME, 
                :SCHOOLNAME, 
                :SHORTNAME, 
                :SCHOOLPROPERTYNAME, 
                :SCHOOL_SUBTYPENAME, 
                :BRANCH, 
                :ADDRESS, 
                :MANAGERFIO,
                :CHARGEPOSITION, 
                :KPP, 
                :GOSREGNUM,
                :INN, 
                :IP_LASTNAME, 
                :IP_FIRSTNAME, 
                :IP_MIDDLENAME, 
                :IP_GOSREGNUM,
                :IP_INN, 
                :LICENSE_REG_NUM, 
                :NUMDOC, 
                :SERDOC, 
                :DATA_END,
                :LICENSE_STATUSESFK, 
                :BASISTYPEDOCFK,
                :NUMLICDOC,
                :DATELICDOC,
                :REG_DATE,
                :BASISTYPEDOCFK_DUBL,
                :NUMLICDOC_DUBL,
                :DATELICDOC_DUBL,
                :DUBL,
                :CHECK_REASONS_DATES,
                :LICENSE_REG_NUM_OLD,
                :DATELICDOC_OLD,     
                :BASISTYPEDOCFK_NEW, 
                :NUMLICDOC_NEW,
                :DATELICDOC_NEW,     
                :LDS_ID,
                :LIC_NEW_LICENSEOLDFK
                do
                  BEGIN
                    FIELDINFO = ('Лицензия № ' || COALESCE(:LICENSE_REG_NUM,'') || ' ' || ' от ' || COALESCE(:DATELICDOC,'') || '; Идентификатор лицензии:' || COALESCE(:SYS_GUID,''));
                -- {4.1.1.
                    if (:SYS_GUID is null) then
                    begin
                      ERRORINFO = 'Не заполнено поле "Уникальный код источника"';
                      suspend;
                    end
                   if ((:RBD_SCHOOLFK is not null and :IPFK is not null) or (:RBD_SCHOOLFK is null and :IPFK is null)) then
                    begin
                      ERRORINFO = 'Не заполнено одно из полей: "Идентификатор юридического лица в ТРС" или "Идентификатор индивидуального предпринимателя в ТРС"';
                      suspend;
                    end   
                    if (:ORGNAME is null) then
                    begin
                      ERRORINFO = 'Не заполнено поле "Наименование лицензирующего органа"';
                      suspend;
                    end
                    if ((:SCHOOLNAME is not null and :RBD_SCHOOLFK is null) or (:SCHOOLNAME is null and :RBD_SCHOOLFK is not null)) then
                    begin
                      ERRORINFO = 'Не заполнено поле "Полное наименование юридического лица"';
                      suspend;
                    end
                    if ((:SCHOOLPROPERTYNAME is not null and :RBD_SCHOOLFK is null) or (:SCHOOLPROPERTYNAME is null and :RBD_SCHOOLFK is not null))  then
                    begin
                      ERRORINFO = 'Не заполнено поле "Организационно-правовая форма юридического лица"';
                      suspend;
                    end
                    if ((:SCHOOL_SUBTYPENAME is not null and :RBD_SCHOOLFK is null) or (:SCHOOL_SUBTYPENAME is null and :RBD_SCHOOLFK is not null)) then
                    begin
                      ERRORINFO = 'Не заполнено поле "Тип образовательного учреждения"';
                      suspend;
                    end
                    if ((:ADDRESS is not null and :RBD_SCHOOLFK is null) or (:ADDRESS is null and :RBD_SCHOOLFK is not null))  then
                    begin
                      ERRORINFO = 'Не заполнено поле "Адрес  места нахождения юридического лица"';
                      suspend;
                    end
                    if ((:RBD_SCHOOLFK is null and :KPP is not null) or (:RBD_SCHOOLFK is not null and :KPP is null)) then
                    begin
                      ERRORINFO = 'Не заполнено поле "КПП"';
                      suspend;
                    end
                    if ((:RBD_SCHOOLFK is null and :GOSREGNUM is not null) or (:RBD_SCHOOLFK is not null and :GOSREGNUM is null)) then
                    begin
                      ERRORINFO = 'Не заполнено поле "Государственный регистрационный номер записи о создании юридического лица"';
                      suspend;
                    end
                    if ((:RBD_SCHOOLFK is null and :INN is not null) or (:RBD_SCHOOLFK is not null and :INN is null)) then
                    begin
                      ERRORINFO = 'Не заполнено поле "Идентификационный номер налогоплательщика юридического лица"';
                      suspend;
                    end
                    if ((:IPFK is null and :IP_LASTNAME is not null) or (:IPFK is not null and :IP_LASTNAME is null)) then
                    begin
                      ERRORINFO = 'Не заполнено поле "Фамилия индивидуального предпринимателя"';
                      suspend;
                    end
                    if ((:IPFK is null and :IP_FIRSTNAME is not null) or (:IPFK is not null and :IP_FIRSTNAME is null)) then
                    begin
                      ERRORINFO = 'Не заполнено поле "Имя индивидуального предпринимателя"';
                      suspend;
                    end
                    if ((:IPFK is null and :IP_MIDDLENAME is not null) or (:IPFK is not null and :IP_MIDDLENAME is null)) then
                    begin
                      ERRORINFO = 'Не заполнено поле "Отчество индивидуального предпринимателя"';
                      suspend;
                    end
                    if ((:IPFK is null and :IP_GOSREGNUM is not null) or (:IPFK is not null and :IP_GOSREGNUM is null)) then
                    begin
                      ERRORINFO = 'Не заполнено поле "Государственный регистрационный номер записи о государственной регистрации индивидуального предпринимателя"';
                      suspend;
                    end
                    if ((:IPFK is null and :IP_INN is not null) or (:IPFK is not null and :IP_INN is null)) then
                    begin
                      ERRORINFO = 'Не заполнено поле "Идентификационный номер налогоплательщика индивидуального предпринимателя"';
                      suspend;
                    end
                    if (:LICENSE_REG_NUM is null) then
                    begin
                      ERRORINFO = 'Не заполнено поле "Номер лицензии"';
                      suspend;
                    end
                    if (:NUMDOC is null) then
                    begin
                      ERRORINFO = 'Не заполнено поле "Номер бланка"';
                      suspend;
                    end
                    if (:SERDOC is null) then
                    begin
                      ERRORINFO = 'Не заполнено поле "Серия бланка"';
                      suspend;
                    end
                    if (:LICENSE_STATUSESFK is null) then
                    begin
                      ERRORINFO = 'Не заполнено поле "Статус лицензии"';
                      suspend;
                    end
                    if (:BASISTYPEDOCFK is null) then
                    begin
                      ERRORINFO = 'Не заполнено поле "Тип документа основания о предоставлении лицензии"';
                      suspend;
                    end
                    if (:NUMLICDOC is null) then
                    begin
                      ERRORINFO = 'Не заполнено поле "Номер приказа (распоряжения) лицензирующего органа о предоставлении лицензии"';
                      suspend;
                    end
                    if (:DATELICDOC is null) then
                    begin
                      ERRORINFO = 'Не заполнено поле "Дата приказа (распоряжения) лицензирующего органа о предоставлении лицензии"';
                      suspend;
                    end
                    if (:REG_DATE is null) then
                    begin
                      ERRORINFO = 'Не заполнено поле "Дата внесения в реестр лицензий лицензирующего органа сведений о лицензиате"';
                      suspend;
                    end
                    if ((:DATELICDOC_DUBL is null and :DUBL = '1') or (:DATELICDOC_DUBL is not null and :DUBL is null))  then
                    begin
                      ERRORINFO = 'Не заполнено поле "Дата выдачи дубликата лицензии"';
                      suspend;
                    end
                    /*Основания и даты проведения проверок лицензиатов и реквизиты актов, составленных по результатам проведенных проверок – 
                    поле обязательно для заполнения, в случае если проверки проводились;*/
                    if (((:BASISTYPEDOCFK_NEW is null and :LDS_ID = '6') or (:BASISTYPEDOCFK_NEW is not null and :LDS_ID is null)) or ((:BASISTYPEDOCFK_NEW is null and :LIC_NEW_LICENSEOLDFK is not null) or (:BASISTYPEDOCFK_NEW is not null and :LIC_NEW_LICENSEOLDFK is null)))  then
                    begin
                      ERRORINFO = 'Не заполнено поле "Тип документа основания прекращения действия лицензии"';
                      suspend;
                    end
                    if (((:NUMLICDOC_NEW is null and :LDS_ID = '6') or (:NUMLICDOC_NEW is not null and :LDS_ID is null)) or ((:NUMLICDOC_NEW is null and :LIC_NEW_LICENSEOLDFK is not null) or (:NUMLICDOC_NEW is not null and :LIC_NEW_LICENSEOLDFK is null)))  then
                    begin
                      ERRORINFO = 'Не заполнено поле "Номер основания прекращения действия лицензии"';
                      suspend;
                    end
                    if (((:DATELICDOC_NEW is null and :LDS_ID = '6') or (:DATELICDOC_NEW is not null and :LDS_ID is null)) or ((:DATELICDOC_NEW is null and :LIC_NEW_LICENSEOLDFK is not null) or (:DATELICDOC_NEW is not null and :LIC_NEW_LICENSEOLDFK is null)))  then
                    begin
                      ERRORINFO = 'Не заполнено поле "Дата основания прекращения действия лицензии"';
                      suspend;
                    end 
                    -- 4.1.1.}
                    -- {4.2.1
                    if (:DATA_END < :DATELICDOC) then
                    begin
                        ERRORINFO = 'Срок действия меньше чем "Дата приказа (распоряжения) лицензирующего органа о предоставлении лицензии"';
                        suspend;
                    end
                    if (:DATELICDOC > :PAKET_DATE_TIME) then
                    begin
                        ERRORINFO = 'Дата приказа (распоряжения) лицензирующего органа о предоставлении лицензии больше даты формирования пакета';
                        suspend;
                    end
                    if (:REG_DATE > :PAKET_DATE_TIME) then
                    begin
                        ERRORINFO = 'Даты внесения в  реестр лицензий лицензирующего органа сведений о лицензиате больше даты формирования пакета';
                        suspend;
                    end  
                
                    if (:CHECK_REASONS_DATES is null) then
                    begin
                        ERRORINFO = 'Не заполнено поле "Основание и даты проведения проверок лицензиата, акты по результатам проверок"';
                        suspend;
                    end
                    if (DUBL = '1' and (:DATELICDOC_DUBL < :DATELICDOC)) then
                    begin
                        ERRORINFO = 'Дата выдачи дубликата лицензии меньше чем "Дата приказа (распоряжения) лицензирующего органа о предоставлении лицензии"';
                        suspend;
                    end 
                    if ((LDS_ID = '6' or :LIC_NEW_LICENSEOLDFK is not null) and (:DATELICDOC_NEW < :DATELICDOC)) then
                    begin
                        ERRORINFO = 'Дата основания прекращения действия лицензии меньше чем "Дата приказа (распоряжения) лицензирующего органа о предоставлении лицензии"';
                        suspend;
                    end 
                    -- 4.2.1}
                    --{4.2.4
                    if ((char_length(:GOSREGNUM) != 13) and (:RBD_SCHOOLFK is not null)) then
                    begin
                        ERRORINFO = 'Поле государственный регистрационный номер записи о создании юридического лица не является тринадцатизначным числом';
                        suspend;
                    end
                    if ((char_length(:GOSREGNUM) != 15) and (:IPFK is not null)) then
                    begin
                        ERRORINFO = 'Поле государственный регистрационный номер записи о государственной регистрации индивидуального предпринимателя не является пятнадцатизначным числом';
                        suspend;
                    end
                    --4.2.4}
                    -- {4.2.5
                    if ((char_length(:INN) != 10) and (:RBD_SCHOOLFK is not null)) then
                    begin
                        ERRORINFO = 'Поле индивидуальный номер налогоплательщика не является десятизначным числом';
                        suspend;
                    end

                    if ((char_length(:IP_INN) != 12) and (:IPFK is not null)) then
                    begin
                        ERRORINFO = 'Поле индивидуальный номер налогоплательщика не является двенадцатизначным числом';
                        suspend;
                    end
                    -- 4.2.5}
                    -- {4.2.6
                    if ((char_length(:KPP) != 9) and (:RBD_SCHOOLFK is not null)) then
                    begin
                        ERRORINFO = 'Поле код причины постановки на учёт (КПП) не является девятизначным числом';
                        suspend;
                    end
                -- 4.2.6}                 
                    END
                END



line: 54 четко указывает на FOR SELECT
ну а дальше ищи несоответствие в объявлении переменных в которые вносишь данные и в объявлении полей которые вытаскиваешь
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Ошибка выполнения хранимой процедуры code 335544914
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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