|
Выскакивает ошибка установите запись на объект | ☑ | ||
---|---|---|---|---|
0
Nemirov
26.05.20
✎
11:36
|
Вот такая ошибка лезит не вкурю в чем проблема. Подскажите в чем проблема.
{Документ.Заказ.МодульОбъекта(1381)}: Ошибка при установке значения атрибута контекста (KOD) XBase.KOD = СтрЗаменить(ВременнаяТЗ[0].КодПоставщика, Символы.НПП, ""); по причине: Перед выполнением операции установите объект на запись Иначе ИмяФайлаЗаказа = "ZakazKub.DBF"; ПолноеИмяФайлаЗаказа = КаталогВременныхФайлов() + ИмяФайлаЗаказа; XBase = Новый XBase; XBase.Кодировка = КодировкаXBase.OEM; XBase.поля.Добавить("NAME","S",150,); XBase.поля.Добавить("KOD","S",15); XBase.поля.Добавить("ED","S",15,); XBase.поля.Добавить("KOL","N",15,3); XBase.СоздатьФайл(ПолноеИмяФайлаЗаказа); ФайлИзПапкиОбменаКодыПоставщиков (); ИмяФайлаКодовПоставщика = "CodIS.DBF"; КаталогФайлаКодовПоставщика= КаталогВременныхФайлов(); ПутьКФайлу = СокрЛП(КаталогФайлаКодовПоставщика +ИмяФайлаКодовПоставщика); XBaseКодыПоставщиков = Новый XBase; // создаем новый объект XBaseКодыПоставщиков.ОткрытьФайл(ПутьКФайлу,,Истина); // открытие файла XBaseКодыПоставщиков.Кодировка = КодировкаXBase.OEM; ТабЗначКодыПоставщика = Новый ТаблицаЗначений; ТабЗначКодыПоставщика.Колонки.Добавить("КодНоменклатуры",Новый ОписаниеТипов("Число")); ТабЗначКодыПоставщика.Колонки.Добавить("Номенклатура",Новый ОписаниеТипов("СправочникСсылка.Номенклатура")); ТабЗначКодыПоставщика.Колонки.Добавить("Контрагент",Новый ОписаниеТипов("Строка")); ТабЗначКодыПоставщика.Колонки.Добавить("КодПоставщика",Новый ОписаниеТипов("Число")); XBaseКодыПоставщиков.Первая(); Пока НЕ XBaseКодыПоставщиков.ВКонце() Цикл КонтрИзDBF = СокрЛП(XBaseКодыПоставщиков.KONTR); Если КонтрИзDBF = Контрагент.Наименование Тогда НовСтрока = ТабЗначКодыПоставщика.Добавить(); НовСтрока.КодНоменклатуры = СокрЛП(XBaseКодыПоставщиков.KODNOM); НовСтрока.Номенклатура = Справочники.Номенклатура.НайтиПоКоду(СокрЛП(XBaseКодыПоставщиков.KODNOM)); НовСтрока.Контрагент = СокрЛП(XBaseКодыПоставщиков.KONTR); НовСтрока.КодПоставщика = СокрЛП(XBaseКодыПоставщиков.KOD); XBaseКодыПоставщиков.Следующая(); Иначе XBaseКодыПоставщиков.Следующая(); КонецЕсли; КонецЦикла; XBaseКодыПоставщиков.ЗакрытьФайл(); УдалитьФайлы(ПутьКФайлу); XBase.ОткрытьФайл(ПолноеИмяФайлаЗаказа); Для Каждого Строка Из Состав Цикл Если Строка.Количество = 0 Тогда Продолжить; КонецЕсли; Если ТабЗначКодыПоставщика.Количество() > 0 Тогда Построитель = Новый ПостроительЗапроса; Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабЗначКодыПоставщика); СтрокаОтбора = Построитель.Отбор.Добавить("Номенклатура"); СтрокаОтбора.ВидСравнения = ВидСравнения.Равно; СтрокаОтбора.Значение = Строка.Номенклатура; СтрокаОтбора.Использование = Истина; Построитель.Выполнить(); ВременнаяТЗ = Построитель.Результат.Выгрузить(); Если ВременнаяТЗ.Количество() > 0 Тогда XBase.NAME = СокрЛП(Строка.Номенклатура.Наименование); //Строка из табличной части состав документа заказ XBase.ED = СокрЛП(Строка.ЕдиницаИзмерения.Наименование); XBase.KOL = Строка.Количество; XBase.KOD = СтрЗаменить(ВременнаяТЗ[0].КодПоставщика, Символы.НПП, ""); XBase.Записать(); КонецЕсли; КонецЕсли; КонецЦикла; XBase.ЗакрытьФайл(); КонецЕсли; |
|||
1
Ёпрст
26.05.20
✎
11:38
|
(0) Ну дык строку то создай новую, перед тем, как значения полей пихать
|
|||
2
Ёпрст
26.05.20
✎
11:39
|
в пустой файл
|
|||
3
Ёпрст
26.05.20
✎
11:42
|
И.. открывать его не надо, раз ты его тока создал
|
|||
4
Ёпрст
26.05.20
✎
11:42
|
Короче, XBase.Добавить() воткни и XBase.ОткрытьФайл(ПолноеИмяФайлаЗаказа); выкинь
|
|||
5
Nemirov
26.05.20
✎
11:49
|
(4) Тю Еп..
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |