Всем доброго вечера! Стоит задача перенести стажи из зик 7.7 в збу 8.2. Стажи из 7ки выгружаю в файл дбф. Проблема заключается в выгрузке стажей за выслугу лет, т.к. они указываются при вводе документа "ввод начисления сотрудника" за надбавку за выслугу лет. Часть кода:
Пока ВыборкаИзСпр.ПолучитьЭлемент()=1 Цикл Если(ВыборкаИзСпр.ЭтоГруппа()<>1)и(ВыборкаИзСпр.ПометкаУдаления()<>1) тогда ФайлВыгрузки1.Добавить(); ФайлВыгрузки1.FIO=ВыборкаИзСпр.Наименование; ФайлВыгрузки1.OST=ВыборкаИзСпр.СтажОбщий; ФайлВыгрузки1.NS=ВыборкаИзСпр.СтажНепрерывный; ФайлВыгрузки1.BS=ВыборкаИзСпр.СтажСтраховой; ФайлВыгрузки1.Записать();
ВыборкаД.ВыбратьДокументы(); Пока ВыборкаД.ПолучитьДокумент()=1 Цикл Если (СокрЛП(ВыборкаД.Сотрудник.Наименование)=СокрЛП(ВыборкаИзСпр.Наименование)) Тогда Если (ВыборкаД.Расчет=ВидРасчета.НадбавкаЗаВыслугуЛет) Тогда ФайлВыгрузки1.DNL=ВыборкаД.ДатаДок; ФайлВыгрузки1.SNL=ВыборкаД.Стаж; ФайлВыгрузки1.Записать(); КонецЕсли; КонецЕсли; КонецЦикла; КонецЕсли; КонецЦикла;
В данном коде в выборке документов не отрабатывает условие для выбора вида расчета:
Если (ВыборкаД.Расчет=ВидРасчета.НадбавкаЗаВыслугуЛет) Тогда
В отладчике смотрела, даже при визуально одинаковых ВыборкаД.Расчет и ВидРасчета.НадбавкаЗаВыслугуЛет внутрь условия не заходит. Подскажите, пожалуйста в чем может быть проблема? заранее, спасибо
Почти ветеран
Группа: Местный
Сообщений: 623
Из: Донецкая обл
Спасибо сказали: 171 раз
Рейтинг: 144.5
Я так понимаю разговор о ЗиК? хотя уже сомневаюсь.. Во первых некорректно сравнивать сотрудника по Наименованию. Нужно сравнивать текущее значение спр.сотрудники с текущим значением реквизита Сотрудник документа. Какая ошибка? лог покажите..Если спотыкается на этой строке, проверьте тип значения реквизита ВыборкаД.Расчет, может это справочник, а не ВидРасчета?
Я так понимаю разговор о ЗиК? хотя уже сомневаюсь.. Во первых некорректно сравнивать сотрудника по Наименованию. Нужно сравнивать текущее значение спр.сотрудники с текущим значением реквизита Сотрудник документа. Какая ошибка? лог покажите..Если спотыкается на этой строке, проверьте тип значения реквизита ВыборкаД.Расчет, может это справочник, а не ВидРасчета?
То, что конфигурация-зик, я указала в самом начале;) Ошибки нет. Проблема в том,что данные по стажу выслуги лет не попадают в файл выгрузки дбф. Не заходит почему то внутрь условия. А почему я вообще не могу понять? собственно в этом и вопрос. У реквизита дока "Расчет" стоит тип Неопределенный, в комментарии написано - "Вид расчета или перечисление типы пособий". Но при выполнении обработки, если смотреть отладчиком, то реквизит ВыборкаД.Расчет принимает тип ВидРачета, и даже значения всех атрибутов совпадают с видом расчета НадбавкаЗаВыслугуЛет.
даже при визуально одинаковых ВыборкаД.Расчет и ВидРасчета.НадбавкаЗаВыслугуЛет внутрь
Визуально одинаковые не всегда одинаковые. Визуально одинаковые - это одинаковое преобразование в строку. Нужно обращать внимание на тип значения - ТипЗначенияСтр ТипЗначенияСтр - Справочник, то нужно смотреть на метод Вид(). где-то так
Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник. ЗиУП
Визуально одинаковые не всегда одинаковые. Визуально одинаковые - это одинаковое преобразование в строку. Нужно обращать внимание на тип значения - ТипЗначенияСтр ТипЗначенияСтр - Справочник, то нужно смотреть на метод Вид(). где-то так
Проверила. Функция ТипЗначенияСтр(ВыборкаД.Расчет) возвращает значение "ВидРасчета". Вообще не понимаю, почему он не приравнивает их...
Почти ветеран
Группа: Местный
Сообщений: 623
Из: Донецкая обл
Спасибо сказали: 171 раз
Рейтинг: 144.5
конфигурация всеравно доработана
Цитата
У реквизита дока "Расчет" стоит тип Неопределенный, в комментарии написано - "Вид расчета или перечисление типы пособий"
попробуйте сначала сравнить на тип значения, потом уже на конкретный вид расчета. Странно, вообще пособие, любое, в зик - это уже ВидРасчета, глобальный объект, ну а тип пособия, это уже признак, свойство, зачем такие мудреные изменения было в доке делать. ВидРасчета и Перечисление в 1С совершенно разные объекты, служат совсем для разных целей.
Да и еще, сотрудник в документе реквизит шапки?
Сообщение отредактировал igmig65 - 08.11.12, 17:49
попробуйте сначала сравнить на тип значения, потом уже на конкретный вид расчета. Странно, вообще пособие, любое, в зик - это уже ВидРасчета, глобальный объект, ну а тип пособия, это уже признак, свойство, зачем такие мудреные изменения было в доке делать. ВидРасчета и Перечисление в 1С совершенно разные объекты, служат совсем для разных целей.
Да и еще, сотрудник в документе реквизит шапки?
Насчет изменений в доке- не в курсе,т.к. если делались,то до меня. Сотрудник является реквизитом шапки
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!