Имя: Пароль:
1C
 
Как отобразить документ корректировки долга в акте сверки взаиморасчетов? БП 20
0 King-SD
 
18.08.15
06:42
Доброго времени суток! Есть документ - акт сверки взаиморасчетов. при выборе договора заполнение идет по нему и в табличной части заполняется с документом корректировка долга. Если же счет не выбирать, то заполняется по всем за выбраный период,, но без корректировки долга. Как сделать чтобы в такой случае она тоже выводилась??? Может что-то выбрать или дописать нужно?
1 FireAlex
 
18.08.15
06:51
необходимо обработку заполнения менять или делать внешнюю обработку заполнения. В запросе условие менять нужно.
2 King-SD
 
18.08.15
07:30
(1) Ну это логично. Вот я и спрашиваю что конкретно нужно поменять
3 FireAlex
 
18.08.15
07:46
смотри в запросе есть лишнее условие - что если контрагент одинаковый но разные договора то не выводить...
4 King-SD
 
18.08.15
07:52
Есть такая процедура.Что тут можно убрать? Я попробовал убрать все условия в запросе, но ничего не изменилось


Процедура СписокСчетовСчетНачалоВыбора(Элемент, СтандартнаяОбработка)

    СтандартнаяОбработка = Ложь;
    
    Запрос = Новый Запрос("ВЫБРАТЬ
                          |    Хозрасчетный.Ссылка КАК Счет
                          |ИЗ
                          |    ПланСчетов.Хозрасчетный КАК Хозрасчетный
                          |ГДЕ
                          |    Хозрасчетный.Забалансовый = ЛОЖЬ
                          |    И Хозрасчетный.ВидыСубконто.ВидСубконто = &ВидСубконтоКонтрагент
                          |    И Хозрасчетный.ВидыСубконто.ВидСубконто = &ВидСубконтоДоговор
                          |    И ВЫБОР
                          |            КОГДА &ФильтроватьПоСписку = ИСТИНА
                          |                ТОГДА (НЕ Хозрасчетный.Ссылка В ИЕРАРХИИ (&СчетаУжеВыбраны))
                          |            ИНАЧЕ ИСТИНА
                          |        КОНЕЦ
                          |    И (НЕ Хозрасчетный.Ссылка В ИЕРАРХИИ (&СписокИсключаемыхСчетов))
                          |
                          |УПОРЯДОЧИТЬ ПО
                          |    Хозрасчетный.Порядок");

    Запрос.УстановитьПараметр("ВидСубконтоКонтрагент", ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты);
    Запрос.УстановитьПараметр("ВидСубконтоДоговор", ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры);
    
    ФильтрСписокСчетов = СписокСчетов.ВыгрузитьКолонку("Счет");
    КоличествоСчетов = ФильтрСписокСчетов.Количество();
    Для Счетчик = 1 по КоличествоСчетов Цикл
        Если НЕ ЗначениеЗаполнено(ФильтрСписокСчетов[КоличествоСчетов - Счетчик]) Тогда
            ФильтрСписокСчетов.Удалить(КоличествоСчетов - Счетчик);
        КонецЕсли;
    КонецЦикла;
    
    ФильтроватьПоСписку = не (ФильтрСписокСчетов.Количество()= 0);
    
    Запрос.УстановитьПараметр("СчетаУжеВыбраны", ФильтрСписокСчетов);
    Запрос.УстановитьПараметр("ФильтроватьПоСписку", ФильтроватьПоСписку);
    
    СписокИсключаемыхСчетов = Новый Массив();
    СписокИсключаемыхСчетов.Добавить(ПланыСчетов.Хозрасчетный.НДСпоАвансамИПредоплатам);
    СписокИсключаемыхСчетов.Добавить(ПланыСчетов.Хозрасчетный.РасчетыПоНДСотложенномуДляУплатыВБюджет);
    Запрос.УстановитьПараметр("СписокИсключаемыхСчетов", СписокИсключаемыхСчетов);
    
    ВыборкаСчетов = Запрос.Выполнить().Выбрать();

    ФильтрСписокСчетов  = Новый СписокЗначений;
    Пока ВыборкаСчетов.Следующий() Цикл
        ФильтрСписокСчетов.Добавить(ВыборкаСчетов.Счет);
    КонецЦикла;

    ФормаВыбора = ПланыСчетов.Хозрасчетный.ПолучитьФормуВыбора("ФормаВыбора", Элемент, );

    ФормаВыбора.ПланСчетовСписок.Отбор.Ссылка.ВидСравнения  = ВидСравнения.ВСписке;
    ФормаВыбора.ПланСчетовСписок.Отбор.Ссылка.Использование = Истина;
    ФормаВыбора.ПланСчетовСписок.Отбор.Ссылка.Значение      = ФильтрСписокСчетов;

    ФормаВыбора.ЭлементыФормы.Список.НастройкаОтбора.Ссылка.Доступность = Ложь;

    ФормаВыбора.ПараметрТекущаяСтрока = Элемент.Значение;

    ФормаВыбора.Открыть();

КонецПроцедуры
5 FireAlex
 
18.08.15
14:54
Э, батенька - причем тут начало выбора счета? заполнение происходит при нажатии на кнопку в процедуре
ЗаполнитьПоДаннымБухгалтерскогоУчета
вот это условие:
    КОГДА &ДоговорКонтрагента = НЕОПРЕДЕЛЕНО
ТОГДА НЕ ХозрасчетныйОбороты.КорСубконто1 = &Контрагент

то есть его надо убрать - оно обороты между одним контрагентом убирает!
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший