|
Запрос по наличию скана документа | ☑ | ||
---|---|---|---|---|
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) А то не знаю что ещё затребуют.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |