Имя: Пароль:
1C
1С v8
Отчет, отбор по контрагенту
0 Da D
 
10.02.17
08:18
Есть отчет, не на СКД
Мне нужно в него добавить отбор, отчет формирует список должников, есть кнопка - отправляет письмо либо всему списку в отчете, либо текущему
Есть должники, которым не нужно отправлять, т.е. я хочу сделать отбор по контрагенту, юзер делает Контрагент НеВСписке СписокВыбранныхКонтрагентов

Я создаю отчет реквизита Построитель (Тип ПостроительОтчета)
Создаю на форме отчета ТабличноеПоле  Данные Построитель.Отбор, ТипЗначения Отбор

Создал процедуру формы ПриОткрытии

Процедура ПриОткрытии()
        Построитель.Текст =
    "ВЫБРАТЬ
    |    Контрагент.Ссылка КАК Контрагент
    |ИЗ
    |    Справочник.Контрагенты КАК Контрагент
    |{ГДЕ
    |    Контрагент.Ссылка}";
    
    Построитель.Отбор.Добавить("Ссылка", "Контрагент", "Контрагент");
    
КонецПроцедуры


После текста основного отчета написал Построитель.Текст = Запрос.Текст;
Построитель.Параметры.Вставить("ДатаОтчета", ДатаДолга);
        Построитель.Параметры.Вставить("Организация", Организация);
        Построитель.Параметры.Вставить("ВидДоговораСПокупателем", Перечисления.ВидыДоговоровКонтрагентов.СПокупателем);
        Построитель.Параметры.Вставить("ЧислоДнейПоУмолчанию", ДнейОтсрочки);
Построитель.Выполнить();
        Построитель.Результат.Выбрать();

Отбор на форме есть, но он ни на что не влияет, я ставлю допустим
Контрагент Равно НаименованиеКонтрагента
Отчет формируется с ним
Контрагент НеРавно НаименованиеКонтрагента
Он всё равно есть в отчете
почему так ?
1 Da D
 
10.02.17
08:18
Я создаю отчет реквизита = Я создаю реквизит отчета
2 Da D
 
10.02.17
08:19
После текста основного отчета написал  = после текста основного запроса(который данные получает)
3 Da D
 
10.02.17
08:22
Запрос = Новый Запрос;            //Основной запрос
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ВзаиморасчетыСКонтрагентамиОбороты.Период,
    |    ВзаиморасчетыСКонтрагентамиОбороты.Регистратор,
    |    ВзаиморасчетыСКонтрагентамиОбороты.Организация,
    |    ВзаиморасчетыСКонтрагентамиОбороты.Контрагент,
    |    ВзаиморасчетыСКонтрагентамиОбороты.ДоговорКонтрагента,
    |    ВзаиморасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовОборот,
    |    ВзаиморасчетыСКонтрагентамиОбороты.СуммаУпрОборот
    |ПОМЕСТИТЬ ВтВзаиморасчеты
    |ИЗ
    |    РегистрНакопления.ВзаиморасчетыСКонтрагентами.Обороты(
    |            ,
    |            КОНЕЦПЕРИОДА(&ДатаОтчета, ДЕНЬ),
    |            Регистратор,
    |            Организация = &Организация
    |                И ДоговорКонтрагента.ВидДоговора = &ВидДоговораСПокупателем {(Контрагент).* КАК Контрагент, (ДоговорКонтрагента).* КАК ДоговорКонтрагента, (Сделка).* КАК Сделка}) КАК ВзаиморасчетыСКонтрагентамиОбороты
    |ГДЕ
    |    ВзаиморасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовОборот > 0
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    Взаиморасчеты.Период КАК Период,
    |    Взаиморасчеты.Регистратор,
    |    СУММА(Взаиморасчеты1.СуммаВзаиморасчетовОборот) КАК СуммаПриходаПослеАкта,
    |    Взаиморасчеты.ДоговорКонтрагента
    |ПОМЕСТИТЬ ВтПриходыПослеАкта
    |ИЗ
    |    ВтВзаиморасчеты КАК Взаиморасчеты
    |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтВзаиморасчеты КАК Взаиморасчеты1
    |        ПО Взаиморасчеты.ДоговорКонтрагента = Взаиморасчеты1.ДоговорКонтрагента
    |            И Взаиморасчеты.Период < Взаиморасчеты1.Период
    |
    |СГРУППИРОВАТЬ ПО
    |    Взаиморасчеты.Регистратор,
    |    Взаиморасчеты.Период,
    |    Взаиморасчеты.ДоговорКонтрагента
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ВзаиморасчетыСКонтрагентамиОстатки.Организация,
    |    ВзаиморасчетыСКонтрагентамиОстатки.Контрагент,
    |    ВзаиморасчетыСКонтрагентамиОстатки.ДоговорКонтрагента,
    |    ВзаиморасчетыСКонтрагентамиОстатки.СуммаВзаиморасчетовОстаток,
    |    ВзаиморасчетыСКонтрагентамиОстатки.СуммаУпрОстаток
    |ПОМЕСТИТЬ ВтДолги
    |ИЗ
    |    РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки(КОНЕЦПЕРИОДА(&ДатаОтчета, ДЕНЬ), ) КАК ВзаиморасчетыСКонтрагентамиОстатки
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ВтВзаиморасчеты.Период КАК Период,
    |    ВтВзаиморасчеты.Регистратор,
    |    ВтВзаиморасчеты.Организация,
    |    ВтВзаиморасчеты.Контрагент,
    |    ВтВзаиморасчеты.ДоговорКонтрагента,
    |    ВтВзаиморасчеты.СуммаВзаиморасчетовОборот,
    |    ВтВзаиморасчеты.СуммаУпрОборот,
    |    ЕСТЬNULL(ВтПриходыПослеАкта.СуммаПриходаПослеАкта, 0) КАК СуммаПослеАкта,
    |    ЕСТЬNULL(ВтДолги.СуммаВзаиморасчетовОстаток, 0) КАК СуммаДолга,
    |    ВЫБОР
    |        КОГДА ЕСТЬNULL(ВтДолги.СуммаВзаиморасчетовОстаток, 0) - ЕСТЬNULL(ВтПриходыПослеАкта.СуммаПриходаПослеАкта, 0) > ВтВзаиморасчеты.СуммаВзаиморасчетовОборот
    |            ТОГДА ВтВзаиморасчеты.СуммаВзаиморасчетовОборот
    |        ИНАЧЕ ВЫБОР
    |                КОГДА ЕСТЬNULL(ВтДолги.СуммаВзаиморасчетовОстаток, 0) - ЕСТЬNULL(ВтПриходыПослеАкта.СуммаПриходаПослеАкта, 0) > 0
    |                    ТОГДА ЕСТЬNULL(ВтДолги.СуммаВзаиморасчетовОстаток, 0) - ЕСТЬNULL(ВтПриходыПослеАкта.СуммаПриходаПослеАкта, 0)
    |                ИНАЧЕ 0
    |            КОНЕЦ
    |    КОНЕЦ КАК ОстатокДолга,
    |    ВЫБОР
    |        КОГДА ВтВзаиморасчеты.ДоговорКонтрагента.Дней > 0
    |            ТОГДА ВтВзаиморасчеты.ДоговорКонтрагента.Дней
    |        ИНАЧЕ &ЧислоДнейПоУмолчанию
    |    КОНЕЦ КАК ДопустимоеЧислоДнейЗадолженности
    |ПОМЕСТИТЬ ВтДолгыПоДокументам
    |ИЗ
    |    ВтВзаиморасчеты КАК ВтВзаиморасчеты
    |        ЛЕВОЕ СОЕДИНЕНИЕ ВтПриходыПослеАкта КАК ВтПриходыПослеАкта
    |        ПО ВтВзаиморасчеты.Регистратор = ВтПриходыПослеАкта.Регистратор
    |            И ВтВзаиморасчеты.ДоговорКонтрагента = ВтПриходыПослеАкта.ДоговорКонтрагента
    |        ЛЕВОЕ СОЕДИНЕНИЕ ВтДолги КАК ВтДолги
    |        ПО ВтВзаиморасчеты.ДоговорКонтрагента = ВтДолги.ДоговорКонтрагента
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ВтДолгыПоДокументам.Период КАК Период,
    |    ВтДолгыПоДокументам.Регистратор,
    |    ВтДолгыПоДокументам.Организация,
    |    ВтДолгыПоДокументам.Контрагент КАК Контрагент,
    |    ВтДолгыПоДокументам.ДоговорКонтрагента КАК ДоговорКонтрагента,
    |    ВтДолгыПоДокументам.СуммаВзаиморасчетовОборот КАК СуммаДокумента,
    |    ВтДолгыПоДокументам.СуммаУпрОборот КАК СуммаДокументаУпр,
    |    ВтДолгыПоДокументам.ОстатокДолга КАК ОстатокДолга,
    |    ВЫБОР
    |        КОГДА ВЫБОР
    |                КОГДА РАЗНОСТЬДАТ(КОНЕЦПЕРИОДА(ВтДолгыПоДокументам.Период, ДЕНЬ), КОНЕЦПЕРИОДА(&ДатаОтчета, ДЕНЬ), ДЕНЬ) > ВтДолгыПоДокументам.ДопустимоеЧислоДнейЗадолженности
    |                    ТОГДА РАЗНОСТЬДАТ(КОНЕЦПЕРИОДА(ВтДолгыПоДокументам.Период, ДЕНЬ), КОНЕЦПЕРИОДА(&ДатаОтчета, ДЕНЬ), ДЕНЬ) - ВтДолгыПоДокументам.ДопустимоеЧислоДнейЗадолженности
    |                ИНАЧЕ 0
    |            КОНЕЦ > 0
    |            ТОГДА ВтДолгыПоДокументам.ОстатокДолга
    |        ИНАЧЕ 0
    |    КОНЕЦ КАК СуммаДолгаПросроченная,
    |    ВтДолгыПоДокументам.ДопустимоеЧислоДнейЗадолженности КАК ДопустимоеЧислоДнейЗадолженности,
    |    РАЗНОСТЬДАТ(КОНЕЦПЕРИОДА(ВтДолгыПоДокументам.Период, ДЕНЬ), КОНЕЦПЕРИОДА(&ДатаОтчета, ДЕНЬ), ДЕНЬ) КАК ДнейДолга,
    |    РАЗНОСТЬДАТ(КОНЕЦПЕРИОДА(ВтДолгыПоДокументам.Период, ДЕНЬ), КОНЕЦПЕРИОДА(&ДатаОтчета, ДЕНЬ), ДЕНЬ) - ВтДолгыПоДокументам.ДопустимоеЧислоДнейЗадолженности КАК ПросроченоДней
    |ИЗ
    |    ВтДолгыПоДокументам КАК ВтДолгыПоДокументам
    |ГДЕ
    |    ЕСТЬNULL(ВтДолгыПоДокументам.ОстатокДолга, 0) > 0
    |    И РАЗНОСТЬДАТ(КОНЕЦПЕРИОДА(ВтДолгыПоДокументам.Период, ДЕНЬ), КОНЕЦПЕРИОДА(&ДатаОтчета, ДЕНЬ), ДЕНЬ) - ВтДолгыПоДокументам.ДопустимоеЧислоДнейЗадолженности >= -3
    |
    |УПОРЯДОЧИТЬ ПО
    |    ВтДолгыПоДокументам.Контрагент
    |ИТОГИ
    |    СУММА(СуммаДокумента),
    |    СУММА(СуммаДокументаУпр),
    |    СУММА(ОстатокДолга),
    |    СУММА(СуммаДолгаПросроченная),
    |    МАКСИМУМ(ДопустимоеЧислоДнейЗадолженности),
    |    МАКСИМУМ(ДнейДолга),
    |    МАКСИМУМ(ПросроченоДней)
    |ПО
    |    ОБЩИЕ,
    |    Контрагент,
    |    ДоговорКонтрагента
    |АВТОУПОРЯДОЧИВАНИЕ";
    Построитель.Параметры.Вставить("ДатаОтчета", ДатаДолга);
    Построитель.Параметры.Вставить("Организация", Организация);
    Построитель.Параметры.Вставить("ВидДоговораСПокупателем", Перечисления.ВидыДоговоровКонтрагентов.СПокупателем);
    Построитель.Параметры.Вставить("ЧислоДнейПоУмолчанию", ДнейОтсрочки);
    
    
    Запрос.УстановитьПараметр("ДатаОтчета", ДатаДолга);
    Запрос.УстановитьПараметр("Организация", Организация);
    Запрос.УстановитьПараметр("ВидДоговораСПокупателем", Перечисления.ВидыДоговоровКонтрагентов.СПокупателем);
    Запрос.УстановитьПараметр("ЧислоДнейПоУмолчанию", ДнейОтсрочки);
    Построитель.Текст = ЗАпрос.Текст;
    Построитель.Выполнить();
    Построитель.Результат.Выбрать();
4 Da D
 
10.02.17
08:23
Основной запрос
5 Курцвейл
 
10.02.17
08:24
(4) Потому что над так:

|{ГДЕ
|    Контрагент.*}";
6 Da D
 
10.02.17
08:25
{Форма.ФормаОтчета.Форма(659)}: Ошибка при установке значения атрибута контекста (Текст)
        Построитель.Текст =
по причине:
{(6, 2)}: Поле не найдено "Контрагент"
<<?>>Контрагент.*}
7 Da D
 
10.02.17
08:31
Может быть есть другой способ добавить отбор или я этот неверно делаю ??
8 Da D
 
10.02.17
08:38
Где все ?
9 Da D
 
10.02.17
08:48
Понятно
10 FIXXXL
 
10.02.17
08:51
(6) в конструкторе делай, галку поставь "все подчиненные" или как она там у Контрагента
11 vis_tmp
 
10.02.17
08:52
Пишешь "без построителя", а в коде с ним
12 Da D
 
10.02.17
08:53
(11) Отчет был без построителя
Я нагуглил что отбор нужно делать с построителем
вот и создал его
13 Da D
 
10.02.17
08:54
(10) Это что вы имеете ввиду ?
где такое в конструкторе ?
14 vis_tmp
 
10.02.17
08:55
(12)Это не обязательно
15 Da D
 
10.02.17
08:56
(14) Ну а как ?
16 Da D
 
10.02.17
08:57
(14) Вот конкретно в моём случае можете пример привести ??
17 Da D
 
10.02.17
08:58
http://screenshot.ru/upload/image/zsPI

Отбор ставлю и всё равно выводится этот контрагент
18 Fedor-1971
 
10.02.17
09:02
(15) словами кратко, без лишних буков, напиши что ты хочешь сделать?

пока я понял следующее: есть некий отчёт, ты хочешь добавить туда фильтрацию выбираемых данных, зачем-то полез в дебри вместо того, что-бы просто динамически добавить условие к исходному запросу примерно такого вида "Где контрагент.ЛЯЛЯЛЯ = &Значение" или "Где НЕ Контрагент.ССылка = &НеХотимВыводить"
19 Da D
 
10.02.17
09:05
(18) Кратко
Выводится список должников
1
2
3
4
5

Нужно сделать штуку, в которой указываешь "Не выводить 1,3,5"
И вместо 1 2 3 4 5 он выводит 2 4
20 Da D
 
10.02.17
09:06
ну я хз как объяснить
Отбор
Контрагент Не в списке СписокКонтрагентовКоторыхНеНужноВыводить

Сформировать
Выводятся все, кроме СписокКонтрагентовКоторыхНеНужноВыводить
21 Da D
 
10.02.17
09:11
объясню нормально
В списке должников выводятся все контрагенты имеющие задолженность, но среди них есть контрагенты с которыми у нас осуществляются взаиморасчеты. Хотелось бы иметы возможность формировать отчет с помощью конструктора, исключая те или иные контрагенты.
22 Fedor-1971
 
10.02.17
09:15
(19) По ходу ты попутал ДС (тут отборы) и Отчёт (тут динамическое формирование запроса, что-бы в выборке отсутствовали ненужные записи, либо пропуск ненужных при обработке результирующей выборки перед выводом в табличный документ)
Условие для запроса: "Где НЕ Контрагент.ССылка В (&НеХотимВыводить)" в параметр передаёшь массив ссылок, которые не нужны в результате.
Как-то так
23 Da D
 
10.02.17
09:18
(22) А какие не нужны то в результате ?  Пользователь сам выбирать будет какие не нужны
24 Da D
 
10.02.17
09:22
(22) Я же хотел на форму отчета вывести отбор, в котором будут выбирать контрагентов, которые не будут выводиться
25 Da D
 
10.02.17
09:29
Подскажите, как проще это реализовать: дать пользователю возможность выбирать, кого в отчет выводить не нужно
26 Fedor-1971
 
10.02.17
09:30
(25) В твоей картинке и есть набор контрагентов, выполненный пользователем (только лишняя возможность указывать "Не равно", т.к. ты сих контрагентов не собираешься включать в результирующий отчёт).
Собери его результаты в массив НеНадо и отдай в параметр запроса с условием "Нах... не надо"
Как это реализовать кодом - сам реши, условие для запроса я тебе написал, интегрируй его в нужное место своего запроса
27 Da D
 
10.02.17
09:33
(26) На моей картинке сформированный отчет по должникам по конкретной организации, на конкретную дату, Не равно - это отбор, который я добавил и который конечно же не работает
Собрать результаты чего ? Списка контрагентов, которые в отчет выводятся ?
28 Da D
 
10.02.17
09:34
Я просто слабо понимаю, читаю сижу книжки
29 Da D
 
10.02.17
09:40
Картинку я скинул для того, чтобы было видно
стоит Не равно АвтоСоюз
а в отчете всё равно выведен АвтоСоюз
30 h-sp
 
10.02.17
09:42
(28) там же полно отчетов, штук 100, посмотри в них, наверняка есть похожие случаи. Зачем изобретаешь велосипед, когда уже всё давно придумано. Тем более, что все отчеты должны быть одинаковые, а не то пользователи тебя живым в землю закопают.
31 Fedor-1971
 
10.02.17
09:42
(27) пытаешься прикинуться шлангом? Ты вывел на форму отбор (так ты его называешь) для того, что-бы пользователь указал "Этого и этого ну, может быть, и такого контрагента в результирующем отчете быть не должно"
По сути: перебираешь чего там навыбирал пользователь и складываешь в массив (надеюсь представляешь как добавлять элементы в массив и как перебирать записи того, что ты называешь "Отбор"), потом (26)

(29) и? стоит, лежит, висит, моргает - отчёту до лампочки он отрабатывает алгоритм, если есть соответствие того что выведено на форме, алгоритму формирования отчёта - профит, нет - на нет и суда нет.
32 Da D
 
10.02.17
09:46
(31) Почему я то так его называю ? ТабличноеПоле, ТипЗначения Отбор, Данные Построитель.Отбор
33 Da D
 
10.02.17
09:46
(31) т.е. пользователь, выбираю в этом как я его называю отборе контрагентов, тем самым собирает их в массив и мне нужно этот массив передать в запрос ?
34 Da D
 
10.02.17
09:50
Сори за ошибки/опечатки, нервничаю, ни фига не выходит
35 Fedor-1971
 
10.02.17
09:54
(33) Пользователь заполняет твой отбор (пользовательский фильтр - более красиво и не путается с понятием "Отбор") в какой структуре не знаю, тебе виднее, но, возможно, отбор представляет собой ТаблицуЗначений (это только предположение).
Твоя задача: преобразовать то, что пользователь указал в нужные тебе структуры (массивы, списки и т.д.), т.е. перебираешь отбор и анализируешь "Контрагет", "Использовать", "ВидСравнения" и "Значение" (то бишь ссылка)
Всё что ты определил как "Это нужно исключить" записываешь в массив, потом как было ранее описано.
36 h-sp
 
10.02.17
09:57
(34) просто тебе надо результат твоего отбора передать в построитель.
37 Da D
 
10.02.17
09:58
Жесть какая...
38 h-sp
 
10.02.17
09:59
(37) ну если делаешь через задницу, то чего удивляешься?
39 Fedor-1971
 
10.02.17
10:01
(36) вопрос задаётся "Как?", лично моё мнение: не нужен ему построитель
(37) где жесть? Это реалии программирования: пользователь может указать любую гадость, а программер должен пережевать всё указанное в вид, понятный системе (будь то SQL, C++, Java и т.д. - принцип остаётся тем же)
40 Fedor-1971
 
10.02.17
10:02
39+ формы и придумали для ограничения фантазий пользователей
41 Da D
 
10.02.17
10:05
Я просто не понимаю теперь вообще с чего и как мне начинать
42 Da D
 
10.02.17
10:08
Так ладно, спасибо разобрался
43 Da D
 
10.02.17
10:08
большое)
44 Fedor-1971
 
10.02.17
10:09
(38) у ТС идея здравая, только реализация сырая.
(41) Подумай в таком направлении: сделай список контрагентов, с которыми осуществляются взаиморасчёты в виде регистра сведений (кто заполняет то же можно регулировать правами), а на форме отчёта оставить одну галочку: "Без взаимозачётчиков". Тогда ты получишь простую возможность запросом выбрать тех кого в отчёте быть не должно.
Профит с двух сторон: и пользователь не гемороится каждый раз набирать контрагентов и тебе понятно что должно попасть в отчёт
45 Da D
 
10.02.17
10:11
(44) Да у меня получилось )
46 Da D
 
10.02.17
10:26
Если кому то интересно:
Проверяйте отчет
-Спасибо, а сделайте его на СКД, этот неудобный
.
47 Da D
 
10.02.17
10:52
Ошибка исполнения отчета
по причине:
Ошибка получения данных
по причине:
Ошибка создания набора данных "НаборДанных1"
по причине:
Ошибка при исполнении запроса набора данных
по причине:
{(108, 105)}: Неверные параметры "-"
И РАЗНОСТЬДАТ(КОНЕЦПЕРИОДА(ВтДолгыПоДокументам.Период, ДЕНЬ), КОНЕЦПЕРИОДА(&ДатаОтчета, ДЕНЬ), ДЕНЬ) - <<?>>ВтДолгыПоДокументам.ДопустимоеЧислоДнейЗадолженности >= -3
48 Da D
 
10.02.17
10:52
В чем ошибка ?
49 Fedor-1971
 
10.02.17
10:59
(47) Пробуй так:
И (РАЗНОСТЬДАТ(КОНЕЦПЕРИОДА(ВтДолгыПоДокументам.Период, ДЕНЬ), КОНЕЦПЕРИОДА(&ДатаОтчета, ДЕНЬ), ДЕНЬ) - IsNull(ВтДолгыПоДокументам.ДопустимоеЧислоДнейЗадолженности,0)) >= -3

(48) в непонимании того, что пытаешься сделать.
50 Fedor-1971
 
10.02.17
11:00
49+  и проверь доступность ВтДолгыПоДокументам (наличие и установленные связи)
51 Da D
 
10.02.17
11:02
Ошибка исполнения отчета
по причине:
Ошибка получения данных
по причине:
Ошибка создания набора данных "НаборДанных1"
по причине:
Ошибка при исполнении запроса набора данных
по причине:
{(108, 105)}: Неверные параметры "-"
И РАЗНОСТЬДАТ(КОНЕЦПЕРИОДА(ВтДолгыПоДокументам.Период, ДЕНЬ), КОНЕЦПЕРИОДА(&ДатаОтчета, ДЕНЬ), ДЕНЬ) - <<?>>ЕСТЬNULL(ВтДолгыПоДокументам.ДопустимоеЧислоДнейЗадолженности, 0) >= -3
52 Fedor-1971
 
10.02.17
11:18
(51) посмотри что лежит в ВтДолгыПоДокументам.ДопустимоеЧислоДнейЗадолженности - возможно, что не число и не Null
53 Da D
 
10.02.17
11:22
ВЫБОР КОГДА ВтВзаиморасчеты.ДоговорКонтрагента.Дней > 0 ТОГДА ВтВзаиморасчеты.ДоговорКонтрагента.Дней ИНАЧЕ &ЧислоДнейПоУмолчанию КОНЕЦ
54 Da D
 
10.02.17
12:30
В консоли тоже этот запрос такую же ошибку выдаёт
а почеему ошибка, если запрос рабочий ?
55 h-sp
 
10.02.17
12:40
может еще ЕСТЬNULL(РАЗНОСТЬДАТ(КОНЕЦПЕРИОДА(ВтДолгыПоДокументам.Период, ДЕНЬ), КОНЕЦПЕРИОДА(&ДатаОтчета, ДЕНЬ), ДЕНЬ), 0)
56 Da D
 
10.02.17
12:42
(55) ??
57 Fedor-1971
 
10.02.17
12:46
(56) То что в (53) где формируется?
ВтДолгыПоДокументам.ДопустимоеЧислоДнейЗадолженности - точно число во всех строках ВтДолгыПоДокументам?
58 Da D
 
10.02.17
12:49
(57) Объединения/Псевдонимы
f(x)ДопустимоеЧислоДнейЗадолженности - ВЫБОР КОГДА ВтВзаиморасчеты.ДоговорКонтрагента.Дней > 0 ТОГДА ВтВзаиморасчеты.ДоговорКонтрагента.Дней ИНАЧЕ &ЧислоДнейПоУмолчанию КОНЕЦ
59 Fedor-1971
 
10.02.17
12:52
(58) проверь второе предположение
к сожалению, больше ничем помочь не могу. Не силён в СКД.
60 Da D
 
10.02.17
12:55
(59) Какой предположение ?)
61 Fedor-1971
 
10.02.17
12:56
ВтДолгыПоДокументам.ДопустимоеЧислоДнейЗадолженности - точно число во всех строках ВтДолгыПоДокументам
62 Da D
 
10.02.17
12:57
(61) Ну да, а как оно бы работало тогда в отчете ?
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.