8.х ТабличныйДокумент->ТаблицаЗначений

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем slaay, 29 июл 2009.

  1. TopicStarter Overlay
    slaay
    Offline

    slaay Опытный в 1С

    Регистрация:
    27 мар 2009
    Сообщения:
    162
    Симпатии:
    0
    Баллы:
    26
    Пишу обработку добавления записей из DBF файла в справочник ФизЛица
    Каждую неделю приходит обновленный dbf файл. Кто перевелся из другого подразделения в другое, то есть надо поменять каталог Физ лица, кто уволился и тд...возможно ли менять подразделения физ лиц?

    и ещё когда я подгружаю файл dbf он у меня загружается в Поле табличного документа. Как мне его в таблицу значений кинуть? или сразу подгрузить в таблицу значений?
  2. LxS
    Offline

    LxS Разработчик

    Регистрация:
    5 апр 2007
    Сообщения:
    680
    Симпатии:
    0
    Баллы:
    26
    Самописка - конфа?

    Каталог физЛица - это ФизЛицо.Родитель.

    По коду получаете ссылку, а затем объект, и делаете ФизЛицоОбъект.Родитель = <Новый родитель>.

    что значит подразделение в вашем понимании на уровне конфигурации? справочник Подразделения или группа в справочнике Физические лица?

    Зачем тз???
  3. TopicStarter Overlay
    slaay
    Offline

    slaay Опытный в 1С

    Регистрация:
    27 мар 2009
    Сообщения:
    162
    Симпатии:
    0
    Баллы:
    26
    про каталоги спасибо все понятно...там группа в справочнике физ лица...

    загружается в ТД и дальше с ним ничего не могу сделать...

    для каждого Строка из ТабличныйДокумент цикл
    ТабНомер = Строка.TAN;
    СпрФЛ = Справочники.ФизическиеЛица.НайтиПоКоду(ТабНомер,Истина);
    Если СпрФЛ.Пустая() тогда
    СпрОбъект = Справочники.ФизическиеЛица.СоздатьЭлемент();
    иначе
    СпрОбъект = СпрФЛ.ПолучитьОбъект();
    конецесли;

    конеццикла;

    не получается же: для каждого Строка из ТабличныйДокумент цикл
  4. LxS
    Offline

    LxS Разработчик

    Регистрация:
    5 апр 2007
    Сообщения:
    680
    Симпатии:
    0
    Баллы:
    26
    А загружаются данные неужто прямо в табличное поле? в обработке нет табличной части?

    Вообще, если по-человечески делать, то:
    1. в обработке загрузки надо создать табличную часть с реквизитами.
    2. при загрузке данных из внешнего файлы ее заполнить
    3. потом спокойно обработать.

    Можно поступить и иначе, сразу обрабатывать данные без всяких тч.
  5. TopicStarter Overlay
    slaay
    Offline

    slaay Опытный в 1С

    Регистрация:
    27 мар 2009
    Сообщения:
    162
    Симпатии:
    0
    Баллы:
    26
    мПрочитатьТабличныйДокументИзDBF(ЭлементыФормы.ТабличныйДокумент,ДиалогВыбораФайла.ПолноеИмяФайла);


    Функция мПрочитатьТабличныйДокументИзDBF(ТабличныйДокумент, ИмяФайла) Экспорт


    ВыбФайл = Новый Файл(ИмяФайла);
    Если НЕ ВыбФайл.Существует() Тогда
    Сообщить("Файл не существует!");
    Возврат Ложь;
    КонецЕсли;


    XBase = Новый XBase;
    XBase.Кодировка = КодировкаXBase.OEM;
    Попытка
    XBase.ОткрытьФайл(ИмяФайла);
    Исключение
    Сообщить("Ошибка открытия файла!");
    Возврат Ложь;
    КонецПопытки;

    ТабличныйДокумент.Очистить();
    ТекущаяСтрока = 1;


    ТекущаяКолонка = 0;
    Для каждого Поле Из XBase.поля Цикл
    ТекущаяКолонка = ТекущаяКолонка + 1;
    ТабличныйДокумент.Область("R" + Формат(ТекущаяСтрока, "ЧГ=") +"C" + Формат(ТекущаяКолонка, "ЧГ=")).Текст = Поле.Имя;
    КонецЦикла;


    Рез = XBase.Первая();
    Пока Не XBase.ВКонце() Цикл
    ТекущаяСтрока = ТекущаяСтрока + 1;

    ТекущаяКолонка = 0;
    Для каждого Поле Из XBase.поля Цикл
    ТекущаяКолонка = ТекущаяКолонка + 1;
    ТабличныйДокумент.Область("R" + Формат(ТекущаяСтрока, "ЧГ=") +"C" + Формат(ТекущаяКолонка, "ЧГ=")).Текст = XBase.ПолучитьЗначениеПоля(ТекущаяКолонка - 1);
    КонецЦикла;

    XBase.Следующая();
    КонецЦикла;
    Возврат Истина;

    КонецФункции // ()
  6. LxS
    Offline

    LxS Разработчик

    Регистрация:
    5 апр 2007
    Сообщения:
    680
    Симпатии:
    0
    Баллы:
    26
    Вопрос. А зачем в табдок-то? что за изврат?

    Во всяком случае писать решения для такого варианта извращения, трата времени..

    И вперед.

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