Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 00:11

Перенос данных из УСХП в камин

Автор gliokker, 30 окт 2013, 10:28

0 Пользователей и 1 гость просматривают эту тему.

gliokker

Все привет вот кусочек кода
Выборка = Документы.КадровоеПеремещениеОрганизаций.Выбрать(ДатаНачала,ДатаКонца);
   НомерСтроки=0;
   Пока Выборка.Следующий() Цикл   
      

   Для Каждого ТекСтрокаРаботникиОрганизации Из Выборка.РаботникиОрганизации Цикл                 
         НомерСтроки=НомерСтроки+1;
         ТабНомер=ТекСтрокаРаботникиОрганизации.Сотрудник.Код;
         
         Лист.Cells(НомерСтроки, 1).Value = Строка("Перемещение");
         Лист.Cells(НомерСтроки, 2).Value = Дата(Выборка.Дата);             
         Лист.Cells(НомерСтроки, 3).Value = Строка(ТекСтрокаРаботникиОрганизации.Сотрудник.Код);
         Лист.Cells(НомерСтроки, 5).Value = Строка(ТекСтрокаРаботникиОрганизации.ПодразделениеОрганизации);
         Лист.Cells(НомерСтроки, 6).Value = Строка(ТекСтрокаРаботникиОрганизации.ОснованиеПеремещения);
         Лист.Cells(НомерСтроки, 7).Value = Дата(ТекСтрокаРаботникиОрганизации.ДатаНачала);
         Попытка
         Лист.Cells(НомерСтроки, 8).Value = Дата(ТекСтрокаРаботникиОрганизации.ДатаОкончания);   
      Исключение
         КонецПопытки;

         Лист.Cells(НомерСтроки, 9).Value = Строка(ТекСтрокаРаботникиОрганизации.Должность);
         Лист.Cells(НомерСтроки, 10).Value = Строка(ТекСтрокаРаботникиОрганизации.СпособРасчета);
         Лист.Cells(НомерСтроки, 11).Value = Строка(ТекСтрокаРаботникиОрганизации.ГрафикРаботы);
           
         КонецЦикла;   
   Для Каждого ТекСтрокаОсновныеНачисления Из Выборка.ОсновныеНачисления Цикл         
      Если ТабНомер=ТекСтрокаОсновныеНачисления.Сотрудник.Код Тогда
            Лист.Cells(НомерСтроки, 12).Value = Строка(ТекСтрокаОсновныеНачисления.Сотрудник);
             Лист.Cells(НомерСтроки, 13).Value = Строка(ТекСтрокаОсновныеНачисления.ВидРасчета);
            Лист.Cells(НомерСтроки, 14).Value = Строка(ТекСтрокаОсновныеНачисления.Действие);
            Лист.Cells(НомерСтроки, 15).Value = Строка(ТекСтрокаОсновныеНачисления.Показатель1);
         КонецЕсли;
         КонецЦикла;
             КонецЦикла;

Я столкнулся с такой ошибкой екСтрокаРаботникиОрганизации.ПодразделениеОрганизации это подразделение  на которое переводят сотрудника а с какого подразделения перводят я не нашёл
в документе есть 2 реквизита
ОбособленноеПодразделениеОткуда
ОбособленноеПодразделениеКуда
С типом СправочникСсылка.Организации
откудо мне лучше взять старое подразделение
если пишу так то ругается
Выборка = Документы.КадровоеПеремещениеОрганизаций.Выбрать(ДатаНачала,ДатаКонца);
   НомерСтроки=0;
   Пока Выборка.Следующий() Цикл   
Лист.Cells(НомерСтроки, 70).Value = Строка(Выборка.ОбособленноеПодразделениеОткуда);
Лист.Cells(НомерСтроки, 71).Value = Строка(Выборка.ОбособленноеПодразделениеКуда);
аналогичное происходит и с должностью. Может кто то делал подскажите

gliokker

Едим дальше
написал вот такой код
   Выборка = Документы.КадровоеПеремещениеОрганизаций.Выбрать(ДатаНачала,ДатаКонца);
   НомерСтроки=0;
   Пока Выборка.Следующий() Цикл   
      
   Запрос1 = Новый Запрос;
   Запрос1.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
   
   ТекстЗапроса =
   "ВЫБРАТЬ
   |   Сотрудники.Сотрудник,
   |   Сотрудники.ДатаНачала
   |ПОМЕСТИТЬ ВТ_ТаблицаСотрудников
   |ИЗ
   |   &ТаблицаСотрудников КАК Сотрудники";
   
   Запрос1.УстановитьПараметр("ТаблицаСотрудников",   Выборка.Ссылка.РаботникиОрганизации);
   Запрос1.Текст = ТекстЗапроса;
   Запрос1.Выполнить();
   
   ДанныеРаботниковДоНазначения = КадровоеПеремещениеОрганизацийПереопределяемый.СформироватьЗапросПоДаннымРаботникаДоНазначения(Запрос1, Выборка.Ссылка).Выгрузить();
   
   Для Каждого ТекСтрокаРаботникиОрганизации Из Выборка.РаботникиОрганизации Цикл                 
         НомерСтроки=НомерСтроки+1;
         ТабНомер=ТекСтрокаРаботникиОрганизации.Сотрудник.Код;
         
         ДанныеРаботникаДоНазначения = ДанныеРаботниковДоНазначения.Найти(ТекСтрокаРаботникиОрганизации.Сотрудник,"Сотрудник");
         
         Лист.Cells(НомерСтроки, 1).Value = Строка("Перемещение");
         Лист.Cells(НомерСтроки, 2).Value = Дата(Выборка.Дата);             
         Лист.Cells(НомерСтроки, 3).Value = Строка(ТекСтрокаРаботникиОрганизации.Сотрудник.Код);
         Лист.Cells(НомерСтроки, 5).Value = Строка(ТекСтрокаРаботникиОрганизации.ПодразделениеОрганизации);
         Лист.Cells(НомерСтроки, 6).Value = Строка(ТекСтрокаРаботникиОрганизации.ОснованиеПеремещения);
         Лист.Cells(НомерСтроки, 7).Value = Дата(ТекСтрокаРаботникиОрганизации.ДатаНачала);
         Попытка
         Лист.Cells(НомерСтроки, 8).Value = Дата(ТекСтрокаРаботникиОрганизации.ДатаОкончания);   
         Лист.Cells(НомерСтроки, 16).Value = Строка(ДанныеРаботникаДоНазначения.ПодразделениеОрганизации);
         Лист.Cells(НомерСтроки, 17).Value = Строка(ДанныеРаботникаДоНазначения.Должность);
      Исключение
         КонецПопытки;

         Лист.Cells(НомерСтроки, 9).Value = Строка(ТекСтрокаРаботникиОрганизации.Должность);
         Лист.Cells(НомерСтроки, 10).Value = Строка(ТекСтрокаРаботникиОрганизации.СпособРасчета);
         Лист.Cells(НомерСтроки, 11).Value = Строка(ТекСтрокаРаботникиОрганизации.ГрафикРаботы);
           
         КонецЦикла;   
   Для Каждого ТекСтрокаОсновныеНачисления Из Выборка.ОсновныеНачисления Цикл         
      Если ТабНомер=ТекСтрокаОсновныеНачисления.Сотрудник.Код Тогда
            Лист.Cells(НомерСтроки, 12).Value = Строка(ТекСтрокаОсновныеНачисления.Сотрудник);
             Лист.Cells(НомерСтроки, 13).Value = Строка(ТекСтрокаОсновныеНачисления.ВидРасчета);
            Лист.Cells(НомерСтроки, 14).Value = Строка(ТекСтрокаОсновныеНачисления.Действие);
            Лист.Cells(НомерСтроки, 15).Value = Строка(ТекСтрокаОсновныеНачисления.Показатель1);
         КонецЕсли;
         КонецЦикла;
             КонецЦикла;

Строки 16 и 17 не заполняются,не могу понять почем,смотрю в отладчике всё пишет а вот в ексель нет, подскажите в чём может быть проблема?

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск