Имя: Пароль:
1C
1С v8
Неверные параметры в Запросе?
0 ЭЦ
 
22.03.12
14:22
Счет =  ПланыСчетов.Хозрасчетный.НайтиПоКоду("01");
Запрос.УстановитьПараметр("СЧЕТ",Счет);
//-------------------------------------------------
|ВЫБРАТЬ
| ВЫБОР
|   КОГДА ХозрасчетныйОстатки.СуммаОстатокДт <> 0
|    ТОГДА ХозрасчетныйОстатки.Счет
|   ИНАЧЕ
|    &НУЛЕВОЙ_СЧЕТ
| КОНЕЦ КАК СчетДт,
| ВЫБОР
|   КОГДА ХозрасчетныйОстатки.СуммаОстатокДт <> 0
|    ТОГДА ХозрасчетныйОстатки.Субконто1
|   ИНАЧЕ
|    NULL
| КОНЕЦ КАК СубконтоДт1
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Остатки(&НАЧ_ДАТА,
|   Счет В ИЕРАРХИИ(&СЧЕТ), , Организация = &ОРГ)
|   КАК ХозрасчетныйОстатки        
//------------------
Конструктор прохождит нормально.
При выполнении грит :
--------------------------
Произошла исключительная ситуация (1C:Enterprise 8.2.15.301): {(10, 69)}: Неверные параметры
РегистрБухгалтерии.Хозрасчетный.Остатки(&НАЧ_ДАТА,
Счет В ИЕРАРХИИ(<<?>>&СЧЕТ), , Организация = &ОРГ) КАК ХозрасчетныйОстатки
------------------------------------
Значение
Что тут может быть не так?
Прошу подсказать.
1 golden-pack
 
22.03.12
14:30
Тип значения параметра СЧЕТ
2 golden-pack
 
22.03.12
14:32
Счет =  ПланыСчетов.Хозрасчетный.НайтиПоКоду("01");
//Счет то найден ?
3 ЭЦ
 
22.03.12
14:33
Исходя из
Счет =  ПланыСчетов.Хозрасчетный.НайтиПоКоду("01");
Запрос.УстановитьПараметр("СЧЕТ",Счет);

тип =   ПланыСчетовСсылка.Хозрасчетный
4 ЭЦ
 
22.03.12
14:34
(2) Ну да отладчик показывает 01
5 golden-pack
 
22.03.12
14:34
С регистром бухгалтерии связан другой план счетов.
6 ЭЦ
 
22.03.12
14:38
(5) Да не у меня УПП
с регистром Хозрасчетный связан ПС Хозрасчетный
проверил.
7 Beduin
 
22.03.12
14:39
(6) Выложи полный текст кода.
8 Omskdizel
 
22.03.12
14:39
А 01 счет имеет подсчета?
9 КМ155
 
22.03.12
14:40
(8)[подсчета]
пятнично
10 golden-pack
 
22.03.12
14:41
(8) Субсчета имеет ... а какая разница ?

(6) Я таких запросов - десятки в день рисую - исходя из ваших постов - невозможна такая ошибка
11 Omskdizel
 
22.03.12
14:41
(9) Да хоть воскречнично
12 ЭЦ
 
22.03.12
14:43
_Запрос.УстановитьПараметр("ОРГ",ОРГ);
_Запрос.УстановитьПараметр("НАЧ_ДАТА",НачалоДня(НачПериода));
_Запрос.УстановитьПараметр("КОН_ДАТА",КонецМесяца(КонПериода));
   
Если фВидОперации = _ВИД_БУХ_ОПЕРАЦИИ_СН_ДВИЖЕНИЯ Тогда
ИначеЕсли фВидОперации = _ВИД_БУХ_ОПЕРАЦИИ_ОСТАТКИ_01
     ИЛИ фВидОперации = _ВИД_БУХ_ОПЕРАЦИИ_ОСТАТКИ_02 Тогда
 Счет = неопределено;  
 Счет000 = ПланыСчетов.Хозрасчетный.НайтиПоКоду("000");
 Если фВидОперации = _ВИД_БУХ_ОПЕРАЦИИ_ОСТАТКИ_01 Тогда
   Счет = ПланыСчетов.Хозрасчетный.НайтиПоКоду("01");
 ИначеЕсли фВидОперации = _ВИД_БУХ_ОПЕРАЦИИ_ОСТАТКИ_02 Тогда
   Счет = ПланыСчетов.Хозрасчетный.НайтиПоКоду("02");
 КонецЕсли;    
 Если Счет = неопределено тогда
   Предупреждение("НЕОЖИДАННЫЙ ВИД ОПЕРАЦИИ ПРИ ПОИСКЕ СЧЕТА ! " +    СокрЛП(фВидОперации));
           Возврат;
       ИначеЕсли Счет = ПланыСчетов.Хозрасчетный.ПустаяСсылка() тогда
           Предупреждение("НЕ НАЙДЕН СЧЕТ !");
           Возврат;
       ИначеЕсли Счет000 = ПланыСчетов.Хозрасчетный.ПустаяСсылка() тогда
           Предупреждение("НЕ НАЙДЕН 000 СЧЕТ !");
           Возврат;
       КонецЕсли;    
       
       _Запрос.УстановитьПараметр("МОЙ_СЧЕТ",Счет);
       _Запрос.УстановитьПараметр("НУЛЕВОЙ_СЧЕТ",Счет000);

       _Запрос.Текст = "
       |ВЫБРАТЬ

       |    ВЫБОР
       |        КОГДА ХозрасчетныйОстатки.СуммаОстатокДт <> 0
       |            ТОГДА ХозрасчетныйОстатки.Субконто1
       |        ИНАЧЕ
       |            NULL
       |    КОНЕЦ КАК СубконтоДт1
       |ИЗ
       |    РегистрБухгалтерии.Хозрасчетный.Остатки(&НАЧ_ДАТА, Счет В ИЕРАРХИИ(&МОЙ_СЧЕТ), , Организация = &ОРГ) КАК ХозрасчетныйОстатки        

       |";
   
   Иначе
       МойСообщить("НЕОЖИДАННЫЙ ВИД ОПЕРАЦИИ = " + СокрЛП(фВидОперации),_СТАТУС_НЕОЖИДАННО_НЕ_НАЙДЕН_ОБЪЕКТ);
   КонецЕсли;
   
   Рез = _Запрос.Выполнить();
13 ЭЦ
 
22.03.12
14:46
_Запрос.УстановитьПараметр("ОРГ",ОРГ);
_Запрос.УстановитьПараметр("НАЧ_ДАТА",НачалоДня(НачПериода));
_Запрос.УстановитьПараметр("КОН_ДАТА",КонецМесяца(КонПериода));
   
Если фВидОперации = _ВИД_БУХ_ОПЕРАЦИИ_СН_ДВИЖЕНИЯ Тогда
ИначеЕсли фВидОперации = _ВИД_БУХ_ОПЕРАЦИИ_ОСТАТКИ_01
 ИЛИ фВидОперации = _ВИД_БУХ_ОПЕРАЦИИ_ОСТАТКИ_02 Тогда
   Счет = неопределено;  
   Счет000 = ПланыСчетов.Хозрасчетный.НайтиПоКоду("000");
   Если фВидОперации = _ВИД_БУХ_ОПЕРАЦИИ_ОСТАТКИ_01 Тогда
       Счет = ПланыСчетов.Хозрасчетный.НайтиПоКоду("01");
   ИначеЕсли фВидОперации = _ВИД_БУХ_ОПЕРАЦИИ_ОСТАТКИ_02 Тогда
       Счет = ПланыСчетов.Хозрасчетный.НайтиПоКоду("02");
   КонецЕсли;    
Если Счет = неопределено тогда
Предупреждение("НЕОЖИДАННЫЙ ВИД ОПЕРАЦИИ ПРИ ПОИСКЕ СЧЕТА ! "  СокрЛП(фВидОперации));
Возврат;
ИначеЕсли Счет = ПланыСчетов.Хозрасчетный.ПустаяСсылка() тогда
Предупреждение("НЕ НАЙДЕН СЧЕТ !");
Возврат;
ИначеЕсли Счет000 = ПланыСчетов.Хозрасчетный.ПустаяСсылка() тогда
Предупреждение("НЕ НАЙДЕН 000 СЧЕТ !");
Возврат;
КонецЕсли;    
       
_Запрос.УстановитьПараметр("МОЙ_СЧЕТ",Счет);
_Запрос.УстановитьПараметр("НУЛЕВОЙ_СЧЕТ",Счет000);

_Запрос.Текст = "
|ВЫБРАТЬ
|    ВЫБОР
|        КОГДА ХозрасчетныйОстатки.СуммаОстатокДт <> 0
|            ТОГДА ХозрасчетныйОстатки.Субконто1
|        ИНАЧЕ
|            NULL
|    КОНЕЦ КАК СубконтоДт1
|ИЗ
|    РегистрБухгалтерии.Хозрасчетный.Остатки(&НАЧ_ДАТА, Счет В ИЕРАРХИИ(&МОЙ_СЧЕТ), , Организация = &ОРГ) КАК ХозрасчетныйОстатки        
|";
   
Иначе
   МойСообщить("НЕОЖИДАННЫЙ ВИД ОПЕРАЦИИ = " + СокрЛП(фВидОперации),_СТАТУС_НЕОЖИДАННО_НЕ_НАЙДЕН_ОБЪЕКТ);
КонецЕсли;
   
Рез = _Запрос.Выполнить();
14 Omskdizel
 
22.03.12
14:46
(12) Стильненько
15 golden-pack
 
22.03.12
14:47
(12) Похоже на *овнокод, что капслоком случилось ?

Перед выполнением запроса - вычисли в отладчике - значение параметра МОЙ_СЧЕТ
16 ЭЦ
 
22.03.12
14:50
Все господа !
Понял в чем дело.
У меня запрос это COM объект.
Поэтому правильно будет
_Соединение.ПланыСчетов.Хозрасчетный.НайтиПоКоду("01");
17 ЭЦ
 
22.03.12
14:51
Спасибо.
18 Omskdizel
 
22.03.12
14:53
Оригинально :)
19 Divemaster
 
22.03.12
15:01
А слона то и не приметил..)))) Для кома параметры с той стороны надо брать.
Независимо от того, куда вы едете — это в гору и против ветра!