Вход | Регистрация


Запрос по наличию скана документа

Запрос по наличию скана документа
Я
   TolstiyBeremenniy
 
18.10.18 - 06:42
УПП 1.3. Обычное приложение.
Имеется запрос, в котором присутствует договор.
К этому договору, привязаны (добавлены) файл, или несколько файлов,
через справочник ХранениеДополнительнойИнформации.
Необходимо в данный запрос добавить поле, в котором отображать
истина или ложь. В зависимости от того, привязан (ны) ли к договору
прикрепленные файлы.

Как это можно сделать? Если к запросу привязать справочник. То при 
наличии нескольких, привязанных (добавленных) к договору файлов
записи выборки из за этого будут размножаться.

Как сделать. что если есть приваязынные файлы. то в поле Скан
документа, выводить Истина.


ВЫБРАТЬ
    ПлатежноеПоручение.ДоговорКонтрагента.ИС_НомерРеестраЭТП КАК НомерИзвещения,
    ПлатежноеПоручение.Контрагент КАК Контрагент,
    ПлатежноеПоручение.ДоговорКонтрагента КАК Договор,
    ПлатежноеПоручение.Ссылка КАК Документ,
    ПлатежноеПоручение.ДоговорКонтрагента.ВидДоговора КАК ВидОперации,
    ПлатежноеПоручение.СуммаДокумента,
    ПлатежноеПоручение.ДоговорКонтрагента.СрокДействия КАК СрокПоставки,
    ВЫБОР
        КОГДА ЗначенияСвойствОбъектов.Свойство.Код = "00000000049"
            ТОГДА ЗначенияСвойствОбъектов.Значение
    КОНЕЦ КАК СтрокаРПЗ,
    ВЫБОР
        КОГДА ЗначенияСвойствОбъектов.Свойство.Код = "00000000051"
            ТОГДА ЗначенияСвойствОбъектов.Значение
    КОНЕЦ КАК РазмещеноВЕИС,
    ВЫБОР
        КОГДА ЗначенияСвойствОбъектов.Свойство.Код = "00000000050"
            ТОГДА ЗначенияСвойствОбъектов.Значение
    КОНЕЦ КАК ДатаРазмещенияВЕИС
ИЗ
    Документ.ПлатежноеПоручениеИсходящее КАК ПлатежноеПоручение
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
        ПО ПлатежноеПоручение.ДоговорКонтрагента = ЗначенияСвойствОбъектов.Объект
ГДЕ
    ПлатежноеПоручение.Проведен
    И ПлатежноеПоручение.Дата МЕЖДУ &НачалоПериода И &КонецПериода
    И ПлатежноеПоручение.Ссылка = &Док
 
 
   TolstiyBeremenniy
 
1 - 18.10.18 - 06:45
Привязал таблицу, но записи при добавлении нескольких
файлов множатся тогда. Как это сделать? не понятен сам
принцип пока.


ВЫБРАТЬ
    ПлатежноеПоручение.ДоговорКонтрагента.ИС_НомерРеестраЭТП КАК НомерИзвещения,
    ПлатежноеПоручение.Контрагент КАК Контрагент,
    ПлатежноеПоручение.ДоговорКонтрагента КАК Договор,
    ПлатежноеПоручение.Ссылка КАК Документ,
    ПлатежноеПоручение.ДоговорКонтрагента.ВидДоговора КАК ВидОперации,
    ПлатежноеПоручение.СуммаДокумента,
    ПлатежноеПоручение.ДоговорКонтрагента.СрокДействия КАК СрокПоставки,
    ВЫБОР
        КОГДА ЗначенияСвойствОбъектов.Свойство.Код = "00000000049"
            ТОГДА ЗначенияСвойствОбъектов.Значение
    КОНЕЦ КАК СтрокаРПЗ,
    ВЫБОР
        КОГДА ЗначенияСвойствОбъектов.Свойство.Код = "00000000051"
            ТОГДА ЗначенияСвойствОбъектов.Значение
    КОНЕЦ КАК РазмещеноВЕИС,
    ВЫБОР
        КОГДА ЗначенияСвойствОбъектов.Свойство.Код = "00000000050"
            ТОГДА ЗначенияСвойствОбъектов.Значение
    КОНЕЦ КАК ДатаРазмещенияВЕИС,
    ХранилищеДополнительнойИнформации.ИмяФайла
ИЗ
    Документ.ПлатежноеПоручениеИсходящее КАК ПлатежноеПоручение
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
        ПО ПлатежноеПоручение.ДоговорКонтрагента = ЗначенияСвойствОбъектов.Объект
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХранилищеДополнительнойИнформации КАК ХранилищеДополнительнойИнформации
        ПО ПлатежноеПоручение.ДоговорКонтрагента = ХранилищеДополнительнойИнформации.Объект
ГДЕ
    ПлатежноеПоручение.Проведен
    И ПлатежноеПоручение.Дата МЕЖДУ &НачалоПериода И &КонецПериода
    И ПлатежноеПоручение.Ссылка = &Док
   catena
 
2 - 18.10.18 - 06:59
(1)Зачем тебе имя файла? ГРуппируй по максимальной ссылке и проверяй на Есть NULL
   TolstiyBeremenniy
 
3 - 18.10.18 - 07:03
(2) Ну я так вывожу его. Его же не было этого поля в
оригинальном запросе.
Не совсем понятен пока прием как это сделать.
Попробую понять ваш совет, потренироваться в консоле запросов.
   TolstiyBeremenniy
 
4 - 18.10.18 - 07:05
(2) то есть я прикрепляю таблицу справочника ХранилищедополнительнойИнформации, и
потом группирую строковые и ссылочные поля, 

что именно группировать, по максимальной ссылке. как?
   TolstiyBeremenniy
 
5 - 18.10.18 - 07:06
(2) Не совсем понятно как применить ваш прием! ((((
   TolstiyBeremenniy
 
6 - 18.10.18 - 07:14
Это же можно сделать в запросе.
Подскажите пожалуйста по подробнее как это сделать?
   catena
 
7 - 18.10.18 - 07:17
Выбрать Максимум(ссылка), объект
из Справочник.ХранилищеДополнительнойИнформации КАК ХранилищеДополнительнойИнформации
Сгруппировать по Объект


Такой запрос вернет по одной ссылке на объект. Дальше соединяй со своим запросом.
   TolstiyBeremenniy
 
8 - 18.10.18 - 07:25
(7) Благодарю. То есть это будет пакетный запрос?
1 пакет (7), второй пакет (0) и финальный.

Я правильно понимаю?
   TolstiyBeremenniy
 
9 - 18.10.18 - 07:54
Подскажите пожалуйста что я не так делаю.
Я сделал пакетный запрос, как вы подсказывали в (7).
Но он выбирает в поле ЕстьСкан, прочерк "-".
Хотя у договора по которому идет связь, есть прикрепленные
файлы. То есть в поле ЕстьСкан должно быть "Да".
   catena
 
10 - 18.10.18 - 08:26
(9)Ты выводишь в поле ЕстьСкан прочерк.
 
 Рекламное место пустует
   1Сергей
 
11 - 18.10.18 - 09:05
Есть NULL используй
   TolstiyBeremenniy
 
12 - 18.10.18 - 09:17
(10) Вывожу, если есть NULL, а в примере что я выбираю
у договора есть прикрепленные файлы. Я считал, что должно
было вывестись "Да". Что не так я сделал?



ВЫБРАТЬ
    МАКСИМУМ(ХранилищеДополнительнойИнформации.Ссылка) КАК СКАН,
    ХранилищеДополнительнойИнформации.Объект
ПОМЕСТИТЬ ВТ_Сканы
ИЗ
    Справочник.ХранилищеДополнительнойИнформации КАК ХранилищеДополнительнойИнформации

СГРУППИРОВАТЬ ПО
    ХранилищеДополнительнойИнформации.Объект
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    ПлатежноеПоручение.ДоговорКонтрагента.ИС_НомерРеестраЭТП КАК НомерИзвещения,
    ПлатежноеПоручение.Контрагент КАК Контрагент,
    ПлатежноеПоручение.ДоговорКонтрагента КАК Договор,
    ПлатежноеПоручение.Ссылка КАК Документ,
    ПлатежноеПоручение.ДоговорКонтрагента.ВидДоговора КАК ВидОперации,
    ПлатежноеПоручение.СуммаДокумента,
    ПлатежноеПоручение.ДоговорКонтрагента.СрокДействия КАК СрокПоставки,
    ВЫБОР
        КОГДА ЗначенияСвойствОбъектов.Свойство.Код = "00000000049"
            ТОГДА ЗначенияСвойствОбъектов.Значение
    КОНЕЦ КАК СтрокаРПЗ,
    ВЫБОР
        КОГДА ЗначенияСвойствОбъектов.Свойство.Код = "00000000051"
            ТОГДА ЗначенияСвойствОбъектов.Значение
    КОНЕЦ КАК РазмещеноВЕИС,
    ВЫБОР
        КОГДА ЗначенияСвойствОбъектов.Свойство.Код = "00000000050"
            ТОГДА ЗначенияСвойствОбъектов.Значение
    КОНЕЦ КАК ДатаРазмещенияВЕИС
ПОМЕСТИТЬ ВТ_ЗакупочнаяДеятельность
ИЗ
    Документ.ПлатежноеПоручениеИсходящее КАК ПлатежноеПоручение
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
        ПО ПлатежноеПоручение.ДоговорКонтрагента = ЗначенияСвойствОбъектов.Объект
ГДЕ
    ПлатежноеПоручение.Проведен
    И ПлатежноеПоручение.Дата МЕЖДУ &НачалоПериода И &КонецПериода
    И ПлатежноеПоручение.Ссылка = &Док
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    ВТ_ЗакупочнаяДеятельность.НомерИзвещения,
    ВТ_ЗакупочнаяДеятельность.Контрагент,
    ВТ_ЗакупочнаяДеятельность.Договор,
    ВТ_ЗакупочнаяДеятельность.Документ,
    ВТ_ЗакупочнаяДеятельность.ВидОперации,
    ВТ_ЗакупочнаяДеятельность.СуммаДокумента,
    ВТ_ЗакупочнаяДеятельность.СрокПоставки,
    ВТ_ЗакупочнаяДеятельность.СтрокаРПЗ,
    ВТ_ЗакупочнаяДеятельность.РазмещеноВЕИС,
    ВТ_ЗакупочнаяДеятельность.ДатаРазмещенияВЕИС,
    ВЫБОР
        КОГДА ЕСТЬNULL(ВТ_Сканы.СКАН, 0) = 0
            ТОГДА "-"
        ИНАЧЕ "Да"
    КОНЕЦ КАК ЕстьСкан
ИЗ
    ВТ_ЗакупочнаяДеятельность КАК ВТ_ЗакупочнаяДеятельность
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Сканы КАК ВТ_Сканы
        ПО ВТ_ЗакупочнаяДеятельность.Договор = ВТ_Сканы.СКАН
   ikea
 
13 - 18.10.18 - 09:21
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Сканы КАК ВТ_Сканы
        ПО ВТ_ЗакупочнаяДеятельность.Договор = ВТ_Сканы.СКАН  Должно быть ВТ_Сканы.Объект
   catena
 
14 - 18.10.18 - 09:22
ПО ВТ_ЗакупочнаяДеятельность.Договор = ВТ_Сканы.СКАН


Ты это. Соединяй по Объекту, а не про фиг-пойми-что-получилось ссылке.
   TolstiyBeremenniy
 
15 - 18.10.18 - 09:32
(13) (14)  Спасибо! Сделал вот так.ывелось "Да".
То есть этот вариант правильное решение?
С логической точки зрения.


ВЫБРАТЬ
    МАКСИМУМ(ХранилищеДополнительнойИнформации.Ссылка) КАК СКАН,
    ХранилищеДополнительнойИнформации.Объект
ПОМЕСТИТЬ ВТ_Сканы
ИЗ
    Справочник.ХранилищеДополнительнойИнформации КАК ХранилищеДополнительнойИнформации

СГРУППИРОВАТЬ ПО
    ХранилищеДополнительнойИнформации.Объект
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    ПлатежноеПоручение.ДоговорКонтрагента.ИС_НомерРеестраЭТП КАК НомерИзвещения,
    ПлатежноеПоручение.Контрагент КАК Контрагент,
    ПлатежноеПоручение.ДоговорКонтрагента КАК Договор,
    ПлатежноеПоручение.Ссылка КАК Документ,
    ПлатежноеПоручение.ДоговорКонтрагента.ВидДоговора КАК ВидОперации,
    ПлатежноеПоручение.СуммаДокумента,
    ПлатежноеПоручение.ДоговорКонтрагента.СрокДействия КАК СрокПоставки,
    ВЫБОР
        КОГДА ЗначенияСвойствОбъектов.Свойство.Код = "00000000049"
            ТОГДА ЗначенияСвойствОбъектов.Значение
    КОНЕЦ КАК СтрокаРПЗ,
    ВЫБОР
        КОГДА ЗначенияСвойствОбъектов.Свойство.Код = "00000000051"
            ТОГДА ЗначенияСвойствОбъектов.Значение
    КОНЕЦ КАК РазмещеноВЕИС,
    ВЫБОР
        КОГДА ЗначенияСвойствОбъектов.Свойство.Код = "00000000050"
            ТОГДА ЗначенияСвойствОбъектов.Значение
    КОНЕЦ КАК ДатаРазмещенияВЕИС
ПОМЕСТИТЬ ВТ_ЗакупочнаяДеятельность
ИЗ
    Документ.ПлатежноеПоручениеИсходящее КАК ПлатежноеПоручение
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
        ПО ПлатежноеПоручение.ДоговорКонтрагента = ЗначенияСвойствОбъектов.Объект
ГДЕ
    ПлатежноеПоручение.Проведен
    И ПлатежноеПоручение.Дата МЕЖДУ &НачалоПериода И &КонецПериода
    И ПлатежноеПоручение.Ссылка = &Док
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    ВТ_ЗакупочнаяДеятельность.НомерИзвещения,
    ВТ_ЗакупочнаяДеятельность.Контрагент,
    ВТ_ЗакупочнаяДеятельность.Договор,
    ВТ_ЗакупочнаяДеятельность.Документ,
    ВТ_ЗакупочнаяДеятельность.ВидОперации,
    ВТ_ЗакупочнаяДеятельность.СуммаДокумента,
    ВТ_ЗакупочнаяДеятельность.СрокПоставки,
    ВТ_ЗакупочнаяДеятельность.СтрокаРПЗ,
    ВТ_ЗакупочнаяДеятельность.РазмещеноВЕИС,
    ВТ_ЗакупочнаяДеятельность.ДатаРазмещенияВЕИС,
    ВЫБОР
        КОГДА ЕСТЬNULL(ВТ_Сканы.СКАН, 0) = 0
            ТОГДА "-"
        ИНАЧЕ "Да"
    КОНЕЦ КАК ЕстьСкан
ИЗ
    ВТ_ЗакупочнаяДеятельность КАК ВТ_ЗакупочнаяДеятельность
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Сканы КАК ВТ_Сканы
        ПО ВТ_ЗакупочнаяДеятельность.Договор = ВТ_Сканы.Объект
   TolstiyBeremenniy
 
16 - 18.10.18 - 09:32
(15) А то не знаю что ещё затребуют.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует