|
как переложить на t-sql запрос 1с
|
|||
---|---|---|---|
#18+
Ребят, добрый всем день! Как можно переложить на sql этот запрос? ВЫБРАТЬ РАЗРЕШЕННЫЕ ПоложенныеВидыЕжегодныхОтпусковСрезПоследних.Сотрудник КАК Сотрудник, ПоложенныеВидыЕжегодныхОтпусковСрезПоследних.ВидЕжегодногоОтпуска КАК ВидЕжегодногоОтпуска, ПоложенныеВидыЕжегодныхОтпусковСрезПоследних.КоличествоДнейВГод КАК ДнейЕжегодно ПОМЕСТИТЬ ВТТекущиеПраваНаОтпуска ИЗ РегистрСведений.ПоложенныеВидыЕжегодныхОтпусков.СрезПоследних( &ДатаОтчета, (Сотрудник, ВидЕжегодногоОтпуска) В (ВЫБРАТЬ ВТУказателиПоследних.Сотрудник, ВТУказателиПоследних.ВидЕжегодногоОтпуска ИЗ ВТУказателиПоследних КАК ВТУказателиПоследних)) КАК ПоложенныеВидыЕжегодныхОтпусковСрезПоследних Модератор: Тема перенесена из форума "Microsoft SQL Server". ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 13:00 |
|
как переложить на t-sql запрос 1с
|
|||
---|---|---|---|
#18+
в консоли запросов подобный "сервис" есть ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 13:12 |
|
как переложить на t-sql запрос 1с
|
|||
---|---|---|---|
#18+
МодальноеОкно, у меня нет доступа к консоли, т.к. я не являюсь разработчиком 1С.( Вас не затруднит кинуть в меня результатом)?! ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 13:20 |
|
как переложить на t-sql запрос 1с
|
|||
---|---|---|---|
#18+
direget МодальноеОкно, у меня нет доступа к консоли, т.к. я не являюсь разработчиком 1С.( Вас не затруднит кинуть в меня результатом)?! а результат вы какой ожидаете? для того чтобы запрос заработал в конфигурации на которой он будет выполняться должны быть такие же метаданные. я не знаю откуда ваш запрос. из упп? из зупа? из бухгалтерии? ерп? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 13:45 |
|
как переложить на t-sql запрос 1с
|
|||
---|---|---|---|
#18+
МодальноеОкно, Прошу прощения, молодой еще... ЗУП 8.3 Результат в виде запроса только на sql ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 13:48 |
|
как переложить на t-sql запрос 1с
|
|||
---|---|---|---|
#18+
direget МодальноеОкно, Прошу прощения, молодой еще... ЗУП 8.3 Результат в виде запроса только на sql На самом деле больше всего смущает срезпоследних...не сталкивался еще с такой штуковиной. Метаданные должны быть похожи, т.к. это стандартная таблица ЗУПа. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 13:51 |
|
как переложить на t-sql запрос 1с
|
|||
---|---|---|---|
#18+
direget больше всего смущает срезпоследних ничего сверхгигантского. это "виртуальная" таблица, которая строится на базе физической - по сути значения из таблицы (РегистрСведений.ПоложенныеВидыЕжегодныхОтпусков) на некую дату &ДатаОтчета с отбором по полям (Сотрудник, ВидЕжегодногоОтпуска) из подзапроса В (ВЫБРАТЬ ВТУказателиПоследних.Сотрудник, ВТУказателиПоследних.ВидЕжегодногоОтпуска ИЗ ВТУказателиПоследних КАК ВТУказателиПоследних) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 13:58 |
|
как переложить на t-sql запрос 1с
|
|||
---|---|---|---|
#18+
РАЗРЕШЕННЫЕ указывает что на запрос должен накладываться подходящий шаблон RLS который будет вычленять только те записи которые пользователь от имени которого выполняется запрос должен видеть в соответствии со своим профилем (набор прав + органичения доступа по некому разрезу(ам) - обычно по организациям) это все пока можно оставить за скобками чтобы "не утонуть" ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 14:01 |
|
как переложить на t-sql запрос 1с
|
|||
---|---|---|---|
#18+
МодальноеОкно, как я понял, подставляю параметр даты(на которую формируется отчет) в подзапрос и все? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 14:03 |
|
как переложить на t-sql запрос 1с
|
|||
---|---|---|---|
#18+
там ещё от базы к базе могут имена таблиц меняться в одной и той же конфигурации можно выполнить его в 1с, а в профайлере отловить ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 14:03 |
|
как переложить на t-sql запрос 1с
|
|||
---|---|---|---|
#18+
кстати ВЫБРАТЬ ВТУказателиПоследних.Сотрудник, ВТУказателиПоследних.ВидЕжегодногоОтпуска ИЗ ВТУказателиПоследних КАК ВТУказателиПоследних говорит о том что текст запроса не весь или результат запрос получается за несколько шагов. с передачей от одного шага к другому менеджервременныхтаблиц ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 14:06 |
|
как переложить на t-sql запрос 1с
|
|||
---|---|---|---|
#18+
МодальноеОкно, результат запроса с передачей от одного шага к другому. а как это интерпретировать в sql? "РегистрСведений.ПоложенныеВидыЕжегодныхОтпусков.СрезПоследних( &ДатаОтчета, (Сотрудник, ВидЕжегодногоОтпуска) В..." ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 14:09 |
|
как переложить на t-sql запрос 1с
|
|||
---|---|---|---|
#18+
direget МодальноеОкно, как я понял, подставляю параметр даты(на которую формируется отчет) в подзапрос и все? ну почти. &ДатаОтчета - это параметр, а подзапрос у вас формирует параметры "отбора". и то и другое по сути параметры. вы управляете непосредственно параметром с датой, параметры отбора полей у вас формируются на базе временной таблице где-то "выше" по запросу/стеку вызовов ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 14:10 |
|
как переложить на t-sql запрос 1с
|
|||
---|---|---|---|
#18+
direget результат запроса с передачей от одного шага к другому. а как это интерпретировать в sql? набор скриптов которые порождают временные таблицы типа "select into #t1", "select into #t2". потом в конце какой-то мегазапрос собирает их как источники данных и чего-то лепит из них на выходе для пользователя 1с ограничена в возможностях sql - приходится извращаться ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 14:13 |
|
как переложить на t-sql запрос 1с
|
|||
---|---|---|---|
#18+
ваш запрос не выполняется, т.к. я в душе не ведаю как наполняется эта временная таблица: ВЫБРАТЬ ВТУказателиПоследних.Сотрудник, ВТУказателиПоследних.ВидЕжегодногоОтпуска ИЗ ВТУказателиПоследних КАК ВТУказателиПоследних это только выборка из нее. было еще и: ВЫБРАТЬ ..... ПОМЕСТИТЬ ВТУказателиПоследних из "неведомая фигня" ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 14:17 |
|
как переложить на t-sql запрос 1с
|
|||
---|---|---|---|
#18+
МодальноеОкно, Declare @ReportDate date Declare @Sotr binary(16) set @ReportDate='4019-12-27 00:00:00' --ДатаОтчета set @Sotr='' --Сотрудник ---Шаг1--- if object_id('tempdb..#ЕжегодныеОтпуска') is not null drop table #ЕжегодныеОтпуска select _IDRRef as ВидЕжегодногоОтпуска into #ЕжегодныеОтпуска from _Reference** where _Fld*****=1 /*Проверка записанных значений*/ select * from #ЕжегодныеОтпуска ---Шаг2--- if object_id('tempdb..#ЗаработанныеПрава') is not null drop table #ЗаработанныеПрава select _fld*****RRef as Сотрудник, _fld*****RRef as ВидЕжегодногоОтпуска, _fld***** as ДатаНачала, _Fld***** as ДатаОкончания, _Period as Период, _fld***** as КоличествоДней, _fld***** as КоличествоДнейЗаПериод into #ЗаработанныеПрава from _InfoRg***** a join #ЕжегодныеОтпуска as ЕжегодныеОтпуска on a._Fld*****RRef=ЕжегодныеОтпуска.ВидЕжегодногоОтпуска where a._Period<=@ReportDate and a._Fld*****RRef=@Sotr /*Проверка записанных значений*/ select * from #ЗаработанныеПрава ---Шаг3--- if object_id('tempdb..#УказателиПоследних') is not null drop table #УказателиПоследних Select Сотрудник, ВидЕжегодногоОтпуска, MAX(Период) as Период into #УказателиПоследних from #ЗаработанныеПрава group by Сотрудник, ВидЕжегодногоОтпуска /*Проверка записанных значений*/ select * from #УказателиПоследних ---Шаг4--- if object_id('tempdb..#ТекущиеПраваНаОтпуска') is not null drop table #ТекущиеПраваНаОтпуска (select _Fld*****RRef as Сотрудник, _Fld*****RRef as ВидЕжегодногоОтпуска, _Fld***** as ДнейЕжегодно into #ТекущиеПраваНаОтпуска from _InfoRg***** where Period=@ReportDate) in (select Сотрудник, ВидЕжегодногоОтпуска from #УказателиПоследних)) as ПоложенныеВидыЕжегодныхО ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 14:21 |
|
как переложить на t-sql запрос 1с
|
|||
---|---|---|---|
#18+
Всем спасибо, разобрался с вашей помощью! Модальное окно - красавчег! select _Fld*****RRef as Сотрудник, _Fld*****RRef as ВидЕжегодногоОтпуска, _Fld***** as ДнейЕжегодно into #ТекущиеПраваНаОтпуска from _InfoRg***** where _Period=@ReportDate and _Fld*****RRef in (select Сотрудник from #УказателиПоследних) and _Fld*****RRef in (select Сотрудник from #УказателиПоследних) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 15:13 |
|
|
start [/forum/topic.php?fid=28&fpage=3&tid=1518189]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
others: | 244ms |
total: | 391ms |
0 / 0 |