Выгрузка из 1С в DBF - проблемы!
3885
11
craxx
рыжий котэ
Такая проблема.
Есть процедура выгрузки из 1С в DBF.
Данная процедура загружает DBF-ку в таблицу значений, модифицирует данные и записывает обратно в DBF.
Процедура отрабатывает, я открываю DBF в Excel'е - DBF-ка не изменилась, то есть осталась такой же, как была до запуска процедуры.
Изменения становятся видны только после перезагрузки.
Кто с этим сталкивался, подскажите, в чем грабли! Во вмешательство потусторонних сил я не верю!
Есть процедура выгрузки из 1С в DBF.
Данная процедура загружает DBF-ку в таблицу значений, модифицирует данные и записывает обратно в DBF.
Процедура отрабатывает, я открываю DBF в Excel'е - DBF-ка не изменилась, то есть осталась такой же, как была до запуска процедуры.
Изменения становятся видны только после перезагрузки.
Кто с этим сталкивался, подскажите, в чем грабли! Во вмешательство потусторонних сил я не верю!
Может она просто кэшируется? попробуй открыть после изменения дбфину с другой машины.
ДБФ-ка сохраняется на сервере и с любой машины видна такая фигня. А если кэшируется, то как отключить кэширование?
Зайти в девайс менеджер, выбрать винт, его свойства, там галка - включить кэширование записи. Убрать нафигЕсли не поможет, говори еще подумаемс..
подумал, врядли из за этого.. а с другими файлами так получается?
Сейчас читают
Баня и туса в субботу 23 янв в 14 -00 у Беркута в Пашино
81956
435
Длинные ноги
31282
173
Экстрим
11426
101
Попробовал на своей тачке (Вин2000 проф)... эффект тот же(
Причем, если создается новый файл, то все нормально... очень странно...
Причем, если создается новый файл, то все нормально... очень странно...
Господа монстры 1С!
Немного не в тему, но тоже про 1С
В базе 1С есть некоторые количество расходных накладных
(Документ.РасходнаяНакладная). Необходимо
для них сформировать документ счет-фактура. Ну понятно что можно
ручками вводить счет-фактуры, указывая в качестве документа основания
счет-фактуру. А как сделать программно?
Пытаюсь делать так:
СФ=СоздатьОбъект("Документ.СчетФактура");
СФ.Новый();
СФ.ДокументОснование=Расход.ТекущийДокумент();
СФ.НомерДок=Расход.НомерДок;
СФ.ДатаДок=Расход.ДатаДок;
СФ.Записать();
И получаю пустые счет-фактуры с установленными верно полями номер и
дата.
В инете поискал толком ничего не нашел, подскажите как правильно.
Немного не в тему, но тоже про 1С
В базе 1С есть некоторые количество расходных накладных
(Документ.РасходнаяНакладная). Необходимо
для них сформировать документ счет-фактура. Ну понятно что можно
ручками вводить счет-фактуры, указывая в качестве документа основания
счет-фактуру. А как сделать программно?
Пытаюсь делать так:
СФ=СоздатьОбъект("Документ.СчетФактура");
СФ.Новый();
СФ.ДокументОснование=Расход.ТекущийДокумент();
СФ.НомерДок=Расход.НомерДок;
СФ.ДатаДок=Расход.ДатаДок;
СФ.Записать();
И получаю пустые счет-фактуры с установленными верно полями номер и
дата.
В инете поискал толком ничего не нашел, подскажите как правильно.
Извини что по мылу не ответил, с почтовым серваком на работе проблема, почта не хотит отправляться.
Так вот: то что ты задал в документе документ-основание, не означает что ты его заполнил. Заполнять тебе предстоит вручную, то есть программно. Просто в форме при выборе документа-основания запускается процедура ЗаполнитьИзДокумента (или похожее название) которая и заполняет реквизиты шапки и табличную часть.
Так вот: то что ты задал в документе документ-основание, не означает что ты его заполнил. Заполнять тебе предстоит вручную, то есть программно. Просто в форме при выборе документа-основания запускается процедура ЗаполнитьИзДокумента (или похожее название) которая и заполняет реквизиты шапки и табличную часть.
када ты вводишь ручками, там запускается предопределенная процедура ВводНаОсновании, которая все и подставляет.
Чтоб не парится с ручным подставлением реквизитов, делай через ОткрытьФорму(), в параметрах укажи расходник основание.
тока не забудь потом форму закрыть (прописывается в модуле СФ )
выглядит примерно так:
РН = СоздатьОбъект("Документ.РасходнаяНакладная");
РН.ВыбратьДокументы();
Пока РН.ПолучитьДокумент()=1 Цикл
ОткрытьФорму("Документ.СчетФактура",Парам,РН.ТекущийДокумент());
КонецЦикла;
Чтоб не парится с ручным подставлением реквизитов, делай через ОткрытьФорму(), в параметрах укажи расходник основание.
тока не забудь потом форму закрыть (прописывается в модуле СФ )
выглядит примерно так:
РН = СоздатьОбъект("Документ.РасходнаяНакладная");
РН.ВыбратьДокументы();
Пока РН.ПолучитьДокумент()=1 Цикл
ОткрытьФорму("Документ.СчетФактура",Парам,РН.ТекущийДокумент());
КонецЦикла;