Как вывести все расчеты, относящиеся к выбранному Сотруднику Код 1C v 7.x сСотр_2 = СоздатьОбъект( "Справочник.Сотрудники" ) ;
если сСотр_2. Выбрать( "Выберите сотрудника" , "ФормаСписка" ) = 0 тогда
Предупреждение( "Сотрудник не выбран." ) ;
возврат ;
конецЕсли ;
жз = СоздатьОбъект( "ЖурналРасчетов.Зарплата" ) ;
жз. ВыбратьЗаписиПоОбъекту( сСотр_2. ТекущийЭлемент( ) ) ;
пока жз. ПолучитьЗапись( ) = 1 цикл
Сообщить( "" + жз. Объект + СимволТабуляции + жз. ВидРасч +
Символ Табуляции + жз. Результат) ;
конецЦикла ;
Категория:
Журналы расчетов Вхождение вида расчета в группу Посчитаем все начисления текущего сотрудника за январь:
Код 1C v 7.x
ВсегоНачислено = 0 ;
ЖЗ. ВыбратьЗаписиПоОбъекту ( ТекСотр, ДатаНач, ДатаКон) ;
Пока ЖЗ. ПолучитьЗапись( ) = 1 Цикл
Если ЖЗ. ВидРасч. ВходитВГруппу( ГруппаРасчетов. ВсеНачисления) = 1 Тогда
ВсегоНачислено = ВсегоНачислено + ЖЗ. Результат;
КонецЕсли ;
КонецЦикла ;
ВсегоНачислено = 0 ;
ЖЗ. ВыбратьЗаписиПоОбъекту ( ТекСотр, ДатаНач, ДатаКон) ;
Пока ЖЗ. ПолучитьЗапись( ) = 1 Цикл
Если ГруппаРасчетов. ВсеНачисления. СодержитВидРасчета( ЖЗ. ВидРасч) = 1 Тогда
ВсегоНачислено = ВсегоНачислено + ЖЗ. Результат;
КонецЕсли ;
КонецЦикла ;
Категория:
Виды расчетов Расчет начислений по сотруднику, подразделени, документу Код 1C v 7.x
ВсегоНачислено = 0 ;
ЖЗ. ВыбратьЗаписиПоОбъекту ( ТекСотр, ДатаНач, ДатаКон) ;
Пока ЖЗ. ПолучитьЗапись( ) = 1 Цикл
Если ЖЗ. ВидРасч. ВходитВГруппу( ГруппаРасчетов. ВсеНачисления) = 1 Тогда
ВсегоНачислено = ВсегоНачислено + ЖЗ. Результат;
КонецЕсли ;
КонецЦикла ;
ЖЗ. ВыбратьПериодПоОбъекту ( ТекСотр, ДатаНач) ;
Пока ЖЗ. ПолучитьЗапись( ) = 1 Цикл
ЖЗ. Рассчитать( ) ;
КонецЦикла ;
ЖЗ. ВыбратьЗаписиПоДокументу ( ВыбрДокумент) ;
Пока ЖЗ. ПолучитьЗапись( ) = 1 Цикл
ЖЗ. Рассчитать( ) ;
КонецЦикла ;
ТекПер = ЖЗ. ТекущийПериод( ) ;
ЖЗ. ВыбратьПоЗначению ( "Подразделение" , ВыбрПодразделение, ТекПер, ТекПер) ;
Пока ЖЗ. ПолучитьЗапись( ) = 1 Цикл
ЖЗ. Рассчитать( ) ;
КонецЦикла ;
Категория:
Журналы расчетов Работа с журналом расчетов в 1С7.7 из 1С 8.1 через Com соединение Недавно делал перенос справочников и документов из 1С 7.7 "Зарплата и кадры" в 1С 8.1 "Управление торговым предприятием" через Com соединение. Во время переноса столкнулся с некоторыми проблемами. Одна из них - это при выполнении запроса очень важно правильно указать синтаксис передаваемых значений, особенно даты, иначе запрос не будет выполняться. Как правильно написать запрос? Смотрим:
Код 1C v 8.х
База77 = Новый COMObject( "V77.Application" ) ;
Открыта = База77 . Initialize( База77 . RMTrade, "/d" + ПутьКБазе77 , "NO_SPLASH_SHOW" ) ;
Если Открыта Тогда
Предупреждение( "Ошибка открытия информационной базы!" ) ;
Иначе
Сообщить( "БАЗА ОТКРЫТА УСПЕШНО!" ) ;
Конецесли ;
ДатаПериода = ТекущаяДата( ) ;
Зрп = База77 . CreateObject( "ЖурналРасчетов.Зарплата" ) ;
НТП = Формат( Зрп. НачалоПериодаПоДате( ДатаПериода) , "ДЛФ=Д" ) ;
КТП = Формат( Зрп. КонецПериодаПоДате( ДатаПериода) , "ДЛФ=Д" ) ;
ТекстЗапр = "//{{ЗАПРОС(ВидыРасч)
|Период с '" + НТП + "' по '" + КТП + "';
|Вир = ЖурналРасчетов.Зарплата.ВидРасч;
|Рез = ЖурналРасчетов.Зарплата.Результат;
|Дни = ЖурналРасчетов.Зарплата.Дни;
|ДатаНачала = ЖурналРасчетов.Зарплата.ДатаНачала;
|ДатаОкончания = ЖурналРасчетов.Зарплата.ДатаОкончания;
|Часы = ЖурналРасчетов.Зарплата.Часы;
|Субконто = ЖурналРасчетов.Зарплата.Субконто;
|Сот = ЖурналРасчетов.Зарплата.Объект;
|КодОбъекта = ЖурналРасчетов.Зарплата.Объект.Код;
|Функция РезСумма = Сумма(Рез);
|Группировка Сот;
|Группировка Вир;
|"
;
Запр = База77 . CreateObject( "Запрос" ) ;
Если Запр. Выполнить( ТекстЗапр) < > 0 Тогда
Пока Запр. Группировка( "Сот" ) = 1 Цикл
Пока Запр. Группировка( "Вир" ) = 1 Цикл
Конеццикла ;
Конеццикла ;
Конецесли ;
Если нам необходимо установить отбор в журнале, например по сотруднику, то сделать это можно следующим образом:
Код 1C v 8.х
"|КодОбъекта = ЖурналРасчетов.Зарплата.Объект.Код;"
"|Условие(КодОбъекта = " + Сотр. код + ");"
Из журнала расчетов можно выбрать записи без запроса, методом прямой выборки. В некоторых ситуациях этот способ может быть даже удобней чем через запрос. В данном случае синтаксис будет довольно простым:
Код 1C v 7.x Запр = База77 . CreateObject( "ЖурналРасчетов.Зарплата" ) ;
Запр. ВыбратьЗаписиПоОбъекту( Сотр, НТП, КТП) ;
Пока Запр. ПолучитьЗапись( ) = 1 Цикл
Конеццикла ;
Написал Валецкий Станислав Категория:
Журналы расчетов