|
v7: Вылетает 1С при повторе процедуры ... | ☑ | ||
---|---|---|---|---|
0
Gavrinev
14.11.11
✎
14:49
|
1с77 Предприятие, в глоб. модуле процедура, вылетает при обращении ровно через раз. с ошибкой
appName:1cv7.exe AppVer:7.70.0.27 ModName:dbeng32.dll ModVer:7.70.0.14 offset:00018721 Просьба подскозать в какую сторону копать... [code] Процедура СформироватьПрайс() Экспорт Перем Спп,Спт,Н; Спп=СоздатьОбъект("Справочник.Прайс"); Спт=СоздатьОбъект("Справочник.Товары"); // очищаяем значения Спп.ПорядокКодов(); Спп.ВыбратьЭлементы(); Пока Спп.ПолучитьЭлемент()=1 Цикл Спп.Удалить(1); КонецЦикла; Н=0; Спт.ПорядокКодов(); Спт.ВыбратьЭлементыПоРеквизиту("СТ","+",0,0); Пока Спт.ПолучитьЭлемент()=1 Цикл Н=Н+1; Состояние(Н); Спп.Новый(); Спп.Код = Спт.Код; Спп.Наименование = Спт.Наименование; Спп.Изготовитель = Спт.Изготовитель; Спп.СрокГодности = Спт.СрокГодности; Спп.Розн_Цена = Спт.Розн_Цена; Спп.Опт_Цена = Спт.Опт_Цена; Спп.ДатаПрих = Спт.ДатаПрих; Спп.Записать(); КонецЦикла; КонецПроцедуры [code] |
|||
1
Ёпрст
14.11.11
✎
14:55
|
а зачем удалять весь справочник ? Заняться нечем ?
|
|||
2
Gavrinev
14.11.11
✎
14:58
|
(1) Обновление позиций по кодам, конфа не типовая - Льгота, а вообще вопрос в другом...
|
|||
3
KishMish
14.11.11
✎
15:02
|
предлагаю вот это
Спп.ПорядокКодов(); Спп.ВыбратьЭлементы(); Пока Спп.ПолучитьЭлемент()=1 Цикл Спп.Удалить(1); КонецЦикла; заменить на формирования списка значений и удаленияОБъектов без проверки на ссылки |
|||
4
Gavrinev
14.11.11
✎
15:02
|
Попробовал, в справочнике прайс - который после полной очистки начинает заполнятся заново, снять галочки - автонумерация, контроль уникальности, все равно не помогает, ошибка таже ...
|
|||
5
Ёпрст
14.11.11
✎
15:03
|
для начала, выкинуть порядок кодов и переписать алгоритм без непосредственного удаления объектов
|
|||
6
Gavrinev
14.11.11
✎
15:06
|
(5) Если написать Спп.Удалить(); // без непосредственного удаления - таже песня ...
|
|||
7
Ёпрст
14.11.11
✎
15:07
|
(6) ёпта, ты бы читал что ли СП на ночь:
Удалить() = Удалить(1) если че. |
|||
8
Sh1ko
14.11.11
✎
15:09
|
Зачем удалять вообще? если можно найти по коду, и обновить всю инфу.
|
|||
9
Gavrinev
14.11.11
✎
15:09
|
(7) у мя изначально так и было... Сначало Удалить(1), потом поставил Удалить(), и все равно ничего ...
|
|||
10
Gavrinev
14.11.11
✎
15:10
|
(9) будет много позиций которые должны исключатся из выборки, они не должны создаватся в спр прайс
|
|||
11
Sh1ko
14.11.11
✎
15:10
|
(9) прочитай (7), вторая строка, 10 раз вслух.
|
|||
12
Gavrinev
14.11.11
✎
15:13
|
(11) У мя сейчас стоит Спп.Удалить(1)
|
|||
13
Tatitutu
14.11.11
✎
15:13
|
Спп.Удалить(0);
или выгрузи сначала в список , а потом из списка удаляй ненарушая выборку |
|||
14
Ёпрст
14.11.11
✎
15:13
|
(12) ёпта, еще раз - выкини непосредственное удаление из кода.
|
|||
15
Gavrinev
14.11.11
✎
15:17
|
ВСЕ. Всем спасибо ...
|
|||
16
KishMish
14.11.11
✎
15:18
|
а вообще я бы делал прайс документом. и не клепал бы каждый раз справочник
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |