8.х ОБМЕН Справочники и exel

Тема в разделе "Обмен данными в "1С:Предприятие 8"", создана пользователем VIPOS, 21 сен 2012.

  1. Dmitriy_76
    Offline

    Dmitriy_76 Опытный в 1С Команда форума

    Регистрация:
    26 мар 2011
    Сообщения:
    2.174
    Симпатии:
    13
    Баллы:
    29
    вот глянь : Если Лист.Cells(Строка,3). Value= Перечисления.г_ПричиныБрони.Военнослужащий тогда

    ВСЕГДА БУДЕТ ЛОЖЬ!!!! слева значение с типом СТРОКА , справа Значине с типом перечисление ...
    КАК минимум надо писать так :
    Если Лист.Cells(Строка,3). Value= "Военнослужащий" тогда
    исправляй :)
  2. TopicStarter Overlay
    VIPOS
    Offline

    VIPOS Опытный в 1С

    Регистрация:
    12 сен 2012
    Сообщения:
    565
    Симпатии:
    1
    Баллы:
    29
    Спасибо=))) я тоже уже до этого дошел=)))
    Только вот вылезла новая проблема.....


    Код:
    Эксель = Новый COMОбъект("Excel.Application");
    Книга = Эксель.WorkBooks.Open("d:\хрень\1.xls");
    Лист = Книга.WorkSheets(1);
    ВсегоСтрок = Лист.Cells(1,1).SpecialCells(11).Row;
    i=1;
    Для i=1 по ВсегоСтрок Цикл
    ОбработкаПрерыванияПользователя();
    //
    
    ТабНомер=Строка(Лист.Cells(i,1).Value);
    ТабНомер=СтрЗаменить(ТабНомер, Символы.НПП, "");
    СсылкаНаСотрудника = Справочники.СотрудникиОрганизаций.НайтиПоКоду(ТабНомер);
    Если СсылкаНаСотрудника.Пустая() Тогда
    Сообщить("Таб номер "+ ТабНомер+ " не найден!");
    Иначе
    Сообщить("Таб номер"+ТабНомер+"обнаружен");
    //это все работает
    ОбъектСотрудник=СсылкаНаСотрудника.ПолучитьОбъект();
    ОбъектСотрудник.Актуальность=Истина;
    ОбъектСотрудник.ВидЗанятости=Перечисления.ВидыЗанятостиВОрганизации.ОсновноеМестоРаботы;
    Если СокрЛП(Лист.Cells(i,2).Value)="женат" Тогда
    ОбъектСотрудник.СемейноеПоложение=Перечисления.г_СемейноеПоложение.Женат;
    ИначеЕсли СокрЛП(Лист.Cells(i,2).Value)="холост" Тогда
    ОбъектСотрудник.СемейноеПоложение=Перечисления.г_СемейноеПоложение.Холост;
    ИначеЕсли СокрЛП(Лист.Cells(i,2).Value)="замужем" Тогда
    ОбъектСотрудник.СемейноеПоложение=Перечисления.г_СемейноеПоложение.Замужем;
    ИначеЕсли СокрЛП(Лист.Cells(i,2).Value)="не_замужем" Тогда
    ОбъектСотрудник.СемейноеПоложение=Перечисления.г_СемейноеПоложение.НеЗамужем;
    ИначеЕсли СокрЛП(Лист.Cells(i,2).Value)="разведен" Тогда
    ОбъектСотрудник.СемейноеПоложение=Перечисления.г_СемейноеПоложение.Разведен;
    ИначеЕсли СокрЛП(Лист.Cells(i,2).Value)="вдова" Тогда
    ОбъектСотрудник.СемейноеПоложение=Перечисления.г_СемейноеПоложение.Вдова;
    ИначеЕсли СокрЛП(Лист.Cells(i,2).Value)="вдовец" Тогда
    ОбъектСотрудник.СемейноеПоложение=Перечисления.г_СемейноеПоложение.Вдовец;
    КонецЕсли;
    
    Если Лист.Cells(i,3).Value=1 Тогда
    ОбъектСотрудник.Пенсионер=Истина;
    ОбъектСотрудник.ДатаУхода=Лист.Cells(i,4).Value;
    Если СокрЛП(Лист.Cells(i,5).Value)="ОбычныйПенсионер" Тогда
    ОбъектСотрудник.ПризнакПенсионера=Перечисления.г_Пенсионер.ОбычныйПенсионер;
    ИначеЕсли СокрЛП(Лист.Cells(i,5).Value)="Список1" Тогда
    ОбъектСотрудник.ПризнакПенсионера=Перечисления.г_Пенсионер.Список1;
    ИначеЕсли СокрЛП(Лист.Cells(i,5).Value)="Список2" Тогда
    ОбъектСотрудник.ПризнакПенсионера=Перечисления.г_Пенсионер.Список2;
    ИначеЕсли СокрЛП(Лист.Cells(i,5).Value)="ВоенныйПенсионер" Тогда
    ОбъектСотрудник.ПризнакПенсионера=Перечисления.г_Пенсионер.ВоенныйПенсионер;
    ИначеЕсли СокрЛП(Лист.Cells(i,5).Value)="ПоИнвалидности" Тогда
    ОбъектСотрудник.ПризнакПенсионера=Перечисления.г_Пенсионер.ПоИнвалидности;
    ИначеЕсли СокрЛП(Лист.Cells(i,5).Value)="РебенокИнвалид" Тогда
    ОбъектСотрудник.ПризнакПенсионера=Перечисления.г_Пенсионер.РебенокИнвалид;
    ИначеЕсли СокрЛП(Лист.Cells(i,5).Value)="МногодетнаяМать" Тогда
    ОбъектСотрудник.ПризнакПенсионера=Перечисления.г_Пенсионер.МногодетнаяМать;
    ИначеЕсли СокрЛП(Лист.Cells(i,5).Value)="УчастникЛАнаЧАЭС" Тогда
    ОбъектСотрудник.ПризнакПенсионера=Перечисления.г_Пенсионер.УчастникЛАнаЧАЭС;
    КонецЕсли;
    КонецЕсли;
    Если Лист.Cells(i,6).Value=1 Тогда
    ОбъектСотрудник.ПриемВСчетБрони=Истина;
    Если СокрЛП(Лист.Cells(i,7).Value)="ОсвобождениеИзМЛС" Тогда
    ОбъектСотрудник.Бронь=Перечисления.г_ПричиныБрони.ОсвобождениеИзМЛС;
    ИначеЕсли СокрЛП(Лист.Cells(i,7).Value)="Военнослужащий" Тогда
    ОбъектСотрудник.Бронь=Перечисления.г_ПричиныБрони.Военнослужащий;
    ИначеЕсли СокрЛП(Лист.Cells(i,7).Value)="МолодойСпециалист" Тогда
    ОбъектСотрудник.Бронь=Перечисления.г_ПричиныБрони.МолодойСпециалист;
    ИначеЕсли СокрЛП(Лист.Cells(i,7).Value)="ВозмещениеРасходов" Тогда
    ОбъектСотрудник.Бронь=Перечисления.г_ПричиныБрони.ВозмещениеРасходов;
    ИначеЕсли СокрЛП(Лист.Cells(i,7).Value)="УстройствоНаРаботуДо21Года" Тогда
    ОбъектСотрудник.Бронь=Перечисления.г_ПричиныБрони.УстройствоНаРаботуДо21Года;
    КонецЕсли;
    КонецЕсли;
    Если Лист.Cells(i,8).Value=1 Тогда
    ОбъектСотрудник.ВПорядкеПеревода=Истина;
    КонецЕсли;
    Если Лист.Cells(i,9).Value=1 Тогда
    ОбъектСотрудник.МОЛ=Истина;
    КонецЕсли;
    Если Лист.Cells(i,10).Value=1 Тогда
    ОбъектСотрудник.ДолжностноеЛицо=Истина;
    КонецЕсли;
    ОбъектСотрудник.Записать();
    КонецЕсли;
    КонецЦикла;
    Создает новую запись, а не дополняет старую....
  3. TopicStarter Overlay
    VIPOS
    Offline

    VIPOS Опытный в 1С

    Регистрация:
    12 сен 2012
    Сообщения:
    565
    Симпатии:
    1
    Баллы:
    29
    В чем загвоздка??
  4. Dmitriy_76
    Offline

    Dmitriy_76 Опытный в 1С Команда форума

    Регистрация:
    26 мар 2011
    Сообщения:
    2.174
    Симпатии:
    13
    Баллы:
    29
    СсылкаНаСотрудника = Справочники.СотрудникиОрганизаций.НайтиПоКоду(ТабНомер);
    замени на :
    СсылкаНаСотрудника = Справочники.СотрудникиОрганизаций.НайтиПоКоду(СокрЛП(ТабНомер));
  5. TopicStarter Overlay
    VIPOS
    Offline

    VIPOS Опытный в 1С

    Регистрация:
    12 сен 2012
    Сообщения:
    565
    Симпатии:
    1
    Баллы:
    29
    спасибо... сча попробую...
  6. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Еще раз вопрос, можно конкретнее - что мещает загружать из Загрузка данных из табличного документа? Просто стандартные реквизиты - вы загрузите и так, А вот ссылки на регистры сведенйи и т.д Вам придется писать.

Поделиться этой страницей