Переключение на Главную Страницу Страницы: 1 [2]  ОтправитьПечать
Горячая тема (более 10 ответов) выгрузка из журнала расчетов (число прочтений - 9756 )
SisterHo
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 9
Зарегистрирован: 27. Ноября 2006
Пол: Женский
Re: выгрузка из журнала расчетов
Ответ #15 - 06. Декабря 2006 :: 09:58
Печать  
С кодами и группами разобралась.
Вот мой запрос.
|SELECT
     |      ЖР.ids AS [Объект $Справочник.Сотрудники],
     |      ЖР.result AS [Результат],  
     |      Долж.PARENTID [Родитель $Справочник.Должности],  
     |      $ЖР.Должность AS [Должность $Справочник.Должности],
     |FROM
     |      $ЖурналРасчетов.Зарплата AS ЖР  
     |JOIN $Справочник.Должности AS Долж (NOLOCK) ON Долж.ID = $ЖР.Должность
   |WHERE
   |(ЖР.period='"+Формат(ЖР.НачалоТекущегоПериода(),"Д ГГГГММДД")+"M') AND  
   |ЖР.idalg IN (" + СтрокаУсловия1 + ")  AND  
     |Group By ЖР.ids,ЖР.idalg, ЖР.result ,$ЖР.Должность,Долж.PARENTID
     |"//}}ЗАПРОС
     ;  
А как реализовать конструкцию
"|ДолжностьСотрудника=ЖурналРасчетов.Зарплата.Объект.Должность;" ?
Т.е. должность у меня -реквизит Журнала Расчетов,мне надо еще Должность сотрудника на конец выбранного периода.Как достать ее?
  
Наверх
 
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


1С++ любитель

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: выгрузка из журнала расчетов
Ответ #16 - 06. Декабря 2006 :: 10:10
Печать  
Цитата:
Получение наиболее позднего периодического значения

Синтаксис:

$ПоследнееЗначение.{<ИмяСправочника> | Константа}.{<ИмяРеквизита | ИмяКонстанты>}(
       <ИдОбъекта>, <Дата>[, <Время>[, <ИДДокумента>]]
)

Параметры:

ИдОбъекта - тип: конструкция типа выражение MS T-SQL; внутренний идентификатор элемента справочника, или 0 для константы;
Дата - тип: конструкция типа выражение MS T-SQL; дата, на которую нужно получить последнее значение;
Время - тип: конструкция типа выражение MS T-SQL; время, на которое нужно получить последнее значение;
ИДДокумента - тип: конструкция типа выражение MS T-SQL; идентификатор документа, на позицию которого нужно получить последнее значение.
Описание: позволяет получить последнее значение на указанную дату.


Код
Выбрать все
|ДолжностьСотрудника=ЖурналРасчетов.Зарплата.Объект.Должность; 


Код
Выбрать все
|$ПоследнееЗначение.Сотрудники.Должность(ЖР.ids,:КонецПериода~~) AS [ДолжностьСотрудника $Справочник.Должности] 


RS.УстановитьТекстовыйПараметр("КонецПериода",ЖР.КонецТекущегоПериода())
  
Наверх
 
IP записан
 
SisterHo
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 9
Зарегистрирован: 27. Ноября 2006
Пол: Женский
Re: выгрузка из журнала расчетов
Ответ #17 - 07. Декабря 2006 :: 08:18
Печать  
вот кусок запроса:
(
select top 1
left(c175_vv.value, 9)
from
_1sconst as c175_vv (nolock)
where
c175_vv.id = 175 and
c175_vv.objid = ЖР.ids and
(c175_vv.date <= {d '2006-11-01'})
order by c175_vv.date desc, c175_vv.time desc, c175_vv.docid desc, c175_vv.row_id desc
) AS [ДолжностьСотрудника $Справочник.Должности]

ругается
Incorrect syntax near the keyword 'order'.
Что не так?
  
Наверх
 
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


1С++ любитель

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: выгрузка из журнала расчетов
Ответ #18 - 07. Декабря 2006 :: 11:13
Печать  
приводила бы уже ВЕСЬ запрос - так не понятно ничего и не отладку приводи, а нормальный текст
  
Наверх
 
IP записан
 
SisterHo
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 9
Зарегистрирован: 27. Ноября 2006
Пол: Женский
Re: выгрузка из журнала расчетов
Ответ #19 - 07. Декабря 2006 :: 12:23
Печать  
угу... Смущённый
ТекстЗапроса = "
|SELECT
|      ЖР.ids AS [Объект $Справочник.Сотрудники],
|      ЖР.result AS [Результат],  
|      Долж.PARENTID [Родитель $Справочник.Должности],  
|      $ЖР.Должность AS [Должность $Справочник.Должности],
|      $ЖР.Подразделение AS [Подразделение $Справочник.Подразделения],
|      $ЖР.Категория AS [Категория $Перечисление.КатегорииСотрудников]  

|$ПоследнееЗначение.Сотрудники.Должность(ЖР.ids,:КонецПериода~~) AS [ДолжностьСотрудника $Справочник.Должности]
|FROM
|      $ЖурналРасчетов.Зарплата AS ЖР  
|JOIN $Справочник.Должности AS Долж (NOLOCK) ON Долж.ID = $ЖР.Должность  
|WHERE
|(ЖР.period='"+Формат(ДатаЗапроса,"Д ГГГГММДД")+"M') AND  
|ЖР.idalg IN (" + СтрокаУсловия1 + ")
|Group By ЖР.ids,$ЖР.Подразделение,$ЖР.Категория,ЖР.idalg, ЖР.result ,$ЖР.Должность,Долж.PARENTID,ДолжностьСотрудника
|"//}}ЗАПРОС
;  
RS.УложитьСписокОбъектов(списокподр, "#сп1","Подразделения");  
RS.УстановитьТекстовыйПараметр("КонецПериода",ДатаЗапроса);
RS.Отладка(1);
ТЗ = RS.ВыполнитьИнструкцию(ТекстЗапроса);  
  
Наверх
 
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


1С++ любитель

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: выгрузка из журнала расчетов
Ответ #20 - 11. Декабря 2006 :: 04:13
Печать  
в случаяъ, когда выполняется группировка по таким конструкциям, типа $ПоследнееЗначение и прочим подзапросам (особенно с внутренней сортировкой) - рекомендую оборачивать это во внешний запрос, да понятнее это выглядит:
Код
Выбрать все
ТекстЗапроса = "
|SELECT
|
|	Подзапрос.Объект 				AS [Объект $Справочник.Сотрудники],
|	SUM(Подзапрос.Результат)		AS Результат,
|	Подзапрос.Родитель				AS [Родитель $Справочник.Должности],
|	Подзапрос.Должность				AS [Должность $Справочник.Должности],  
|	Подзапрос.Подразделение			AS [Подразделение $Справочник.Подразделения],
|	Подзапрос.Категория 			AS [Категория $Перечисление.КатегорииСотрудников],
|	Подзапрос.ДолжностьСотрудника	AS [ДолжностьСотрудника $Справочник.Должности]
|
|FROM	(
|	SELECT  
|		ЖР.ids 						AS Объект,
|		ЖР.result 					AS Результат,    
|		Долж.PARENTID 				AS Родитель,
|		$ЖР.Должность 				AS Должность,
|		$ЖР.Подразделение 			AS Подразделение,
|		$ЖР.Категория 				AS Категория,
|		$ПоследнееЗначение.Сотрудники.Должность(ЖР.ids,:КонецПериода~~) AS ДолжностьСотрудника
|	FROM
|		$ЖурналРасчетов.Зарплата AS ЖР    
|	JOIN $Справочник.Должности AS Долж (NOLOCK) ON Долж.ID = $ЖР.Должность    
|
|	WHERE	(ЖР.period='"+Формат(ДатаЗапроса,"Д ГГГГММДД")+"M')
|		AND (ЖР.idalg IN (" + СтрокаУсловия1 + "))
|		) AS Подзапрос
|
|GROUP BY
|	Подзапрос.Объект,
|	Подзапрос.Родитель,
|	Подзапрос.Должность,
|	Подзапрос.Подразделение,
|	Подзапрос.Категория,
|	Подзапрос.ДолжностьСотрудника
|"//}}ЗАПРОС
;    
RS.УложитьСписокОбъектов(списокподр, "#сп1","Подразделения");  
RS.УстановитьТекстовыйПараметр("КонецПериода",ДатаЗапроса);
RS.Отладка(1);
ТЗ = RS.ВыполнитьИнструкцию(ТекстЗапроса);   



PS не знаю, как другим, но меня плохо отформатированный код приводит в уныние (это мягко сказано  Подмигивание)
PPS хотя на форуме табуляция почему то плывет... совсем не так, как в 1С-ке  Печаль
  
Наверх
 
IP записан
 
Перенос 1С, выгрузка 1С
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 2
Зарегистрирован: 21. Марта 2009
Перенос 1С, выгрузка 1С
Ответ #21 - 21. Марта 2009 :: 13:27
Печать  
Мы выполняем выгрузку 1С / обмен данными между типовыми и самописными конфигурациями 1С, обмен 1C данными, объединение баз, перенос справочников 1С, 1С перенос документов, 1С перенос остатков, операций.
Виды выгрузки 1С данных:
•      перенос справочников 1С
•      перенос остатков 1С регистров
•      перенос 1С проводок
•      1С перенос документов
Проводим консультации по настройке 1С конвертаций.
Выполнение работ возможно удаленно и в офисе.

E-mail: convert1c@nm.ru
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 
ОтправитьПечать