Имя: Пароль:
1C
1C 7.7
v7: Выбрать папку из справочника товаров, а не один товар
,
0 aleksander1sk
 
03.09.15
12:55
Есть обработка:
                              //*******************************************

// Процедура генерации запроса Сформировать.
//

Процедура Сформировать()
    Перем Запрос, ТекстЗапроса, Таб;
    сз = СоздатьОбъект("СписокЗначений");
    спр = СоздатьОбъект("Справочник.дТовары");
    спр.НайтиПоКоду("9906");
    сз.ДобавитьЗначение(спр.текущийЭлемент());
    сз2 = СоздатьОбъект("СписокЗначений");
    спр = СоздатьОбъект("Справочник.дПунктыДоставки");
    спр.НайтиПоКоду("0002927-01");
    сз2.ДобавитьЗначение(спр.текущийЭлемент());
    //Создание объекта типа Запрос

    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)

    |Период с ВыбНачПериода по ВыбКонПериода;
    |Обрабатывать НеПомеченныеНаУдаление;
    |Продажи = Регистр.Продажи.Товар;
    |ТочкаДоставки = Регистр.Продажи.ТекущийДокумент.дкРасходнаяНакладная.рПунктДоставки;
    |Сумма = Регистр.Продажи.Сумма;
    |ТП = Регистр.Продажи.ТП;
    |Товар = Регистр.Продажи.Товар;
    |дкРасходнаяНакладная = Регистр.Продажи.ТекущийДокумент.дкРасходнаяНакладная.ТекущийДокумент;
    |Клиент = Регистр.Продажи.ТекущийДокумент.дкРасходнаяНакладная.рКлиент;
    |Функция СуммаСумма = Сумма(Сумма);
    |Функция Счётчик = Счётчик();
    |Группировка ТП;
// |Группировка Клиент;
    |Группировка дкРасходнаяНакладная упорядочить по дкРасходнаяНакладная.рПунктДоставки;
//  |Группировка Продажи1 по дкРасходнаяНакладная.рПунктДоставки;
    |Условие(ТП в ВыбТП);
    |Условие(Товар в сз);
    |Условие(НЕ(ТочкаДоставки в сз2));
    |"//}}ЗАПРОС

    ;
    // Если ошибка в запросе, то выход из процедуры

    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Возврат;
    КонецЕсли;

    // Подготовка к заполнению выходных форм данными запроса

    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Сформировать");
    // Заполнение полей "Заголовок"

    Таб.ВывестиСекцию("Заголовок");
    Состояние("Заполнение выходной таблицы...");
    Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
    Пока Запрос.Группировка(1) = 1 Цикл
        // Заполнение полей ТП

        Таб.ВывестиСекцию("ТП");
        Пока Запрос.Группировка(2) = 1 Цикл
            // Заполнение полей дкРасходнаяНакладная

            Таб.ВывестиСекцию("дкРасходнаяНакладная")
        КонецЦикла;
    КонецЦикла;
    // Заполнение полей "Итого"

    Таб.ВывестиСекцию("Итого");
    // Вывод заполненной формы

    Таб.ТолькоПросмотр(1);
    Таб.Показать("Сформировать", "");
КонецПроцедуры

Нужно сделать возможность выбирать не один элемент товара, а, например папку товаров. С Торговыми представителями (ТП) так получается, а с товаром нет.
1 mikecool
 
03.09.15
12:56
выбрать где? на форме? смотреть свойства поля выбора
2 Tatitutu
 
03.09.15
12:58
ВыборГруппы(<?>)
Синтаксис:
ВыборГруппы(<Режим>)
Назначение:
Установить режим выборки групп при интерактивном выборе элемента справочника.
Возвращает:
Текущее числовое значение режима выборки групп (на момент до исполнения метода) при интерактивном выборе элемента справочника.
Параметры:
<Режим> - режим выборки групп:
  1 - выбирать группы; 0 - не выбирать группы (необязателен, по умолчанию - 1).
Замечание:
Метод можно применять как объектов, созданных функцией СоздатьОбъект (интерактивный выбор осуществляется методом Выбрать), так и в диалогах для полей типа справочник.
По умолчанию, выборка элементов справочников для полей диалога в формах документов, журналов и справочников установлена без выбора групп, а в форме отчета - с выбором групп.
3 aleksander1sk
 
03.09.15
12:59
(1) На форме, стоит Поля Ввода ВыбТовар
4 aleksander1sk
 
03.09.15
13:00
(2) Метод можно применять как объектов, созданных функцией СоздатьОбъект (интерактивный выбор осуществляется методом Выбрать), так и в диалогах для полей типа справочник.
А где именно мне прописать: ВыборГруппы(1)?
5 Tatitutu
 
03.09.15
13:05
(4) реквизит на форме Товары

в модуле

ПриОткрытии()

Товары.ВыборГруппы(1);
.....

смотреть, думать.
6 aleksander1sk
 
03.09.15
13:30
А может кто-то конкретней расписать, а то я не очень понял. Буду очень благодарен=)
7 palpetrovich
 
03.09.15
13:36
(3) "На форме, стоит Поля Ввода ВыбТовар" - и что, не получается выбрать группу?

зы если надо иметь возможность выбирать и группу и элемент, ВыборГруппы - ни при делах!
8 aleksander1sk
 
03.09.15
13:44
(7) Не получается, при двойном клике просто заходит в папку, а не выбирает ее, пока не дойду до самого товара, а в ВыбТП работает нормально, выбирает Папку, а не заходит в нее
9 palpetrovich
 
03.09.15
13:58
(8) заведи новое поле ввода ВыбТовар2 того-же типа - проверь так-же работает?
10 aleksander1sk
 
03.09.15
14:02
(9) Так же
11 palpetrovich
 
03.09.15
14:05
(10) случайно не в дереве выбор пытаешься сделать?
12 aleksander1sk
 
03.09.15
14:06
(11) Нет, в самом поле справочника
13 Tatitutu
 
03.09.15
14:09
(10) https://yadi.sk/d/8IkuYif2iqvJn
пример 11 кб *.ert
14 palpetrovich
 
03.09.15
14:10
(12) ниччегонепонимаю(цы) ...ну добавь для прикола, посмотри что будет
Процедура ПриОткрытии()
Форма.ВыбТовар.ВыборГруппы(1)
КонецПроцедуры
15 Tatitutu
 
03.09.15
14:11
(12) и на владку Дополнительно - реквизита глянь\там форму выбора можно задать.
может у тебе в самой форме стоит запрет на выбор группы
16 Tatitutu
 
03.09.15
14:12
(14) в самом конце модуля формы
достаточно
ВыбТовар.ВыборГруппы(1)
17 palpetrovich
 
03.09.15
14:24
(16) не возражаю :)
18 aleksander1sk
 
03.09.15
14:24
(14) Ничего не произошло
19 aleksander1sk
 
03.09.15
14:25
(16) не помогло
20 palpetrovich
 
03.09.15
14:28
(19) выкладывай свою обработку в файлообменник куда-нить
21 aleksander1sk
 
03.09.15
14:33
(15) В форме добавил выбора справочника товары добавил:
ПриОткрытии()
ВыборГруппы(1)
Помогло
22 palpetrovich
 
03.09.15
14:37
(21) если "В форме добавил выбора справочника товары" читать как "В форме выбора справочника товары добавил" - то зря :)
23 aleksander1sk
 
03.09.15
14:39
(22) Я знаю, поэтому такой вариант мне и не подходит, я решил другим способом, добавил список и в него добавляю товаров процедурой