|
УТ 11.4 Помогите разобраться в запросе | ☑ | ||
---|---|---|---|---|
0
saradip
28.09.22
✎
21:55
|
Здравствуйте, не пойму для чего добавлены в запросе строки... ПОМОГИТЕ!
Что за разделить записи? &Вместо("ТекстЗапросаТаблицаРеестрДокументов") Функция УТ_ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры) ИмяРегистра = "РеестрДокументов"; Если НЕ ПроведениеСерверУТ.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда Возврат ""; КонецЕсли; Если Не ПроведениеСерверУТ.ЕстьТаблицаЗапроса("ВтОснований", ТекстыЗапроса) Тогда ТекстЗапросаВтОснований(Запрос, ТекстыЗапроса); КонецЕсли; ТекстЗапроса = "ВЫБРАТЬ | ДанныеДокумента.Ссылка КАК Ссылка, | ДанныеДокумента.ДатаДокументаИБ КАК ДатаДокументаИБ, | ДанныеДокумента.НомерДокументаИБ КАК НомерДокументаИБ, | ДанныеДокумента.ТипСсылки КАК ТипСсылки, | ДанныеДокумента.Организация КАК Организация, | ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация, | ДанныеДокумента.Партнер КАК Партнер, | ДанныеДокумента.Контрагент КАК Контрагент, | ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности, | ДанныеДокумента.МестоХранения КАК МестоХранения, | ДанныеДокумента.Подразделение КАК Подразделение, | ДанныеДокумента.Ответственный КАК Ответственный, | ДанныеДокумента.Комментарий КАК Комментарий, | ДанныеДокумента.Валюта КАК Валюта, | ДанныеДокумента.Сумма КАК Сумма, | ДанныеДокумента.Статус КАК Статус, | ДанныеДокумента.Проведен КАК Проведен, | ДанныеДокумента.ПометкаУдаления КАК ПометкаУдаления, | ДанныеДокумента.ДополнительнаяЗапись КАК ДополнительнаяЗапись, | ДанныеДокумента.Дополнительно КАК Дополнительно, | ДанныеДокумента.ДатаПервичногоДокумента КАК ДатаПервичногоДокумента, | ДанныеДокумента.НомерПервичногоДокумента КАК НомерПервичногоДокумента, | ДанныеДокумента.ДатаДокументаИБ КАК ДатаОтраженияВУчете, //++СТМ | ДанныеДокумента.РазделительЗаписи КАК РазделительЗаписи //--СТМ |ИЗ | ВтОснований КАК ДанныеДокумента"; ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра); Возврат ТекстЗапроса; КонецФункции &Вместо("ТекстЗапросаВтОснований") Функция УТ_ТекстЗапросаВтОснований(Запрос, ТекстыЗапроса) ИмяРегистра = "ВтОснований"; ТекстЗапроса = "ВЫБРАТЬ | ТаблицаРеестрДокументов.Ссылка КАК Ссылка, | ТаблицаРеестрДокументов.ДатаДокументаИБ КАК ДатаДокументаИБ, | МАКСИМУМ(ТаблицаРеестрДокументов.НомерДокументаИБ) КАК НомерДокументаИБ, | ТаблицаРеестрДокументов.ТипСсылки КАК ТипСсылки, | ТаблицаРеестрДокументов.Организация КАК Организация, | ТаблицаРеестрДокументов.ХозяйственнаяОперация КАК ХозяйственнаяОперация, | ТаблицаРеестрДокументов.Партнер КАК Партнер, | ТаблицаРеестрДокументов.Контрагент КАК Контрагент, | ВЫБОР | КОГДА ТаблицаРеестрДокументов.КоличествоНаправленийДеятельности = 1 | ТОГДА ТаблицаРеестрДокументов.НаправлениеДеятельности | ИНАЧЕ НЕОПРЕДЕЛЕНО | КОНЕЦ КАК НаправлениеДеятельности, | ТаблицаРеестрДокументов.МестоХранения КАК МестоХранения, | ТаблицаРеестрДокументов.Подразделение КАК Подразделение, | МАКСИМУМ(ТаблицаРеестрДокументов.Ответственный) КАК Ответственный, | МАКСИМУМ(ТаблицаРеестрДокументов.Комментарий) КАК Комментарий, | МАКСИМУМ(ТаблицаРеестрДокументов.Валюта) КАК Валюта, | МАКСИМУМ(ТаблицаРеестрДокументов.Сумма) КАК Сумма, | МАКСИМУМ(ТаблицаРеестрДокументов.Статус) КАК Статус, | МАКСИМУМ(ТаблицаРеестрДокументов.Проведен) КАК Проведен, | МАКСИМУМ(ТаблицаРеестрДокументов.ПометкаУдаления) КАК ПометкаУдаления, | МИНИМУМ(ТаблицаРеестрДокументов.ДополнительнаяЗапись) КАК ДополнительнаяЗапись, | МАКСИМУМ(ТаблицаРеестрДокументов.Дополнительно) КАК Дополнительно, | МАКСИМУМ(ТаблицаРеестрДокументов.ДатаПервичногоДокумента) КАК ДатаПервичногоДокумента, | МАКСИМУМ(ТаблицаРеестрДокументов.НомерПервичногоДокумента) КАК НомерПервичногоДокумента, //++СТМ | ТаблицаРеестрДокументов.РазделительЗаписи КАК РазделительЗаписи //--СТМ |ПОМЕСТИТЬ ВтОснований |ИЗ | (ВЫБРАТЬ | ДанныеДокумента.Ссылка КАК Ссылка, | &Период КАК ДатаДокументаИБ, | &Номер КАК НомерДокументаИБ, | &ИдентификаторМетаданных КАК ТипСсылки, | &Организация КАК Организация, | &ХозяйственнаяОперация КАК ХозяйственнаяОперация, | НЕОПРЕДЕЛЕНО КАК Партнер, | НЕОПРЕДЕЛЕНО КАК Контрагент, | МАКСИМУМ(ЕСТЬNULL(ТаблицаТовары.НазначениеОтправителя.НаправлениеДеятельности, ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка))) КАК НаправлениеДеятельности, | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ЕСТЬNULL(ТаблицаТовары.НазначениеОтправителя.НаправлениеДеятельности, ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка))) КАК КоличествоНаправленийДеятельности, | &СкладОтправитель КАК МестоХранения, | &Подразделение КАК Подразделение, | &Ответственный КАК Ответственный, | ВЫРАЗИТЬ(&Комментарий КАК СТРОКА(100)) КАК Комментарий, | НЕОПРЕДЕЛЕНО КАК Валюта, | 0 КАК Сумма, | &Статус КАК Статус, | &Проведен КАК Проведен, | &ПометкаУдаления КАК ПометкаУдаления, | ЛОЖЬ КАК ДополнительнаяЗапись, | &ИнформацияПоСкладуПолучателю КАК Дополнительно, | &Период КАК ДатаПервичногоДокумента, | &НомерНаПечать КАК НомерПервичногоДокумента, //++СТМ | ""0"" КАК РазделительЗаписи //--СТМ | ИЗ | Документ.ПеремещениеТоваров КАК ДанныеДокумента | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПеремещениеТоваров.Товары КАК ТаблицаТовары | ПО ДанныеДокумента.Ссылка = ТаблицаТовары.Ссылка | ГДЕ | ДанныеДокумента.Ссылка = &Ссылка | | СГРУППИРОВАТЬ ПО | ДанныеДокумента.Ссылка | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | ДанныеДокумента.Ссылка КАК Ссылка, | &Период КАК ДатаДокументаИБ, | &Номер КАК НомерДокументаИБ, | &ИдентификаторМетаданных КАК ТипСсылки, | ВЫБОР | КОГДА &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПеремещениеТоваровМеждуФилиалами) | ТОГДА &ОрганизацияПолучатель | ИНАЧЕ &Организация | КОНЕЦ КАК Организация, | &ХозяйственнаяОперация КАК ХозяйственнаяОперация, | НЕОПРЕДЕЛЕНО КАК Партнер, | НЕОПРЕДЕЛЕНО КАК Контрагент, | МАКСИМУМ(ЕСТЬNULL(ТаблицаТовары.Назначение.НаправлениеДеятельности, ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка))) КАК НаправлениеДеятельности, | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ЕСТЬNULL(ТаблицаТовары.Назначение.НаправлениеДеятельности, ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка))) КАК КоличествоНаправленийДеятельности, | &СкладПолучатель КАК МестоХранения, | &Подразделение КАК Подразделение, | &Ответственный КАК Ответственный, | ВЫРАЗИТЬ(&Комментарий КАК СТРОКА(100)) КАК Комментарий, | НЕОПРЕДЕЛЕНО КАК Валюта, | 0 КАК Сумма, | &Статус КАК Статус, | &Проведен КАК Проведен, | &ПометкаУдаления КАК ПометкаУдаления, | ИСТИНА КАК ДополнительнаяЗапись, | &ИнформацияПоСкладуОтправителю КАК Дополнительно, | &Период КАК ДатаПервичногоДокумента, | &НомерНаПечать КАК НомерПервичногоДокумента, //++СТМ | ""1"" КАК РазделительЗаписи //--СТМ | ИЗ | Документ.ПеремещениеТоваров КАК ДанныеДокумента | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПеремещениеТоваров.Товары КАК ТаблицаТовары | ПО ДанныеДокумента.Ссылка = ТаблицаТовары.Ссылка | ГДЕ | ДанныеДокумента.Ссылка = &Ссылка | | СГРУППИРОВАТЬ ПО | ДанныеДокумента.Ссылка) КАК ТаблицаРеестрДокументов | |СГРУППИРОВАТЬ ПО | ТаблицаРеестрДокументов.ТипСсылки, | ТаблицаРеестрДокументов.Организация, | ТаблицаРеестрДокументов.ХозяйственнаяОперация, | ТаблицаРеестрДокументов.Партнер, | ТаблицаРеестрДокументов.Контрагент, | ТаблицаРеестрДокументов.Подразделение, | ТаблицаРеестрДокументов.МестоХранения, | ТаблицаРеестрДокументов.ДатаДокументаИБ, | ТаблицаРеестрДокументов.Ссылка, | ВЫБОР | КОГДА ТаблицаРеестрДокументов.КоличествоНаправленийДеятельности = 1 | ТОГДА ТаблицаРеестрДокументов.НаправлениеДеятельности | ИНАЧЕ НЕОПРЕДЕЛЕНО | КОНЕЦ, //++СТМ | ТаблицаРеестрДокументов.РазделительЗаписи "; //--СТМ"; ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра); Возврат ТекстЗапроса; КонецФункции |
|||
1
saradip
28.09.22
✎
21:55
|
Это модуль менеджера документа Перемещение товаров
|
|||
2
Ivan_495
28.09.22
✎
22:09
|
ВЫБОР
| КОГДА &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПеремещениеТоваровМеждуФилиалами) | ТОГДА &ОрганизацияПолучатель | ИНАЧЕ &Организаци разделитель отделяет документы Перемещения от ПеремещенияТоваровМеждуФиоиалами |
|||
3
Ivan_495
28.09.22
✎
22:21
|
для перемещений в запрос берется Организация, а для ПеремещенияТоваровМеждуФиоиалами берется ОрганищацияПолучатель
|
|||
4
saradip
28.09.22
✎
22:29
|
(3) Не понял, а причем здесь эти строки?:
//++СТМ | ДанныеДокумента.РазделительЗаписи КАК РазделительЗаписи //--СТМ //++СТМ | ТаблицаРеестрДокументов.РазделительЗаписи КАК РазделительЗаписи //--СТМ //++СТМ | ТаблицаРеестрДокументов.РазделительЗаписи КАК РазделительЗаписи //--СТМ //++СТМ | ""0"" КАК РазделительЗаписи //--СТМ //++СТМ | ""1"" КАК РазделительЗаписи //--СТМ //++СТМ | ТаблицаРеестрДокументов.РазделительЗаписи "; //--СТМ"; |
|||
5
Ivan_495
28.09.22
✎
22:57
|
оставь в запросе только отличающиеся поля и поле ссылки на документы, все остальное убери и поймешь логику запроса
|
|||
6
lubitelxml
29.09.22
✎
10:14
|
(4) обычно такими комментариями выделяют доработки типовых, чтобы потом было понятно что типовое, а что допиленное
|
|||
7
saradip
29.09.22
✎
15:04
|
(6) Да это понятно)
Для чего дописан код я не пойму, но в (3) Иван намекнул, что можно таким образом разделять документы по признаку 1, 2. Как это работает и зачем это делать, вот тут непонятно мне... |
|||
8
БигБаг
29.09.22
✎
20:44
|
(7) здесь оно только формирует эту колонку. А использует где-то в другом месте. Или недоделанное и забытое. Пробуй поиском в модулях или вообще в конфе по слову РазделительЗаписи.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |