Имя: Пароль:
1C
1C 7.7
v7: Запрос по бух.Итогам.Сравнение с числом
0 Vigor06
 
17.02.15
16:06
Доброго дня!
Не пойму,что тут не так.
Запросом выбираю остатки по 41 счету на дату
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Сформировать");
    Ит = СоздатьОбъект("БухгалтерскиеИтоги");
    Ит.ИспользоватьСубконто(ВидыСубконто.Номенклатура,, 1);
    Ит.ВыполнитьЗапрос(, ВыбКонПериода, "41",,, 1,, "СК");
    Таб.ВывестиСекцию("Шапка");
    Таб.Опции(0,0,Таб.ВысотаТаблицы(),0);
    Ит.ВыбратьСубконто(ВидыСубконто.Номенклатура);
    Пока Ит.ПолучитьСубконто(ВидыСубконто.Номенклатура) = 1 Цикл
        //Если (ИТ.СКД() = 0 и ИТ.СКД(3) > 0) ИЛИ (ИТ.СКД() > 0 и ИТ.СКД(3) = 0) Тогда
            Таб.ВывестиСекцию("Субконто1");
        //КонецЕсли;
    КонецЦикла;


Но при попытке сравнить получаемое значение ИТ.СКД() с числом получаю "Ошибка в выражении"

Что может быть не так? Задача то тривиальная,не должно быть проблем....

спасибо
1 Vigor06
 
17.02.15
16:18
проверяю Тип(ИТ.СКД()) = 1,то есть число.

Ошибку выдает при попытке открытия обработки:

Если (ИТ.СКД() = 0 и ИТ.СКД(3) <<?>>> 0) ИЛИ (ИТ.СКД() > 0 и ИТ.СКД(3) = 0) Тогда
{C:\USERS\pc\DESKTOP\ОТЧЕТ 41 СЧЕТ.ERT(19)}: Неправильное использование арифметической или строковой операции
2 Масянька
 
17.02.15
16:26
(1)  Тип(ИТ.СКД()) = 1,то есть число.
А - ИТ.СКД(3)?
3 Vigor06
 
17.02.15
16:32
Так же http://gyazo.com/11596304144866dff117d3ded93bd51f
Разбил условие на 2 отдельных - ругается именно на сравнение ИТ.СКД(3)
http://gyazo.com/2328d7d95b1914c09221c48b1ef5b1c1
4 Vigor06
 
17.02.15
16:41
Сделал вот так,заработало)

Пока Ит.ПолучитьСубконто(ВидыСубконто.Номенклатура) = 1 Цикл
        Если ((ИТ.СКД() = 0) и (ИТ.СКД(3) > 0)) Тогда
            Таб.ВывестиСекцию("Субконто1");
        ИначеЕсли ((ИТ.СКД() > 0) и (ИТ.СКД(3) = 0)) Тогда
            Таб.ВывестиСекцию("Субконто1");
        КонецЕсли;
    КонецЦикла;
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший