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

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

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


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


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

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


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

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



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

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

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

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


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


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

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

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

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