Имя: Пароль:
1C
1С v8
журнал учета полученных и выставленных счетов-фактур по Постановлению №1137 в БП
0 Мисти
 
15.12.13
15:30
Не формируется по выбранному контрагенту!
Смотрю запрос в формировании - по-моему, там всё прекрасно попадает в список, кроме самого контрагента. Ну, т.е. он и по факту не попадает, но мне кажется, что так и написано. Ошибка?

Запрос.УстановитьПараметр("Контрагент", КонтрагентДляОтбора);
        Запрос.Текст =
        "ВЫБРАТЬ РАЗРЕШЕННЫЕ
        |    Контрагенты.Ссылка КАК Контрагент
        |ИЗ
        |    Справочник.Контрагенты КАК Контрагенты
        |ГДЕ
        |    Контрагенты.Ссылка = Контрагенты.ГоловнойКонтрагент
        |    И Контрагенты.Ссылка В ИЕРАРХИИ(&Контрагент)
        |    И НЕ Контрагенты.ЭтоГруппа
        |
        |ОБЪЕДИНИТЬ
        |
        |ВЫБРАТЬ
        |    Контрагенты.Ссылка
        |ИЗ
        |    Справочник.Контрагенты КАК Контрагенты
        |ГДЕ
        |    Контрагенты.ОбособленноеПодразделение
        |    И Контрагенты.ГоловнойКонтрагент В ИЕРАРХИИ(&Контрагент)
        |    И НЕ Контрагенты.ЭтоГруппа
        |    И НЕ Контрагенты.ПометкаУдаления";
        
        Результат    = Запрос.Выполнить();
        МассивКонтрагентовДляОтбора    = Результат.Выгрузить().ВыгрузитьКолонку("Контрагент");
1 Aleksey
 
15.12.13
15:40
может быть
Контрагенты.ПометкаУдаления
2 Мисти
 
15.12.13
15:42
А где там сам контрагент в запросе?
Нет, он не помечен на удаление.
Хотя непонятно - почему не должен помеченный попадать, если по нему есть СФ.
3 Мисти
 
15.12.13
15:43
У меня нет ни головных контрагентов, никакой иерархии.
4 Мисти
 
15.12.13
15:53
ау?
5 ИсчадиеADO
 
15.12.13
16:00
скорее всего Контрагенты.ГоловнойКонтрагент - это пустая ссылка и нет контрагентов - обособ. подразделений
6 Мисти
 
15.12.13
16:02
Ну да, пустая ссылка, а почему нет?
Нет обособленных подразделений, и что?
Теперь нельзя отчет по контрагенту?
Короче, хочу принудительно туда добавит еще и самого контрагента.
Или я что-то не так поняла?
7 Мисти
 
15.12.13
16:04
Ого! Сохранила заново контрагента, он там где-то прописался, видать, и начал попадать.
8 ИсчадиеADO
 
15.12.13
16:11
бедное дитя голодного Поволжья :)

"Ну да, пустая ссылка, а почему нет?" - в условии стоит
"Контрагенты.Ссылка = Контрагенты.ГоловнойКонтрагент"
если у всех контрагентов реквизит ГоловнойКонтрагент - это пустая ссылка, то условие никогда не выполнится, т.к. Контрагенты.Ссылка - явно не пустая ссылка

"Нет обособленных подразделений"
во 2ом условии "Контрагенты.ОбособленноеПодразделение", что равно "Контрагенты.ОбособленноеПодразделение = ИСТИНА", а т.к. обособленных нет, то оно не выполняется.

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