Загрузка инфо из ДБФ-файла в док

1. Andzhej 29.10.07 23:30 Сейчас в теме
Есть ДБФ-файл (остатки товаров из бухучета). Нужно его в Торговле загрузить в док ВводОстаткоТоваров.
**************************
В доке есть кнопка которая открывает обработку:
//******************
Процедура ЗагрузитьОстатки()
Конт = глВзятьКонтекст(Контекст);
Если КоличествоСтрок()> 0 Тогда
УдалитьСтроки();
КонецЕсли;
ОткрытьФормуМодально("Отчет.ЗагрузкаОстатковТоваров",Конт);
Если ТипЗначенияСтр(Конт) <> "ТаблицаЗначений" Тогда
СтатусВозврата(0);
Возврат;
КонецЕсли;
Конт.ВыбратьСтроки();
Пока Конт.ПолучитьСтроку() = 1 Цикл
НоваяСтрока();
Товар = Конт.Товар;
Количество = Конт.Количество;
ЦенаБезНДС = Конт.ЦенаБезНДС;
СуммаБезНДС = Конт.СуммаБезНДС;
КонецЦикла;

КонецПроцедуры
******************************
код обработки:
фДБФ = СоздатьОбъект("XBase");
Попытка
фДБФ.ОткрытьФайл(Шлях, ,1);
Исключение
Возврат;
КонецПопытки;
ТЗ = СоздатьОбъект("ТаблицаЗначений");
ТЗ.НоваяКолонка("Товар");
ТЗ.НоваяКолонка("Количество");
ТЗ.НоваяКолонка("СуммаБезНДС");
ТЗ.НоваяКолонка("ЦенаБезНДС");

ФДБФ.КодоваяСтраница(0);
фДБФ.Первая();
Пока фДБФ.вКонце() = 0 Цикл
(*) Если (СокрЛП(фДБФ.MZ) = СокрЛП(Конт.Склад.Наименование)) Тогда
СпрТов = СоздатьОбъект("Справочник.Номенклатура");
Если (СпрТов.НайтиПоКоду(Число(фДБФ.KodTov),0)=1) и (фДБФ.KTov <> 0) Тогда
ТЗ.НоваяСтрока();
ТЗ.Товар = СпрТов.ТекущийЭлемент();
ТЗ.Количество = фДБФ.KTov;
ТЗ.ЦенаБезНДС = фДБФ.STov/фДБФ.KTov;
ТЗ.СуммаБезНДС = фДБФ.STov;
//
//
КонецЕсли;
фДБФ.Предыдущая(); //фДБФ.Следующая();
Иначе
фДБФ.Предыдущая(); //фДБФ.Следующая();
КонецЕсли;
КонецЦикла;
фДБФ.ЗакрытьФайл();
*******************************
почему на строку:

Если (СокрЛП(фДБФ.MZ) = СокрЛП(Конт.Склад.Наименование)) Тогда

выдет ошибку:

Если (СокрЛП(фДБФ.MZ) = СокрЛП(Конт.Склад.Наименование)) Тогда
{Отчет.ЗагрузкаОстатковТоваров.Форма.Модуль(23)}: Перед выполнением операции установите объект на запись!
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Pavlovsky 56 30.10.07 08:32 Сейчас в теме
фДБФ.Предыдущая(); //фДБФ.Следующая();
Это что? Это зачем? Почему не так?
фДБФ.Следующая();
3. Andzhej 30.10.07 19:02 Сейчас в теме
Спасибо. На mista.ru уже ответили (та же тема). Тему закрыть.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот