|
1c и sql | ☑ | ||
---|---|---|---|---|
0
dron4ikkk
11.06.13
✎
08:25
|
как в 1с...результата запроса поместить в sqlserver 2008 r2? наачать лучше с простого c подключения к базе нарыл такой код:
con = СоздатьОбъект("adodb.connection"); Str="Provider='sqloledb';Data Source=Имя_Сервера;Initial Catalog=Имя_Базы"; Попытка con.open(str, "Пользователь", "Пароль"); исключение Сообщить("Не верно указаны данные для подключения к БД"); Сообщить(ОписаниеОшибки()); КонецПопытки; command=CreateObject("adodb.command"); command.ActiveConnection=con; con.BeginTrans(); command.CommandText=SQL_Скрипт; command.Execute(); ...... Попытка con.CommitTrans(); Исключение Сообщить("Не удалось зафиксировать транзакцию! Попытаемся откатить..."); con.RollbackTrans(); КонецПопытки; con.Close(); а что дальше? запрос такой: Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации.Наименование КАК Подразд, | РаботникиОрганизацийСрезПоследних.Сотрудник КАК Сотрудник, | РаботникиОрганизацийСрезПоследних.Должность.Наименование КАК Долж, | ВЫБОР | КОГДА СостояниеРаботниковОрганизацийСрезПоследних.ПериодЗавершения >= &ДатаОтчета | ИЛИ СостояниеРаботниковОрганизацийСрезПоследних.ПериодЗавершения = &НулеваяДата | ТОГДА СостояниеРаботниковОрганизацийСрезПоследних.Состояние | ИНАЧЕ СостояниеРаботниковОрганизацийСрезПоследних.СостояниеЗавершения | КОНЕЦ КАК Состояние | | ИЗ | РегистрСведений.РаботникиОрганизаций.СрезПоследних КАК РаботникиОрганизацийСрезПоследних | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостояниеРаботниковОрганизаций.СрезПоследних(&ДатаОтчета, ) КАК СостояниеРаботниковОрганизацийСрезПоследних | ПО (СостояниеРаботниковОрганизацийСрезПоследних.Сотрудник = РаботникиОрганизацийСрезПоследних.Сотрудник) | ГДЕ | (РаботникиОрганизацийСрезПоследних.Сотрудник.ВидЗанятости = ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ОсновноеМестоРаботы) | ИЛИ РаботникиОрганизацийСрезПоследних.Сотрудник.ВидЗанятости = ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.Совместительство)) | И РаботникиОрганизацийСрезПоследних.Сотрудник.ДатаУвольнения = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | | УПОРЯДОЧИТЬ ПО | Подразд"; Запрос.УстановитьПараметр("ДатаОтчета", ДатаОтчета); Запрос.УстановитьПараметр("НулеваяДата", '00010101'); Результат = Запрос.Выполнить().Выбрать(); Пока Результат.Следующий() Цикл item = фабрикаXDTO.Создать(rowType); item.fio = Строка(Результат.Сотрудник); item.dolgnost = Строка(Результат.Долж); item.podrazdelenie = Строка(Результат.Подразд); item.status = Строка(Результат.Состояние); data.items.Добавить(item); Если Результат.Состояние = null Тогда Статус="Работает"; КонецЕсли; КонецЦикла; |
|||
1
rbcvg
11.06.13
✎
08:30
|
"результата запроса поместить в sqlserver 2008 r2" - накой он там?
|
|||
2
dron4ikkk
11.06.13
✎
08:39
|
(1) нагрузку на сервак таким образом уменьшит..выгружаешь базу ночью..один раз в сутки..и уже потом идет работа с sql serverom чем каждый раз обращаться к серваку и заново получать данные..типа как кэша!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |