Рекламное место пустует
|
Вход | Регистрация |
1С:Предприятие :: Метки: |
| |||
mihalna 16.05.05 - 13:15 | Есть Док, в котором таб\часть надо заполнить записями внешнего .dbf-файла.
Вот кусок кода, **** отмечены неверные строки. Что я делаю не так? ПЛИЗ, кто хочет помочь? ------------------------------------------------ //Модуль формы документа ВводСделки //-------------------------------------------------- Процедура ВыборФайлаНажатие(Элемент) Режим = РежимДиалогаВыбораФайла.Открытие; ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим); ДиалогОткрытияФайла.ПолноеИмяФайла = ""; Фильтр = "Текст(*.dbf)|*.dbf"; ДиалогОткрытияФайла.Фильтр = Фильтр; ДиалогОткрытияФайла.Заголовок = "Выберите файл"; Если ДиалогОткрытияФайла.Выбрать() Тогда ********ЗагрИз = Новый Файл(ДиалогОткрытияФайла.ВыбранныйФайл); Сообщить(ЗагрИз); КонецЕсли; КонецПроцедуры Процедура ЗагрузитьНажатие(Элемент) Xb = Новый Xbase; Xb.ОткрытьФайл(ЗагрИз); Если Xb.Открыта() Тогда Сообщить("База успешно открыта"); иначе Сообщить("Не смогли открыть базу"); return; КонецЕсли; Вс=Xb.КоличествоЗаписей(); Если Вс = 0 Тогда Сообщить("Файл пуст!"); КонецЕсли; Xb.Первая(); ********** Док = Документы.ВводСделки.СоздатьДокумент(); Пока Не Xb.ВКонце() Цикл ********* НоваяСтрока = Док.Добавить(); НоваяСтрока.ТабНом=Xb.TBN; НоваяСтрока.ВидРасчета=Xb.KDVD; НоваяСтрока.Результат=Xb.Summ; Признак=0; Если Число(Xb.DYS) <> 0 Тогда НоваяСтрока.ОтработаноДней = Xb.DYS; Иначе НоваяСтрока.ОтработаноДней = Xb.HRS; КонецЕсли; Xb.Следующая(); КонецЦикла; КонецПроцедуры Рекламное место пустует | ||
miki 1 - 16.05.05 - 13:22 | В чем трабла-то? Док не записывается? | ||
mihalna 2 - 16.05.05 - 13:24 | Отрабатывает втихую и записывается БЕЗ табл\части.
Строки в таб\части не появляются.. :(( | ||
mihalna 3 - 16.05.05 - 13:27 | (2)+ и исчо перем ЗагрИз НЕ присваивает ВыбранныйФайл (чё-то видно нет такого метода). | ||
Rovan 4 - 16.05.05 - 13:28 | (0) Тема не отражает суть сабжа ! | ||
2q 5 - 16.05.05 - 13:46 | НоваяСтрока = Док.Добавить();
это что?
Где ссылка на табл часть?
например
ТовСостав = Док.Товары
НовСтрТовСостав = ТовСостав.Добавить();
НовСтрТовСостав.количество = 10;
где Док.Записать();? | ||
2q 6 - 16.05.05 - 13:53 | ДБФш = Новый xBase; ИмяФ = "D:\1c8\Trade\OPT\D_SH_1i0.DBF"; ДБФш.ОткрытьФайл(ИмяФ,,Истина); ДБФш.Кодировка = КодировкаXBASE.OEM; Если НЕ ДБФш.Открыта() Тогда Сообщить("Ошибка открытия '" + ИмяФ + "'"); Возврат 0; КонецЕсли; ДБФш.Первая(); Пока НЕ ДБФш.ВКонце() Цикл //обработка строки файла ДБФш.Следующая(); КонецЦикла; | ||
mihalna 7 - 16.05.05 - 14:17 | |||
mihalna 8 - 16.05.05 - 14:39 | (5)РаботАет!!!
Но создает 2 дока: тот в которм я нахожусь и новый (с таб\частью), т.к.стоит же явно: Док = Документы.ВводСделки.СоздатьДокумент(); А как бы мне в текущем доке загрузить таб\часть? что-то вроде этого (как в 7-ке): Док = Документы.ТекущийДокумент(); (а не создавать новый) есть что-то наподобие? заранее - спасибо | ||
2q 9 - 16.05.05 - 14:57 | Да вроде достаточно ТекДокОбъект = ТекДокСсылка.ПолучитьОбъект(); Где ТекДокСсылка - ссылка на документ, в котором ты находишься | ||
2q 10 - 16.05.05 - 15:04 | не создает новый документ?
так работает: ДокВозПок = Документы.ВозвратТоваровОтПокупателя;
НовДокВозПок = ДокВозПок.СоздатьДокумент();
// заполняем реквизиты шапки, табличные части
НовДокВозПок.Записать(); Рекламное место пустует | ||
mihalna 11 - 16.05.05 - 16:04 | (10)извини, достала наверное тебя.. :((
Мне НЕ надо НОВЫЙ док, мне надо в текущем доке заполнить таб\часть. . Если ДокСсылка - то ошибка при конф-ии: переменная ДокСсылка не определена, а если Док.Ссылка - то ошибка при выполнении: поле объекта Ссылка не обнаружено . как же ещё присвоить переменной - текущий док? | ||
zaba 12 - 16.05.05 - 17:13 | Свойство <Ссылка> Т.е. в модуле формы/объекта:
ТекДок = Ссылка; | ||
француз 13 - 16.05.05 - 21:24 | Док = Документы.ВозвратТоваровОтПокупателя.Выбрать(); Пока Док.Следующий() Цикл ТекДок = Док.ПолучитьОбъект(); Сообщить(ТекДок); КонецЦикла | ||
mihalna 14 - 17.05.05 - 09:20 | (12)Видимо теперь я и впрямь в тек.доке - спасибо.
Теперь при попытке ввести новую строку в таб\часть - ошибка "объект недоступен для изменения".. :(( пожалуйста, кому я не очень надоела - подскажте, почему и что поправить? | ||
mihalna 15 - 17.05.05 - 09:42 | Если кому интересно - помогло:
Док = ЭтотОбъект;(а Ссылка - ссылается видимо только для чтения) ЗЫ:Всем спасибо за терпение, и всем удачи и успехов! | ||
vasinok 16 - 17.05.05 - 09:52 | (14,15)Все правильно, объект "ДокументСсылка", а в выражении "ТекДок = Ссылка" вы получаете именно его, позволяет обращаться к документу в режиме "только чтение", для получения записи необходимо получить объект "ДокументОбъект" с помощью метода "ПолучитьОбъект":
ТекДокОбъект = ТекДок.ПолучитьОбъект(); см. (13) или обратиться к свойству ЭтотОбъект, как это сделали вы. | ||
mihalna 17 - 17.05.05 - 10:16 |
Список тем форума
|
Правила
| Описание
| Реклама на сайте
| Поиск
| |