8.х читаю из *.dbf а там что то с кодировкой

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем TODD22, 5 апр 2010.

  1. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.759
    Симпатии:
    147
    Баллы:
    104
    и в цикле и перед циклом он содержит строку вида "43 555 666".... но вот в сообщить выводится пила... при этом кроме нулей больше ничего не выводит... то есть других значений нет...
  2. Draco
    Online

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.646
    Симпатии:
    948
    Баллы:
    204
    Выложите плиз кусок кода еще раз.... в каком виде он у вас сейчас
  3. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.759
    Симпатии:
    147
    Баллы:
    104
    Код:
    НомерДляЗаписи = Число(НомерПФР);
    НомерДляЗаписи = Формат(НомерДляЗаписи, "ЧВН=; ЧГ=0");
    Пока СтрДлина(НомерДляЗаписи)< 9 Цикл
    НомерДляЗаписи = "0"+НомерДляЗаписи;
    КонецЦикла;
    ЦифрыПроверки = Число(ПроверкаПФР);
    ЦифрыПроверки = Формат(ЦифрыПроверки,"ЧВН=;ЧГ=0");
    Если СтрДлина(ЦифрыПроверки)<2 И ЦифрыПроверки <> "" Тогда
    ЦифрыПроверки = "0"+ЦифрыПроверки;
    КонецЕсли;
    НомерДляЗаписи = НомерДляЗаписи + Строка(ЦифрыПроверки);
    
    
    
    вот таким кодом получаю число из 11 знаков, но вот как теперь его записать... то есть запись идёт, но вот когда открываешь там пусто... мне кажется надо форматировать до записи что бы был вид "ххх-ххх-ххх хх" но вот как такой формат сделать пока не понял...
    и ещё у меня когда обработка выполняется(записывает сотрудников) то она так противно моргает так и будет? и как можно сделать индикатор выполнения? а то что то в СП не нашёл пример, только описание...
  4. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.759
    Симпатии:
    147
    Баллы:
    104
    Код:
    НомерДляЗаписи = Формат(НомерДляЗаписи,"ЧРГ=' '; ЧВН=; ЧГ=3,3")+" " + Строка(ЦифрыПроверки);
    
    добавил эту строку, стало записыватся, только почему то они красные, хотя количество цифр записанных 11....
  5. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.759
    Симпатии:
    147
    Баллы:
    104
    сравнил с цифрами в Базе, совпадают, но почему то красные, либо в базе цифры не правильные либо с записью что то, ну и если проверочный цифры 00, то он их обрезает...
  6. Draco
    Online

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.646
    Симпатии:
    948
    Баллы:
    204
    Гляньте в типовой насколько я помню там длина поля ПФР 14 символов туда еще входят 2 черточки - и пробел т.е 987-987-987 09 и там маска на поле ввода настроена.
  7. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.759
    Симпатии:
    147
    Баллы:
    104
    ну так маска то настроена, но если я просто записываю число из 11 знаков, то оно не записывается.... а если я записываю после того как добавил строку про которую писал, оно записывается только оно красное хотя сравнил с базой числа совпадают...
  8. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.759
    Симпатии:
    147
    Баллы:
    104
    Код:
    Если НомерПФР <> 0 И НомерПФР <> "" И ПроверкаПФР <>"" Тогда
    НомерДляЗаписи = Число(НомерПФР);
    НомерДляЗаписи = Формат(НомерДляЗаписи, "ЧВН=; ЧГ=0");
    Пока СтрДлина(НомерДляЗаписи)< 9 Цикл
    НомерДляЗаписи = "0"+НомерДляЗаписи;
    КонецЦикла;
    ЦифрыПроверки = Число(ПроверкаПФР);
    ЦифрыПроверки = Формат(ЦифрыПроверки,"ЧВН=;ЧГ=0");
    Если СтрДлина(ЦифрыПроверки)<2 И ЦифрыПроверки <> "" Тогда
    ЦифрыПроверки = "0"+ЦифрыПроверки;
    КонецЕсли;
    НомерДляЗаписи = НомерДляЗаписи + Строка(ЦифрыПроверки);
    Иначе
    НомерДляЗаписи = "";
    КонецЕсли;
    
    
    вроде получилось... код такой(может кому интересно)... осталось тольк решить проблему с двумя нулями, если проверочные цифры нули, то он их обрезает....
  9. Draco
    Online

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.646
    Симпатии:
    948
    Баллы:
    204
    Попробуйте в разделитель групп поставить черточку а не пробел

    Код:
    НомерДляЗаписи = Формат(НомерДляЗаписи,"ЧРГ='-'; ЧВН=; ЧГ=3,3")+" " + Строка(ЦифрыПроверки);
    
  10. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.759
    Симпатии:
    147
    Баллы:
    104
    записывает, только цифры красные хотя и правильно записанные...
    ну и так же обрезает контрольные цифры если нули...
  11. Draco
    Online

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.646
    Симпатии:
    948
    Баллы:
    204
    Ну это уже я думаю надо на живой базе смотреть, так уже трудно ...
  12. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.759
    Симпатии:
    147
    Баллы:
    104
    да ладно сделаю отчёт который покажет у кого из сотрудников ПФР неправильный и всё, пусть руками правят, там всего то человек 10-20 из 700 и так кадровикам хорошо помог, а то сидели бы вручную переносили физ лиц...
    всем кто откликнулся большое спасибо за помощь!
  13. Draco
    Online

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.646
    Симпатии:
    948
    Баллы:
    204
    Не за что. Удачи.

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