|
Запрос: одной функцией получить несколько значений??? | ☑ | ||
---|---|---|---|---|
0
листопад
10.05.15
✎
20:51
|
Подскажите, можно ли в одной функции (у меня это ПолучитьДанныеТД()) передать несколько значений? Сейчас у меня передается только Выборка.ТДНомер, но мне надо получить еще Выборка.ТДДата. Подскажите, как это сделать???
&НаСервере Функция ВыборкаНаСервере() Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ВедомостьНаВыплату.ФизическоеЛицо.Наименование КАК ФЛ, | ВедомостьНаВыплату.КВыплате, | ВедомостьНаВыплату.БанковскийСчет.НомерСчета |ИЗ | Документ.ВедомостьНаВыплатуЗарплатыПеречислением.Зарплата КАК ВедомостьНаВыплату |ГДЕ | ВедомостьНаВыплату.Ссылка = &Ведомость"; Запрос.УстановитьПараметр("Ведомость", Докум); РезультатЗапроса = Запрос.Выполнить().Выбрать(); Пока РезультатЗапроса.Следующий() Цикл ПолучитьДанныеТД(РезультатЗапроса.ФЛ); КонецЦикла; КонецФункции &НаСервере Функция ПолучитьДанныеТД(ФЛ) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | КадроваяИсторияСотрудников.ФизическоеЛицо, | КадроваяИсторияСотрудников.Регистратор.ТрудовойДоговорНомер КАК ТДНомер, | КадроваяИсторияСотрудников.Регистратор.ТрудовойДоговорДата КАК ТДДата |ИЗ | РегистрСведений.КадроваяИсторияСотрудников КАК КадроваяИсторияСотрудников |ГДЕ | КадроваяИсторияСотрудников.Регистратор ССЫЛКА Документ.ПриемНаРаботу | И КадроваяИсторияСотрудников.ФизическоеЛицо = &ФЛ"; Запрос.УстановитьПараметр("ФЛ", ФЛ); Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда Возврат Выборка.ТДНомер; //вот здесь как передать еще Выборка.ТДДата КонецЕсли; КонецФункции |
|||
1
Остап Сулейманович
10.05.15
✎
20:55
|
Например так :
Если Выборка.Следующий() Тогда Результат = Новый Структура; Результат.Вставить("ТДНомер", Выборка.ТДНомер); Результат.Вставить("ТДДата", Выборка.ТДДата); ... //Много разнообразных "Вставить" ... Возврат Результат; //Возврат Выборка.ТДНомер; //вот здесь как передать еще Выборка.ТДДата КонецЕсли; |
|||
2
листопад
10.05.15
✎
20:58
|
(1) Спасибо!
|
|||
3
jsmith82
10.05.15
✎
20:58
|
в первом запросе ФЛ это строка
во втором запросе справочник.ссылка докум - переменная не определена функция используется как процедура про структуру трудно сообразить было? какой стаж кодинга? |
|||
4
Провинциальный 1сник
10.05.15
✎
20:58
|
(1) Угу.. а тех, кто возвращает значения путем изменения формальных параметров, на том свете ждет пожизненное программирование на фортране..
|
|||
5
jsmith82
10.05.15
✎
20:59
|
(4) ткни. чёто пропустил
|
|||
6
листопад
10.05.15
✎
21:01
|
Еще подскажите пож-та: в РегистреСведений КадроваяИсторияСотрудников может быть несколько документов ПриемаНаРаботу (так перенеслось из др.программы, если сотрудник принимался-увольнялся-принимался). Как мне получить последний документ ПриемНаРаботу?
Вот запрос: Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | КадроваяИсторияСотрудников.ФизическоеЛицо, | КадроваяИсторияСотрудников.Регистратор.ТрудовойДоговорНомер КАК ТДНомер, | КадроваяИсторияСотрудников.Регистратор.ТрудовойДоговорДата КАК ТДДата |ИЗ | РегистрСведений.КадроваяИсторияСотрудников КАК КадроваяИсторияСотрудников |ГДЕ | КадроваяИсторияСотрудников.Регистратор ССЫЛКА Документ.ПриемНаРаботу | И КадроваяИсторияСотрудников.ФизическоеЛицо = &ФЛ"; Запрос.УстановитьПараметр("ФЛ", ФЛ); |
|||
7
jsmith82
10.05.15
✎
21:03
|
(6)
"ВЫБРАТЬ ПЕРВЫЕ 1 | КадроваяИсторияСотрудников.ФизическоеЛицо, | КадроваяИсторияСотрудников.Регистратор.ТрудовойДоговорНомер КАК ТДНомер, | КадроваяИсторияСотрудников.Регистратор.ТрудовойДоговорДата КАК ТДДата |ИЗ | РегистрСведений.КадроваяИсторияСотрудников КАК КадроваяИсторияСотрудников |ГДЕ | КадроваяИсторияСотрудников.Регистратор ССЫЛКА Документ.ПриемНаРаботу | И КадроваяИсторияСотрудников.ФизическоеЛицо = &ФЛ |УПОРЯДОЧИТЬ ПО | КадроваяИсторияСотрудников.Регистратор.Дата УБЫВ"; |
|||
8
листопад
10.05.15
✎
21:05
|
(7) Спасибо!
|
|||
9
Остап Сулейманович
10.05.15
✎
21:05
|
(6) Если регистр периодический - юзать СрезПоследних.
Если нет и можно без изысков - включить в выборку даты документов и по ним отсортировать. ЗЫ. Выбрать именно последний документ тоже можно. Но в твоем случае просто выбери даты и по ним отсортируй. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |