7.7 работа с текстом нид ё хелп

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем megatronsam, 17 авг 2015.

  1. TopicStarter Overlay
    megatronsam
    Offline

    megatronsam

    Регистрация:
    17 авг 2015
    Сообщения:
    5
    Симпатии:
    0
    Баллы:
    1
    Здарвствуйте,
    помогите с решением такого вопроса
    есть две база 1с 7.7 из одной выгружаю в текстовый файл данные в виде "ФИО;Cумма"
    в другой базе изменяю документ и создаю закладку №2 в которой таблица значений копирующая данные из таблицы значений закладка №1, так вот, мне необходимо подгрузить к таблице с ФИО данные из текстового файла т.е. в таблице уже есть сотрудники, мне нужно из текстового файла найти сотрудника с совпадающим ФИО и установить в таблицу значений сумму из этой строки с ФИО
    как реализовать это, "изстрокисразделителем" не получается, как она работает??
    помогите кто знает
  2. ТехБухПривет
    Offline

    ТехБухПривет Профессионал в 1С Команда форума

    Регистрация:
    25 июн 2013
    Сообщения:
    504
    Симпатии:
    53
    Баллы:
    54
    Подключаетесь в файлу(проблем с получением текста из файла нет?) далее
    СтрПолучитьСтроку(<Текст>,<НомерСтроки>)
    Назначение:
    Возвращает строку из многострочного текста по заданному номеру.
    Параметры:
    <Текст> - строковое выражение, в котором строки разделены символами перевода строк;
    <НомерСтроки> - номер строки.

    Или проблема в чем-то другом?
  3. TopicStarter Overlay
    megatronsam
    Offline

    megatronsam

    Регистрация:
    17 авг 2015
    Сообщения:
    5
    Симпатии:
    0
    Баллы:
    1
    да нет это то понятно, проблема в другом
    текстовый файл типа
    1 строка иванов;1000
    2 строка петров;1500
    3 строка сидоров;1550

    в другой базе есть документ с таблицей значений, вида
    "ФИО" "Сумма осно" "Сумма доп"
    иванов 500 -
    петров 600 -
    сидоров 650 -

    как мне загрузить эти строки из файла к уже существующей таблице
    чтобы к нужным фамилиям добавились суммы??
    "ФИО" "Сумма осно" "Сумма доп"
    иванов 500 1000
    петров 600 1500
    сидоров 650 1550
  4. ТехБухПривет
    Offline

    ТехБухПривет Профессионал в 1С Команда форума

    Регистрация:
    25 июн 2013
    Сообщения:
    504
    Симпатии:
    53
    Баллы:
    54
    берете циклом получитьстроку из 2ой таблицы - получаете фамилию - находите строку с аналогичным фио в первой таблице - получаете эту строку(при помощи СтрПолучитьСтроку) - удаляете фио + СокрЛП строку = нужная цифра.. её вписываете в нужную таблицу. как-то так я вижу.
  5. TopicStarter Overlay
    megatronsam
    Offline

    megatronsam

    Регистрация:
    17 авг 2015
    Сообщения:
    5
    Симпатии:
    0
    Баллы:
    1
    так в том то и дело что перенос и стыковка данных идет между таблицей значений и текстовым файлом
    строки в текстовом файле я могу перебрать, но как мне оторвать сумму от нужной ФИО и вставить ее к ФИО в тиблице значений, вот в чем проблемы
    может быть саму выгрузку в текстовый файл переписать в другую маску, чтобы было не ФИО;Сумма, а например ФИО=Сумма
    как лучше сделать чтобы меньше с бубном плясать??))
  6. Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    403
    Симпатии:
    71
    Баллы:
    54
    Здравствуйте.
    Какая разница, какой разделитель использовать?
    Я использую в таких случаях простенькую процедуру (по памяти примерно так):
    Код:
    Процедура РазложитьСтрокуВМассивПодстрок(Стр)
    Пока 1=1 Цикл
    Поз = Найти(Стр,";");
    Если Поз=0 Тогда
    Сообщить(стр);
    Возврат;
    КонецЕсли;
    Сообщить(СокрЛП(Лев(Стр,Поз-1)));
    Стр = Сред(Стр,Поз+1);
    КонецЦикла;
    КонецПроцедуры
    
    На первом проходе получаете ФИО, перед возвратом - сумму.
  7. TopicStarter Overlay
    megatronsam
    Offline

    megatronsam

    Регистрация:
    17 авг 2015
    Сообщения:
    5
    Симпатии:
    0
    Баллы:
    1
    Катюшка вы написали конечно, я попробую это использовать как только пойму что здесь за что цепляется)
    вот эта функция
    РазложитьСтрокуВМассивПодстрок в 7.7 сработает?
  8. ТехБухПривет
    Offline

    ТехБухПривет Профессионал в 1С Команда форума

    Регистрация:
    25 июн 2013
    Сообщения:
    504
    Симпатии:
    53
    Баллы:
    54
    Это просто название процедуры..))
    Можно и так, только я бы искал сначало нужное ФИО..., а вот потом получал строку и обрезал лишнее - последовательность ФИО может быть разная..
    главное от Катюфки возьми "обрезание":
    Поз = Найти(Стр,";");
    Стр = Прав(Стр, СтрДлина(Стр)-Поз);
  9. Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    403
    Симпатии:
    71
    Баллы:
    54
    А мне кажется, что рациональнее перебрать строки текстового файла, получать последовательно ФИО и искать их в таблице, если не найдено, то добавлять табличные строки. Автору виднее, что у него первично: таблица или текст.
  10. TopicStarter Overlay
    megatronsam
    Offline

    megatronsam

    Регистрация:
    17 авг 2015
    Сообщения:
    5
    Симпатии:
    0
    Баллы:
    1
    всем спасибо за помощь, достану ка я теперь свой бубен)

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