Имя: Пароль:
1C
1C 7.7
v7: 1С 7,7 в запросе поставить условие, все контрагенты, кроме
0 aleksander1sk
 
26.08.15
10:44
Есть запрос:
//*******************************************
// Процедура генерации запроса Сформировать.
//
Процедура Сформировать()
    Перем Запрос, ТекстЗапроса, Таб;
    //Создание объекта типа Запрос
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |Период с ВыбНачПериода по ВыбКонПериода;
    |Обрабатывать НеПомеченныеНаУдаление;
    |Продажи = Регистр.Продажи.Товар;
    |Продажи1 = Регистр.Продажи.ТочкаДоставки;
    |Сумма = Регистр.Продажи.Сумма;
    |ТП = Регистр.Продажи.ТП;
    |Товар = Регистр.Продажи.Товар;
    |дкРасходнаяНакладная = Регистр.Продажи.ТекущийДокумент.дкРасходнаяНакладная.ТекущийДокумент;
    |Функция СуммаСумма = Сумма(Сумма);
    |Функция Счётчик = Счётчик();
    |Группировка ТП;
    |Группировка дкРасходнаяНакладная упорядочить по дкРасходнаяНакладная.рПунктДоставки;
    |Условие(ТП в ВыбТП);
    |Условие(Товар в ВыбТовар);
    |"//}}ЗАПРОС
    ;
    // Если ошибка в запросе, то выход из процедуры
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Возврат;
    КонецЕсли;

    // Подготовка к заполнению выходных форм данными запроса
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Сформировать");
    // Заполнение полей "Заголовок"
    Таб.ВывестиСекцию("Заголовок");
    Состояние("Заполнение выходной таблицы...");
    Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
    Пока Запрос.Группировка(1) = 1 Цикл
        // Заполнение полей ТП
        Таб.ВывестиСекцию("ТП");
        Пока Запрос.Группировка(2) = 1 Цикл
            // Заполнение полей дкРасходнаяНакладная
            Таб.ВывестиСекцию("дкРасходнаяНакладная");
        КонецЦикла;
    КонецЦикла;
    // Заполнение полей "Итого"
    Таб.ВывестиСекцию("Итого");
    // Вывод заполненной формы
    Таб.ТолькоПросмотр(1);
    Таб.Показать("Сформировать", "");
КонецПроцедуры
Как написать условие, чтобы выбирались контрагенты все, кроме некоторых конкретных?
1 ДенисЧ
 
26.08.15
10:48
Условие (НЕ(Контрагент В СписокКонтрагентов));
2 aleksander1sk
 
26.08.15
10:50
(1) Спасибо, а как в СписокКонтрагентов добавить контрагентов со справочника, по коду например?
3 ДенисЧ
 
26.08.15
10:50
Создать список
найти по коду
добавить .ТекущийЭлемент()
повторить
4 aleksander1sk
 
26.08.15
11:11
(3) Спасибо, понимаю, что это уже наглость с моей стороны, но может ли кто-то написать эту часть на языке 1с:
Справочник - спКонтрагенты
5 ДенисЧ
 
26.08.15
11:13
сз = СоздатьОбъект("СписокЗначений");
спр = СоздатьОбъект("Справочник.Контрагенты");
спр.НайтиПоКоду(12345);
сз.ДобавитьЗначение(спр.текущийЭлемент());
спр.НайтиПоКоду(23456);
сз.ДобавитьЗначение(спр.текущийЭлемент());
Сообщить("А теперь вызовем программиста, и он запилит всё это по-нормальному");
6 aleksander1sk
 
26.08.15
11:29
(5) Огромное спасибо, я работаю сисадмином на фирме и пока только начинаю работать с программированием в 1с.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн