Имя: Пароль:
1C
1C 7.7
v7: Выборка контрагентов, подскажите пожалуйста
0 defre315
 
24.04.14
17:16
Всем привет, ребят подскажите пожалуйста как сделать так что бы отчет формировал, но не тянул две папки с контрагентами. тоесть сейчас он тянет всех контрагентов, они разнесены в 5 папок, нужно так что бы не тянуло 2.....подскажите пожалуйста как это осуществить?



Перем ВидСубконто;
Функция Проверки()
    флВозврата = 1;
    Если ((ПустоеЗначение(НачДата) = 1) ИЛИ (ПустоеЗначение(КонДата) = 1)) Тогда
        Сообщить("Укажите даты!", "!");
        флВозврата = 0;
    КонецЕсли;
    Если НачДата > КонДата Тогда
        Сообщить("Введите дату корректно!", "!");
        флВозврата = 0;
    КонецЕсли;
    Если СокрЛП(СпСчетов) = "" Тогда
        Сообщить("Укажите счет(а)!", "!");
        флВозврата = 0;
    КонецЕсли;
    Возврат флВозврата;
КонецФункции
//*******************************************
Процедура Сформировать()
    Если Проверки() = 0 Тогда
        Возврат;
    КонецЕсли;
    
    Ит = СоздатьОбъект("БухгалтерскиеИтоги");

    Ит.ИспользоватьПланСчетов(ПланыСчетов.Основной);
    Если фКонтр.Выбран()=0 тогда
        ит.ИспользоватьСубконто(видыСубконто.контрагенты,,1);
    иначе
        Если фКонтр.ЭтоГруппа()=1 тогда
            ит.ИспользоватьСубконто(видыСубконто.контрагенты,фКонтр,1);
        иначе
            ит.ИспользоватьСубконто(видыСубконто.контрагенты,фКонтр,2);
        Конецесли;
    Конецесли;
    Ит.ВключатьСубсчета(-1, 0);
    Ит.Опции(0, 0);
    Ит.ВыполнитьЗапрос(НачДата, КонДата, СпСчетов, "", , 3, 1);
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Таблица");
    Таб.ВывестиСекцию("Шапка");
    Ит.ВыбратьСубконто(1,,,,,,);
    Пока Ит.ПолучитьСубконто(1,,) = 1 Цикл
        Таб.ВывестиСекцию("Контрагент");
        Если флПоСчетам = 1 Тогда
            Ит.ВыбратьСчета(,,,);
            Пока Ит.ПолучитьСчет(,) = 1 Цикл
                Таб.ВывестиСекцию("Счет");
            КонецЦикла;
        КонецЕсли;
1 defre315
 
24.04.14
17:22
ребят, подскажите пожалуйста
2 Chum
 
24.04.14
17:27
Загоняй две группы/папки в список, в цикле при обходе проверяй входимость родителя в этот список.
3 defre315
 
24.04.14
17:31
(2) подскажи пожалуйста как их загнать туда
4 ALoHA
 
24.04.14
17:37
В стандартных отчетах есть пример. Там на форме список значений и кнопки добавления/удаления.
5 Рэйв
 
24.04.14
17:40
()>>подскажите пожалуйста

Подсказываю
Бросай срочно 77!
иначе отстанешь от поезда совсем.
6 Рэйв
 
24.04.14
17:41
тут уже 8.3 есть за что не любить, а ты все еще 77 ненавидишь...Стремись к росту что ли..
7 defre315
 
24.04.14
17:43
(6) да буду стремится, только вот с этим разберусь)
8 Рэйв
 
24.04.14
17:45
(7)>>только вот с этим разберусь
ха.
3 раза.
по опыту многих "Вот только щас разберусь" может на годы затянуться:-)

Ну если хочешь  - разберись:-)
9 defre315
 
24.04.14
17:48
(4) не получится, идут папки, в одной из них ещё куча папок и контрагентов которые без папок....и мне как раз надо что бы во второй папке не тянуло несколько папок, мне говорили что есть функция, в которой можно прописать типо исключение коды папок, и они не будут братся, а вот куда вставить эту функцию и как она правильно пишется, не знаю(
может подскажите кто знает как делать?? пожалуйста
13 defre315
 
24.04.14
17:55
(12) http://pixs.ru/showimage/Bezimyanni_9724132_11830656.png
вот, из всех тех папок нужно что бы не тянуло, карпарацию, и карпарацию 2
14 Попытка1С
 
24.04.14
17:56
Проще тогда сформировать список контрагентов из этих папок, и при обходе исключать их по условия нахождения в списке.
15 zak555
 
24.04.14
17:58
(5) +1
на следующей неделе ожидается выход 8.3.5
16 ДенисЧ
 
24.04.14
17:59
(5) НЕ учи человека плохому...
17 Злопчинский
 
24.04.14
18:00
угу.. бросай 7.7 - как раз появится время разбираться с вечными глюками снеговика.. ;-)
.
"когда у мен яне было машины я везде опаздывал, теперь, когду у меня есть машина я успеваю везде - и на заправку, и в гаи, и на техосмотр"
18 zak555
 
24.04.14
18:00
надо два запроса по двум папкам ?
19 Попытка1С
 
24.04.14
18:01
(18) Ему надо чтобы в отчет не попадали контрагенты из этих двух папок.
20 zak555
 
24.04.14
18:05
(19) тогда 14
21 ALoHA
 
24.04.14
18:05
(9) Это оно и есть. И этот список с контрами в субконто вместо твоего фконтр подключается.
22 defre315
 
25.04.14
01:47
(21) ну а как его подключить?
почему помощи и прошу, ибо не знаю как єто сделать
23 GreyK
 
25.04.14
02:05
(22) Надо наверное сделать список значений и заполнить его злементами (не групами) и использовать в отборе как у тебя уже сделанно.
Это можно сделать по разному, можно выборкой элементов, а можно и запросом (конструктор запросов прячктся в менюшках 1Ски, но всё-же его можно найти).
24 JeHer
 
25.04.14
04:09
(23)+
На форму список значений, туда закинуть две группы, которые не должны попадать в выборку. Запросом вытянуть из этих групп элементы контрагентов, закинуть их в другой список. Во втором запросе сделать исключение из второго списка. Как-то так.
25 Duke1C
 
25.04.14
09:03
(23) (24) ну блин научите щас
(0) тебе в (2) уже дали ответ, почти правильный

СписокГрупп=СоздатьОбъект("СписокЗначений"); // Или список на форме, в него закинь эти свои ненужные группы
а потом:

Пока Ит.ПолучитьСубконто(1,,) = 1 Цикл
      Контр=Ит.Субконто(1);
      Если СписокГрупп.Принадлежит(Контр)=1 Тогда
           Продолжить;
      КонецЕсли;
        Таб.ВывестиСекцию("Контрагент");
        Если флПоСчетам = 1 Тогда
            Ит.ВыбратьСчета(,,,);
            Пока Ит.ПолучитьСчет(,) = 1 Цикл
                Таб.ВывестиСекцию("Счет");
            КонецЦикла;
        КонецЕсли;
КонецЦикла;
Наслаждайся...
26 zak555
 
25.04.14
09:04
(25) итог самому считать ?
27 Duke1C
 
25.04.14
09:07
а про итоги у ТС ни слова :)
Пока я вижу только "...так что бы отчет формировал, но не тянул две папки с контрагентами..."
28 Duke1C
 
25.04.14
09:15
+27 да и посчитать то не проблема если что