Имя: Пароль:
1C
1С v8
Сравнение значений
,
0 Robert51
 
26.03.14
15:18
Перем ЛД;
Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ПоступлениеТоваровУслуг.Дата,
    |    УчитыватьНДС,
    |    ПоступлениеТоваровУслуг.Услуги.СуммаНДС,
    |    ПоступлениеТоваровУслуг.Организация КАК СокращенноеНаименованиеОрганизации,
    |    Организация КАК Организация,
    |    ЕСТЬNULL(Контрагент.НаименованиеПолное, """") КАК Контрагент,
    |    ЕСТЬNULL(ПоступлениеТоваровУслуг.ДоговорКонтрагента.Представление, """") КАК Основание,
    |    ЕСТЬNULL(ПоступлениеТоваровУслуг.ДоговорКонтрагента.Дата, """") КАК ДатаДоговора,
    |    ЕСТЬNULL(ПоступлениеТоваровУслуг.ДоговорКонтрагента.Номер, """") КАК НомерДоговора,
    |    ЗначенияСвойствОбъектов1.Значение КАК Сеансов,
    |    ЗначенияСвойствОбъектов2.Значение КАК Зрителей,
    |    ЗначенияСвойствОбъектов3.Значение КАК ПорядковыйНомер,
    |    ЗначенияСвойствОбъектов4.Значение КАК НачалоПериода,
    |    ЗначенияСвойствОбъектов5.Значение КАК Кинотеатр
   |ИЗ
    |    Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
    |     ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов1
    |        ПО ПоступлениеТоваровУслуг.Ссылка = ЗначенияСвойствОбъектов1.Объект
    |        И (ЗначенияСвойствОбъектов1.Свойство = &Сеансов)
    |     ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов2
    |        ПО ПоступлениеТоваровУслуг.Ссылка = ЗначенияСвойствОбъектов2.Объект
    |        И (ЗначенияСвойствОбъектов2.Свойство = &Зрителей)
    |     ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов3
    |        ПО ПоступлениеТоваровУслуг.Ссылка = ЗначенияСвойствОбъектов3.Объект
    |        И (ЗначенияСвойствОбъектов3.Свойство = &ПорядковыйНомер)
    |     ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов4
    |        ПО ПоступлениеТоваровУслуг.Ссылка = ЗначенияСвойствОбъектов4.Объект
    |        И (ЗначенияСвойствОбъектов4.Свойство = &НачалоПериода)
    |     ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов5
    |        ПО ПоступлениеТоваровУслуг.Ссылка = ЗначенияСвойствОбъектов5.Объект
    |        И (ЗначенияСвойствОбъектов5.Свойство = &Кинотеатр)
    |ГДЕ
    |    ПоступлениеТоваровУслуг.Ссылка = &ТекущийДокумент";

    Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект); //используем в качестве параметра реквизит обработки СсылкаНаОбъект
    Запрос.УстановитьПараметр("Сеансов", ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Сеансов"));
    Запрос.УстановитьПараметр("Зрителей", ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Зрителей"));
    Запрос.УстановитьПараметр("ПорядковыйНомер", ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("ПорядковыйНомер"));
    Запрос.УстановитьПараметр("НачалоПериода", ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("НачалоПериода"));
    Запрос.УстановитьПараметр("Кинотеатр", ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Кинотеатр"));
    Шапка = Запрос.Выполнить().Выбрать();
    Шапка.Следующий();
    
    //Созданим и заполним табличный документ
    ТабДокумент = Новый ТабличныйДокумент;
    Макет = ПолучитьМакет("Макет");
    ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
    ОбластьМакета.Параметры.Дата = Шапка.Дата;
    ТабДокумент.Вывести(ОбластьМакета);
    
    ОбластьМакета = Макет.ПолучитьОбласть("Поставщик");
    Если Шапка.Кинотеатр = "Мурманск" Тогда
        ЛД = "081-14 от 03.02.2014 г.";
    Иначе
        ЛД = "680-14 от 03.02.2014 г.";
    КонецЕсли;

Добрый день. Не получается сравнить значение в ЕСЛИ, помогите пожалуйста разобраться.
1 Strogg
 
26.03.14
15:20
Все просто, камрад, Шапка.Кинотеатр - это НЕ строка.
2 Robert51
 
26.03.14
15:26
(1)
Т.е. надо значение Шапка.Кинотеатр перевести в строку, а потом сравнивать?
3 Strogg
 
26.03.14
15:28
ф9точкаостановашифтф9шапка.кинотеатрсмотретьтипзначения
4 skunk
 
26.03.14
15:28
наверное как-то так

Если СОКРЛП(Шапка.Кинотеатр.Наименование) = "Мурманск" Тогда
5 salvator
 
26.03.14
15:29
Или в запросе через ВЫБОР уже получить значение переменной ЛД.
6 skunk
 
26.03.14
15:35
(5)и это более правильный вариант
7 Ненавижу 1С
 
гуру
26.03.14
15:36
предлагаю завести дополнительный РС ЗначенияЛД
8 Strogg
 
26.03.14
15:39
(7) а то и свойство кинотеатра
9 Robert51
 
26.03.14
16:32
(4) Получилось, спасибо!
надо будет покопаться во встроенных функциях языка.
10 Ненавижу 1С
 
гуру
26.03.14
23:48
(9) больше не делай так
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший