Имя: Пароль:
1C
1С v8
Перенос размеров сотрудников из 1с7.7 в 1с 8.3 УПП
,
0 laby1
 
28.02.17
14:26
Здравствуйте!

С 7.7 не работал ранее. Но отчет по размерам сотрудников сделал.

Таб.№    ФИО    Подразделение    Размер обуви    Размер одежды    Рост

Начал ручками забивать размеры в 1С 8, но 2 тыс сотрудников, на третьем десятке энтузиазму поубавилось.

Как бы автоматизировать это...
1 Господин ПЖ
 
28.02.17
14:26
ставь всем 22.5
2 k1noshkin
 
28.02.17
14:29
(0) Сохранить из 7.7 в эксель, обработку написать и загрузить из экселя в УПП.
3 laby1
 
28.02.17
14:33
(2) Я обработок таких не писал.

Мне получается надо эти данные записать в РС

РегистрСведений.ЗначенияСвойствОбъектов

Что взять за основу? А из таблицы mxl не получится загрузить?
4 laby1
 
28.02.17
14:43
И туда значение из ПВХ надо писать

ПланВидовХарактеристикСсылка.СвойстваОбъектов

...
5 Сильф
 
28.02.17
14:46
(3) >Я обработок таких не писал.
http://catalog.mista.ru/public/225624/
6 laby1
 
28.02.17
15:36
Ладно, нашел, как получить ТЗ из ТД:

Процедура КнопкаВыполнитьНажатие(Кнопка)
    
    ТабЗначений = ПреобразоватьТабличныйДокументВТаблицуЗначений(ЭлементыФормы.ПолеТД);
    
КонецПроцедуры

Функция ПреобразоватьТабличныйДокументВТаблицуЗначений(ТабДокумент)    
    
    ПоследняяСтрока = ТабДокумент.ВысотаТаблицы;
    ПоследняяКолонка = ТабДокумент.ШиринаТаблицы;
    ОбластьЯчеек = ТабДокумент.Область(1, 1, ПоследняяСтрока, ПоследняяКолонка);
    
    // Создаем описание источника данных на основании области ячеек табличного документа.
    ИсточникДанных = Новый ОписаниеИсточникаДанных(ОбластьЯчеек);
        
    // Создаем объект для интеллектуального построения отчетов,
    // указываем источник данных и выполняем построение отчета.
    ПостроительОтчета = Новый ПостроительОтчета;    
    ПостроительОтчета.ИсточникДанных = ИсточникДанных;
    ПостроительОтчета.Выполнить();
    
    // Результат выгружаем в таблицу значений.
    ТабЗначений = ПостроительОтчета.Результат.Выгрузить();
    
    Возврат ТабЗначений
    
КонецФункции


Теперь нужно из строк запихнуть в РС ЗначенияСвойствОбъектов ...
7 h-sp
 
28.02.17
15:48
(6) заведи задание на лансере, там такие переносы по 500 рублей
8 laby1
 
28.02.17
16:08
(7) Да я и сам справлюсь, надо же на работе работу делать, мне ж деньги за это платят.
9 laby1
 
01.03.17
11:02
Ну, собственно, перенёс, ничего сложного:


Процедура КнопкаВыполнитьНажатие(Кнопка)
    
    РазмерыСотрудников = ПреобразоватьТабличныйДокументВТаблицуЗначений(ЭлементыФормы.ПолеТД);
    НаборЗаписей = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьНаборЗаписей();
    Для Каждого РазмерыСотрудника из РазмерыСотрудников Цикл
        
        Сотрудник = Справочники.СотрудникиОрганизаций.НайтиПоКоду(РазмерыСотрудника.Таб);
        
        Если НЕ ЗначениеЗаполнено(Сотрудник) Тогда
            Сообщить("Сотрудник не найден " + РазмерыСотрудника.ФИО);
        ИначеЕсли НЕ ЗначениеЗаполнено(РазмерыСотрудника.РазмерОбуви) Тогда
            Сообщить("Сотрудник без размера обуви " + РазмерыСотрудника.ФИО);
        Иначе
            // Сотрудник найден
            Лицо = Сотрудник.Физлицо;
            НаборЗаписей.Очистить();
            НаборЗаписей.Отбор.Объект.Установить(Лицо);

            НоваяЗапись = НаборЗаписей.Добавить();
            НоваяЗапись.Объект = Лицо;
            НоваяЗапись.Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Размер обуви");
            НоваяЗапись.Значение = РазмерыСотрудника.РазмерОбуви;
            
            НоваяЗапись = НаборЗаписей.Добавить();
            НоваяЗапись.Объект = Лицо;
            НоваяЗапись.Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Размер одежды");
            НоваяЗапись.Значение = РазмерыСотрудника.РазмерОдежды;
            
            НоваяЗапись = НаборЗаписей.Добавить();
            НоваяЗапись.Объект = Лицо;
            НоваяЗапись.Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Рост");
            НоваяЗапись.Значение = РазмерыСотрудника.Рост;
            
            НаборЗаписей.Записать();
            
        КонецЕсли;
        
    КонецЦикла;
    

    
КонецПроцедуры

Функция ПреобразоватьТабличныйДокументВТаблицуЗначений(ТабДокумент)
10 Has
 
01.03.17
11:57
Обработка - загрузка данных из табличного документа
11 Господин ПЖ
 
01.03.17
11:59
(9) я всегда в тебя верил
12 h-sp
 
01.03.17
12:36
(11) верил, что он регистр потрет?
13 laby1
 
01.03.17
13:05
(12) Ничего я не потер
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший