Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Взаиморасчеты: Фильтр по торговым агентам
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
NukeHate
Здравствуйте. Есть конфигурация 1с 7.7 "Торговля+склад" (7.70.021). В каждой расходной накладной сделано обязательное поле "Ответственный" (Которое берется из справочника) - это ФИО торгового агента, который продал товар. Так вот, нужно в отчете "Взаиморасчеты" добавить возможность фильтровать по этому ответственному - т.е. чтобы вывело только документы с выбранным ответственным. В самом отчете используется запрос который берет данные из регистра "ВзаиморасчетыСПоставщиками", и "ВзаиморасчетыСПоставщиками". Вот мне нужно как то фильтровать "ВзаиморасчетыСПокупателями", однако совсем не знаю как. Я пробовал добавить в регистр новое измерение "ответственный", однако не знаю, как заполнить его данными, по которым будет фильтроваться. Также я написал небольшой кусок кода, который делает сортировку, однако сумма не меняется, и код этот ужасен faceoff.gif Выкладываю его ниже:
расх1 = СоздатьОбъект("Документ.РасходнаяНакладная");  
расх1.ВыбратьДокументы(Дата1,Дата2);  
Док1 = Запрос.Докум;
печдок1 = глДокументВОтчете(Док1,"с номером","с датой",Язык);  
Пока расх1.ПолучитьДокумент() = 1 цикл
расх2 = ("Расходная накладная №"+расх1.номердок+" от "+расх1.датадок);
        Если расх2 = печдок1 тогда
        ПечатьОтв = расх1.ответственный;
    КонецЕсли;
КонецЦикла;

Подскажите пожалуйста, хоть в какую сторону копать? Можно ли как-то это сделать в самом регистре, либо в запросе?
Ardi
Взаиморассчеты (на регистре) ведутся в разрезе чего?
NukeHate
В разрезе документов и контрагентов.
vadim007
Цитата(NukeHate @ 29.05.12, 19:29) необходимо зарегистрироваться для просмотра ссылки
Подскажите пожалуйста, хоть в какую сторону копать? Можно ли как-то это сделать в самом регистре, либо в запросе?

Ваша задача требует конкретной доработки отчета Взаиморасчеты:
1. Доработка диалога отчета: добавить детализацию по Ответственным.
2. Доработка модуля отчета:
- добавить в запрос строку выборки Ответственного. Здесь м.б. нюансы, т.к. только в одной РН у Вас добавлен реквизит Ответственный. Лучше в качестве ответственного выбирать Автора документа.
- добавить в процедуру ВывестиКонтрагентовИДоговораВОтчетеПоПоставщикамИлиПокупателям() текст для фильтрации Ответственного в случае отметки флага Ответственные в диалоге.
Большего Вам здесь не подскажут, делать Вашу работу за Вас никто не будет. Успехов.
NukeHate
Ну я и не собирался, что-бы кто-то это делал за меня.
Проблему решил таким вот образом - в диалоговом окне добавил выборответственного (самое первое что сделал). Потом в запросе добавил строку
|Ответственный = Регистр.ВзаиморасчетыПокупателей.ТекущийДокумент.РасходнаяНакладная.Ответственны
й;

Честно говоря, пробовал это и раньше, но не указывал вид документа, т.е. писал тоже самое без "РасходнаяНакладная", из-за чего выдавало ошибку. А потом добавил условие, если в диалоге строка ответственный не пустая, то в запрос добавляется условие
//ВыборОтветственного - выбор ответственного в диалоговом окне
ТекстЗапроса = ТекстЗапроса + "
| Ответственный = ВыборОтветственного;";


Всем спасибо,не нервничайте

Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.