Имя: Пароль:
1C
1С v8
почкему не изменяются данные в регисре подчиненному регистратору
0 vqwy
 
24.01.13
10:28
Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ
|    ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета.Ссылка как ВидРасчета,
|    ОсновныеНачисленияРаботниковОрганизаций.Результат как Результат,
|    ОсновныеНачисленияРаботниковОрганизаций.ПериодРегистрации как периодРегистрации,
|    ОсновныеНачисленияРаботниковОрганизаций.ПериодДействияНачало как Период1,
|    ОсновныеНачисленияРаботниковОрганизаций.ПериодДействияКонец как Период2,
|    ОсновныеНачисленияРаботниковОрганизаций.ПериодДействия как ПериодДействия,
|    ОсновныеНачисленияРаботниковОрганизаций.Сотрудник.Физлицо.Ссылка как ФизЛицо
|ИЗ
|    РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК ОсновныеНачисленияРаботниковОрганизаций
|ГДЕ
|    ОсновныеНачисленияРаботниковОрганизаций.ФизЛицо.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка",    Справочники.ФизическиеЛица.НайтиПоНаименованию(Стр.ФизическоеЛицо));     //Физические лица
РезультатЗапроса = Запрос.Выполнить();
Выборка=РезультатЗапроса.Выбрать();

НаборЗаписей = РегистрыРасчета.ОсновныеНачисленияРаботниковОрганизаций.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(Документы.ПереносДанных.ПолучитьСсылку());
НаборЗаписей.Прочитать();

Для каждого записьрегистра из НаборЗаписей цикл
   
Пока Выборка.Следующий() Цикл
период1=выборка.период1;
период2=выборка.период2;
периоддействия=выборка.периоддействия;
видрасчета=выборка.видрасчета;
датаначала=дата(Стр.ПериодДействияНачало);

 Если периоддействия<=датаначала тогда
   Если Найти(видрасчета,"Оплата больничных листов")=1 тогда
           ЗаписьРегистра.ПериодДействияКонец = Стр.ПериодДействияКонец;
           ЗаписьРегистра.ПериодРегистрации = Стр.ПериодДействияНачало;
           НаборЗаписей.Записать();
   конецесли;    
 конецесли;    
конеццикла;
КонецЦикла;
1 Wobland
 
24.01.13
10:29
ФизическиеЛица.НайтиПоНаименованию.. что будешь делать, если таких несколько?
2 zak555
 
24.01.13
10:29
жесть
3 zak555
 
24.01.13
10:29
Найти(видрасчета,"Оплата больничных листов")=1
4 DrShad
 
24.01.13
10:30
а почему запись в цикле?
5 vqwy
 
24.01.13
10:30
(1) не в этом суть, суть в том что не изменяет периоды
6 Нуф-Нуф
 
24.01.13
10:30
чувак. ну ты реально жесткий на голову. тебе еще в той ветке написано было v8: как изменить запись в регистре сведений подчиненному регистратору? что здесь НаборЗаписей.Отбор.Регистратор.Установить(Документы.ПереносДанных.ПолучитьСсылку()); нужно указывать ссылку на конкретный документ
7 DrShad
 
24.01.13
10:30
весь код в топку
8 Wobland
 
24.01.13
10:31
(5) а на вопрос ответь
9 DrShad
 
24.01.13
10:31
(6) не ну а вдруг?
10 Нуф-Нуф
 
24.01.13
10:34
короче у автора полная каша в голове. иди смотри http://www.spec8.ru
11 samozvanec
 
24.01.13
10:37
(10) нет, ему сначала сюда

v8: Порог вхождения в программисты 1С
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан