Внешний отчет и пользователи

Новая тема
Показывать по 10 20 40 сообщений
А еще "настоятельно рекомендуют" прежде чем начать программировать, научиться программировать...
"вот блин.
Конструктор запроса, вот его работа:


    Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |    РеестрНакладных.Оплачено,
   |    РеестрНакладныхНакладные.ДатаДок,
   |    РеестрНакладныхНакладные.СуммаДок,
   |    РеестрНакладныхНакладные.СуммаНДСДок,
   |    РеестрНакладныхНакладные.НазваниеДок,
   |    РеестрНакладныхНакладные.Документ.Номер,
   |    РеестрНакладныхНакладные.Документ.Дата,
   |    РеестрНакладныхНакладные.Документ.Ссылка,
   |    РеестрНакладныхНакладные.Документ.НомерВходящегоДокумента КАК НомерВходящегоДокумента,
   |    РеестрНакладныхНакладные.Контрагент,
   |    РеестрНакладных.Ссылка
   |ИЗ
   |    Документ.РеестрНакладных КАК РеестрНакладных,
   |    Документ.РеестрНакладных.Накладные КАК РеестрНакладныхНакладные
   |ГДЕ
   |    РеестрНакладныхНакладные.Ссылка.Дата МЕЖДУ &НачПериода И &КонПериода";
   Если ЗначениеЗаполнено(Организация) Тогда
       Запрос.Текст = Запрос.Текст + "
       |    И РеестрНакладныхНакладные.Документ.Организация = &Организация";
   КонецЕсли;
   Если ЗначениеЗаполнено(Номер) Тогда
       Запрос.Текст = Запрос.Текст + "
       |    И РеестрНакладныхНакладные.Документ.НомерВходящегоДокумента = &Номер";
   КонецЕсли;
   Если ЗначениеЗаполнено(Поставщик) Тогда
       Запрос.Текст = Запрос.Текст + "
       |    И РеестрНакладныхНакладные.Контрагент = &Контрагент";
   КонецЕсли;
   
   Запрос.УстановитьПараметр("НачПериода", НачалоДня(НачПериода));
   Запрос.УстановитьПараметр("КонПериода", КонецДня(КонПериода));
   Запрос.УстановитьПараметр("Номер", Номер);
   Запрос.УстановитьПараметр("Контрагент", Поставщик);
   Запрос.УстановитьПараметр("Организация", Организация);
   
   ТЗ = Запрос.Выполнить().Выгрузить();



А еще "настоятельно рекомендуют" учиться программировать на практике. И читать вопрос. ПОД ПОЛНЫМИ ПРАВАМИ РАБОТАЕТ. Под неполными нет. Почему?"
"> А еще "настоятельно рекомендуют" учиться программировать на практике.

Интересно кто? Это же прямой метод для размножения "дятлов"...

По существу:
1. Убрать из запроса вторую таблицу и получить значение "Оплачено" через "РеестрНакладныхНакладные.Ссылка.Оплачено" (для упрощения).
2. Использовать в запросе "ВЫБРАТЬ РАЗРЕШЕННЫЕ".
3. Локализовать возникновение ошибки, разделив проблемную строку на операции, а именно:

Результат = Запрос.Выполнить();
ТЗ           = Результат.Выгрузить();"
А ты как учился? Изучил всю теорию, сел, и сразу же начал кодить как бог?

Сейчас попробую.. Странно это всё, конечно.
Я что-то не вижу противоречий.
При чем тут внешний отчет?

Сколько типов у реквизита "Документ" табличной части "Накладные" документа "РеестрНакладных"?

Делая получение составного реквизита через точку (РеестрНакладныхНакладные.Документ.Ссылка), вы делаете столько левых соединений, сколько у вас там может быть типов.

Если полные права еще тянут, то в случае неполных прав, на каждое левое соединение накладывается еще одно соединение - по RLS.
Оказалось, проблема в лишней таблицце.
Денис, может объяснишь, почему так?

Что же, впредь буду внимательнее. Всем спасибо!
Все таки лучше для начала прочитать "теорию", а еще у 1С есть удаленный курс по составлению запросов. ИМХО на форуме не научить толком ничему...
Читают тему
(гостей: 1)

Быстрый переход