7.7 Не выходит

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Archivar, 18 янв 2014.

  1. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Попробуйте "включить голову" и посмотреть что вы написали......

    Код:
    Если (категории<> Ит.Субконто().категории) и (1>Ит.СКД("К")) Тогда
    Если Категория не равна выбранной И количество больше единицы. В именно так хотели?
    М.б. так?
    Код:
    Если (категории<> Ит.Субконто().категории) или (1>Ит.СКД("К")) Тогда
    Если Категория не равна выбранной ИЛИ количество меньше единицы - не выводить. Т.е. выводим нужную категорию и количество больше 1


    Код:
    Если (категории<>спр.категории) и (Спр.ЭтоГруппа()+СЗ.Принадлежит(Спр.ТекущийЭлемент())+Спр.ПометкаУдаления()<>0) Тогда
    Тут тоже не верно. "И" замените на "ИЛИ" тогда фильтр станет работать.

    Я вам все же рекомендую почитать литературу по программированию и понять чем отличаются "И" от "ИЛИ" в условии сравнения.
  2. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26

    Результат операции and (И) есть истина, только если оба ее операнда истинны, и ложь во всех других случаях.

    Результат операции or (ИЛИ) есть истина, если какой-либо из ее операндов истинен, и ложен только тогда, когда оба операнда ложны.


    Так судя же из данного определения И только если оба оператора истинны - и я судил так что мне надо чтобы они одновременно выполнялись.
  3. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    вы не правы... У вас или категория не та или остатки не те... В этом случае - не выводим
  4. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    ааа т.е. тут мм размышлять надо: не то что они есть , а чисто чтобы не такие?
  5. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    ну там условие на прерывание дальнейшего выполнения кода стоит... Все же ПРОСТО. Подумайте чуточку
  6. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    http://files.mail.ru/757E63733D1D4BE5B7951D9901C3CA7A
    Сейчас происходит следующее: она БИ формирует неправильно((( опять в беспорядке
  7. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    1) что значит в беспорядке?
    2) Что за бред вы тут написали?
    Код:
    Если Спр.ЭтоГруппа()=0 Тогда
    Если (категории<>спр.категории) или (Спр.ЭтоГруппа()+СЗ.Принадлежит(Спр.ТекущийЭлемент())+Спр.ПометкаУдаления()<>0) Тогда
    Продолжить;  
    КонецЕсли;
    //_____________________________________________________________________________
    
    КонецЕсли;  
    
    ЗАЧЕМ ЛИШНЕЕ УСЛОВИЕ?
  8. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    1) значит - что непонятно по какому принципу сформирован по БИ условие : (1>Ит.СКД("К") по этому условию везде формировала меньше нуля - ( 0.8 кг и т.п.) тепрь и 800 и 1 и 15 и -1 бывает даже, логика отбора не ясна;


    2)
    Код:
    Если Спр.ЭтоГруппа()=0 Тогда
    - если вы про это, то это вы......
    я сначала тоже думал - зачем, но решил что я просто не догоняю...
  9. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    Я понял свою ошибку((((((( при соединении я его просто не убрал(( извините что свалил на Вас(

    Код:
    Если Спр.ЭтоГруппа()=0 Тогда
    я убрал это условие, но если проставлять в реквизите -категории- например 1, то опять хз по какой логике происходит формирование всего(
  10. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    судя по вашему условию (из последней обработки) должны выводится остатки больше единицы и нулевые.
  11. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    Да действительно....

    Тогда вопрос: http://files.mail.ru/B29B30057C7243CA8C973C7255C7328D - это помните предыдущая, где условия еще не объеденины, там
    Код:
    (1>Ит.СКД("К"))
    тут она меньше единицы выдает, если знак менять то - больше единицы выдает, с чем это связано?
  12. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
  13. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    то что не объединены условия в ДАННОМ случае роли не играет. Ибо стоит ИЛИ. Т.е. или 1е или 2е условие. Т.е. они МОГУТ быть по отдельности.
    Если (как у вас было ранее ошибочно) стояло бы "И". Тогда условие истинно при выполнении обоих условий. Извиняюсь за тафтологию..

    В последнем варианте у вас
    Код:
    (1<Ит.СКД("К"))
    Т.е. читаем буквально "итоги меньше единицы"
  14. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    да но я не понял как это объясняет что в той версии
    Код:
    (1>Ит.СКД("К"))
    - и оно выводит также как в этой при знаке:
    Код:
    (1<Ит.СКД("К"))
  15. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    вы КРАЙНЕ не внимательны. Там и стоит
    Код:
    (1<Ит.СКД("К"))
    не на вывод результата, а на отказ... Т.е. будут выводится меньше единицы
  16. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    ((((((((( действительно......................................

    сори.....я понял свою ошибку......

    я там поставил
    Код:
    (0,9<Ит.СКД("К"))
    , т.к. если 1 ставить, она и строки равные единице тоже выводит.
    Спасибо)

    Вопрос) сори что заваливаю)
    Вот в чем он заключается:
    Я оформляю табличную часть. Например для вывода по справочнику Наименование - я ставлю выражение -
    Код:
    Спр.ТекущийЭлемент()
    для графы количества я ставлю
    Код:
    Спр.ЕдИзм
    и артикул таким же образом. При этом я в модуле ничего не пишу. И как я предполагаю он всю инфу забирает напрямую. Хочу вывести Цену по то же схеме описанной выше. Пишу Спр.Цена и оно не выводит( ну и предпринял другие комбинации, и ничего не вышло. И вот вопрос, для этого надо писать в модуле ссылку какую-либо? или еще что? мб принцип есть какой. С БИ все проще)
  17. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Цена (если это реквизит справочника) может быть периодическим реквизитом.
    Для того чтобы его получить нужно использовать соответствующий метод, а именно:

    Код:
    Спр.Цена.Получить(ТекущаяДата())
    А в условии чтобы НЕ выводило и единицу достаточно поставить "<="
  18. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    Спасибо) получилось

    Осталось два последних вопроса:
    1) Вот цену он выводит - по справочнику по вашему коду
    Код:
    Спр.Цена.Получить(ТекущаяДата())
    Но выводит их в формате числа, а не денежном как БИ, т.е. Би 1324-00, а спр.Цена - чисто 1324. Возможно ли формат поменять?
    2) Вы говорили про то, что если надо иерархия списка(по алфавиту) нужна ТаблицаЗначений, в инете я ищу и нахожу что ее создание непосредственно связано с созданием новых колонок. Это так? или это необязательно?
  19. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    1) можно... Формат(Спр.Цена.Получить(ТекущаяДата()),"Ч10.2")
    2) Обязательно.
    Код:
    Таб=СоздатьОбъект("ТаблицаЗначений");
    Таб.НоваяКолонка("Товар");
    Таб.НоваяКолонка("Цена");
    //и т.д.
  20. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    1)
    Код:
    Спр.Цена.Получить(ТекущаяДата()) #Ч015.2-,
    - я так поставил и получилось)
    ________________________________________________________________________________________________________

    Как правильно реализовать? :
    Код:
    Если (категории=1 и Ит.Субконто().категории=1) или (1<=Ит.СКД("К")) Тогда
    Продолжить;  
    КонецЕсли;

Поделиться этой страницей