отчет Взаиморасчеты с контрагентами - разные авторы документов

Внимание! Данный форум является модерируемым.
Для получения к нему доступа необходимо зарегистрироваться или авторизоваться на сайте.

Страницы: 1
RSS
отчет Взаиморасчеты с контрагентами - разные авторы документов
 
Добрый день!
Генерирую отчет Взаиморасчеты с контрагентами с такими настройками:

и получается, что если кто-то ещё по этому контрагенту отпускал товар или получал деньги - автором сделки является другой менеджер, и открывший отчет менеджер установив в в качестве Автора сделки - не увидит реальную картину по балансу, т.к. в отчет не включаться документы и ПКО, которые сделали другие менеджеры... Как-то можно эту ситуацию обойти?

Пока что приходит в голову только: не устанавливать автора сделки, а выбрать конкретно контрагента.

Однако хочется видеть весь список контрагентов, которым менеджер что-то продавал с актуальным балансом по контрагенту, а не только по сделке этого менеджера. Т.к. могут быть переплаты из других заказов, или наоборот неоплаченные сделки, оформленные другим менеджером.
 
Похоже, что в Вашем случае взаиморасчеты ведутся не закрытием старых сделок, а созданием новых.
Посмотрите, включен ли в договоре флажок "Автоматическое закрытие сделок" это признак автоматического закрытия сделок по ФИФО. Если флажок не включен, то ПКО должно вводиться на основании документа, который сформировал дебиторскую задолженность например, Реализация товаров. Иначе ПКО не узнает о реализации и сформирует запись с операцией увеличение кредиторской задолженности вместо погашение дебиторской задолженности.
Находить такие записи в отчете легко используя в расшифровке добавление в отбор значение договора и отключения отбора по автору.
 
В договорах установлен флажок "Автоматическое закрытие сделок".
ПКО просто вводят кто как хочет - могут в привязке к конкретному заказу/реализации, а могут просто получить деньги на клиента - и делать могут это разные люди, поэтому, когда стоит отбор по Автору сделки, а документы вводил не только "Автор", не видно реального баланса по Контрагенту...

Итог, как я понял  - делать отбор по Контрагенту и снимать галку с автора сделки.

Как-то по-другому можно увидеть реальный баланс по всем клиентам менеджера, которым он что-то продавал, но при этом не выводя баланс по всем существующим клиентам в БД, т.к. долго очень генерится, и чем дальше тем дольше...?
 
Попробуйте добавить на форму настроек поле ввода с типом справочник "Пользователи" (это будет нужный менеджер) и кнопку создания отбора по всем контрагентам менеджера. В функции кнопки запрос, в котором получаем контрагентов по автору из регистра взаиморасчетов или самих документов  "Заказ покупателя",  "Счет на оплату", "Реализация товаров", "Заказ-наряд", "Отчет комиссионера", "Возврат от покупателя" думаю Вам виднее. Далее нужно добавить отбор по контрагентам:

МассивКонтрагентов = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Контрагент");

Фильтр=ПостроительОтчета.Отбор.Найти("Контрагент");
Если Фильтр=Неопределено Тогда
Фильтр = ПостроительОтчета.Отбор.Добавить("Контрагент", "Контрагент", "Контрагент");
КонецЕсли;
Фильтр.Использование = Истина;
Фильтр.ВидСравнения  = ВидСравнения.ВСписке;
Фильтр.Значение            = МассивКонтрагентов;
 
Виктор,  мы наверно чуть-чуть не понимаем друг друга.
Попытаюсь объяснить.
Есть Менеджер1 и Менеджер2, Клиент.
Менеджер1 - делает ЗаказПокупателя1 и Реализацю1 на сумму 100р.
Менеджер1 - делает ПКО1 на сумму 20р
Итог в отчете при установке по Автор=Менеджер1: долг по Клиент - "+80р" - клиент должен

далее

Менеджер2 - делает ЗаказПокупателя2 и Реализацию2 на сумму 200р.
Менеджер2 - делает ПКО2 на сумму 280р, чтобы закрыть в 0.
Итог в отчете при установке по Автор=Менеджер2: долг по Клиент - "-80р" - мы должны клиенту

теперь если сделать отчет при установке по Автор=Менеджер1, то будет долг по Клиент - "+80р" - клиент должен. хотя логичнее было бы показать 0. т.к. была переплата из ПКО2.

реальный баланс можно увидеть только сняв одбор по автору... что при выводе всех клиентов приводит к очень долгому генерированию отчета.

P.S. за отбор только по клиентам, которые ввел менеджер - спасибо, тоже использую.
 
Цитата
Александр Тугаенко пишет:
Виктор, мы наверно чуть-чуть не понимаем друг друга.

Код прислал для того чтоб не вводить вручную по одному контрагенту, а сразу всех для одного менеджера.

Цитата
Александр Тугаенко пишет:
Менеджер2 - делает ЗаказПокупателя2 и Реализацию2 на сумму 200р.
Менеджер2 - делает ПКО2 на сумму 280р, чтобы закрыть в 0.
Итог в отчете при установке по Автор=Менеджер2: долг по Клиент - "-80р" - мы должны клиенту

У первого и второго заказа используется один и тот же договор или они разные?
 
Цитата
Виктор Радько пишет:
У первого и второго заказа используется один и тот же договор или они разные?
одинаковый договор.
 
Пришлите скриншот договора. Интересуют сами настройки контрагент не важен
Изменено: Виктор Радько - 22.12.2010 17:05:18
 
сам договор
настройки отчета для 1-го менеджера
отчет для первого менеджера - до проведения договора 2-м и после - вид такой же,т.е. долг на клиенте 80у.е.
настройки отчета для 2-го менеджера
отчет для второго менеджера  
 
При вводе ПКО на основании реализации товаров у ПКО не устанавливается признак "Автоматическое закрытие сделок" хотя по настройкам договора должен включаться.

Зарегистрировал задачку под номером С0104787

Если у ПКО будет установлен флажок "Автоматическое закрытие сделок", то сделки с контрагентом будут закрываться автоматически в таком порядке: если у ПКО есть основание, то сначала будет погашение дебиторской задолженности по основанию, далее оставшаяся сумма идет на погашение дебиторской задолженности по незакрытых сделкам если осталась не распределенная сумма, то она пойдет на увеличение  кредиторской задолженности.
 
Виктор Радько,
Большое спасибо!
Таки в ПКО почему-то не проставлялась галочка "Автоматическое закрытие сделок"  :o , хотя в договоре была установлена.

P.S. Проверил: Если просто вводишь ПКО - то галочка установлена, а если на основании Заказа или Реализации - то снимается, несмотря на то, что установлено в договоре, поэтому и вылез этот вопрос...
Изменено: Александр Тугаенко - 23.12.2010 10:49:30 (добавлена информация)
 
В общем модуле дкДокументы нужно в процедуре дкОбработкаЗаполненияПоУмолчанию()
нужно код:
Если (МетаданныеДокумента.Реквизиты.Найти("ДоговорВзаиморасчетов")<>Неопределено) И обЗначениеНеЗаполнено(ЭтотОбъект.ДоговорВзаиморасчетов) Тогда
Если Основание<>Неопределено Тогда
Попытка
ЭтотОбъект.ДоговорВзаиморасчетов=Основание.ДоговорВзаиморасчетов;
Исключение
ЭтотОбъект.ДоговорВзаиморасчетов=Неопределено;
КонецПопытки;
Иначе
ЭтотОбъект.ДоговорВзаиморасчетов=Неопределено;
КонецЕсли;
Если ЭтотОбъект.ДоговорВзаиморасчетов=Неопределено Тогда
Если обЗначениеНеЗаполнено(ЭтотОбъект.ДоговорВзаиморасчетов) Тогда
ЭтотОбъект.ДоговорВзаиморасчетов=ЭтотОбъект.Контрагент.ОсновнойДоговорВзаиморасчетов;
КонецЕсли;
ЭтотОбъект.ОбработкаРеквизита("ДоговорВзаиморасчетов",);
КонецЕсли;
КонецЕсли;


заенить на этот:

Если (МетаданныеДокумента.Реквизиты.Найти("ДоговорВзаиморасчетов") <> Неопределено) И обЗначениеНеЗаполнено(ЭтотОбъект.ДоговорВзаиморасчетов) Тогда
Если Основание <> Неопределено Тогда
Попытка
ЭтотОбъект.ДоговорВзаиморасчетов = Основание.ДоговорВзаиморасчетов;
Исключение
ЭтотОбъект.ДоговорВзаиморасчетов = Неопределено;
КонецПопытки;
Иначе
ЭтотОбъект.ДоговорВзаиморасчетов = Неопределено;
КонецЕсли;
Если ЭтотОбъект.ДоговорВзаиморасчетов = Неопределено Тогда
Если обЗначениеНеЗаполнено(ЭтотОбъект.ДоговорВзаиморасчетов) Тогда
ЭтотОбъект.ДоговорВзаиморасчетов = ЭтотОбъект.Контрагент.ОсновнойДоговорВзаиморасчетов;
КонецЕсли;
КонецЕсли;

Если ЗначениеЗаполнено(ЭтотОбъект.ДоговорВзаиморасчетов) Тогда
ЭтотОбъект.ОбработкаРеквизита("ДоговорВзаиморасчетов",);
КонецЕсли;

КонецЕсли;
 
Виктор Радько,
Добрый день, а можно уточнить, пожалуйста, на что повлияет данное изменение?
Думал что на отчет, но это не так... на галочку "Автоматическое закрытие сделок"?
Изменено: Александр Тугаенко - 24.12.2010 11:30:52
 
Цитата
Виктор Радько пишет:
При вводе ПКО на основании реализации товаров у ПКО не устанавливается признак "Автоматическое закрытие сделок" хотя по настройкам договора должен включаться.
Этот код нужен для включения флага "Автоматическое закрытие сделок" при вводе на основании.
Отчет не исправить, он рабочий. Нужно проставить у всех ПКО флаг "Автоматическое закрытие сделок" и перепровести.
Можно попробовать так:
1. Написать обработку, которая делает выборку всех документов ПКО с условием, что документ проведен. В выборке документов из ссылки получаем объект, взводим флаг и проводим.
2. Протестировать на демо базе.
3. Попросить, чтоб в данный момент не проводили документы задним числом.
4. Восстановить все последовательности.
5. Запустить обработку.
6. Удалить записи во всех регистрах сведений "Границы последовательности  ...".
 
Спасибо, за разъяснения!
только не совсем понимаю, зачем в конце 6. Удалить записи во всех регистрах сведений "Границы последовательности ...".?
или после 6-го пункта надо опять восстановить все последовательности?
 
Если удалить записи в регистрах "Границы последовательности ...", то наоборот не будет фиксации нарушения последовательности и не придется их заново восстанавливать, поэтому нужно вначале восстановить все последовательности, чтоб не потерять реальные нарушения.
 
Понял, тогда однозначно надо в монопольном режиме это делать.
 
А в 20-м релизе код по корректному переносу галочки "Автоматическое закрытие сделок" при вводе документов на основании исправлен?
Просто у нас какая-то чехарда с этой галочкой. Во всех договорах галочка стоит, но в некоторых заказ-нарядах ее нет.
Сначала считали, что менеджеры косячат, но прочитав эту тему и попробовав на базе, выяснил, что галочка снимается не только в ПКО, выписываемых на основании, но и в заказ-нарядах, которые выписываются на основании заявки на ремонт. Надо перевыбрать договор, чтобы галочка поставилась (или поставить вручную).
 
В 20-м релизе у документов заполнение признака "Автоматическое закрытие сделок", уже исправлено.
Страницы: 1
Читают тему
Поддержка отраслевых решений «1С-Рарус»
Услуги 1С