|
v7: если база "З/К" DBF, то спр.Удалить(0) работает, если SQL то "не выбран элемент" | ☑ | ||
---|---|---|---|---|
0
IgorTrifonov
19.09.14
✎
20:35
|
1Cv77 зарплата кадры
задача: надо поменять коды справочника подразделения справочник этот не имеет владельца обработку сделал, отладил, был формат DBF (локально развернул) стал использовать на реальной (формат MS SQL 2000) на методе спр.Удалить(0) (мне надо не удалить, а всего лишь сделать пометку) выходит сообщение "не выбран элемент" подскажите плиииз. что за фигня? |
|||
1
ДенисЧ
19.09.14
✎
20:37
|
е верю (с)
код показывай |
|||
2
Chai Nic
19.09.14
✎
20:38
|
Такого рода вопросы требуют приложения фрагмента кода
|
|||
3
mehfk
19.09.14
✎
20:39
|
Это один из стандартных ответов семерки плохим кодерам на их код.
|
|||
4
IgorTrifonov
19.09.14
✎
20:42
|
я сейчас дома, на работе полутюремный режим
код в общем такой: создать объект использовать родителя (то есть конкретная группа) использовать на дату ('01/01/2014') Если спр.НайтиПоКоду( КодСтарый ) = 1 Тогда спр.Удалить(0) ну и так далее |
|||
5
IgorTrifonov
19.09.14
✎
20:51
|
да, наверное вы правы
код (текст программки не верный) там я меняю код справочник, а потом удаляю на работе попробую с начала поставлю отметку об удалении, а зетем поменяю код справочника |
|||
6
IgorTrifonov
19.09.14
✎
20:52
|
но на DBF-ке всё работает
|
|||
7
Chai Nic
19.09.14
✎
20:56
|
Давай полный код без фантазий
|
|||
8
Vladal
19.09.14
✎
21:00
|
Зачем Удалить(0)? Чтобы потом мучительно больно восстанавливать случайно зацепленные элементы?
|
|||
9
IgorTrifonov
19.09.14
✎
21:02
|
Если спр.НайтиПоКоду( КодСтарый ) = 1 Тогда
спр.Код = КодНовый; Попытка спр.Записать; спр.Удалить(0); Исключение Сообщить( сообщениеОшибки() ) КонецИсключения КлнецЕсли; в отладчике метод спр.Записать проходит без ошибок а вот на спр.Удалить выходит "не выбран элемент" |
|||
10
IgorTrifonov
19.09.14
✎
21:04
|
запись не должна быть удалена совсем, а только отмечена на удаление
|
|||
11
Оболтус
19.09.14
✎
21:05
|
Может быть находится не по коду, а в результате итогов? А в итогах группа...
|
|||
12
IgorTrifonov
19.09.14
✎
21:07
|
в понедельник переделаю
я думаю надо после замены на новый код надо опять выполнить спр.НайтиПоКоду() |
|||
13
IgorTrifonov
19.09.14
✎
21:08
|
Всем большое спасибо. Только вот странно, если формат базы DBF, то всё и так работало и причём правильно
|
|||
14
Chai Nic
19.09.14
✎
21:16
|
(12) Тогда уж лучше так:
... Ссылка=спр.ТекущийЭлемент(); спр.Записать; спр.НайтиЭлемент(Ссылка); спр.Удалить(0); ... |
|||
15
Chai Nic
19.09.14
✎
21:17
|
(13) Ничего странного.. вы наткнулись на один из нюансов несовместимости, их мало, но они есть. Просто обычно так не пишут, и поэтому эта ошибка в платформе осталась незамеченной.
|
|||
16
IgorTrifonov
19.09.14
✎
21:20
|
спасибо Chai Nic
да и задание в принципе не совсем обычное надо поменять название всех подразделений, но при этом сохранить для истории старые названии |
|||
17
Chai Nic
19.09.14
✎
21:24
|
(16) Ну.. в этом задании нет ничего необычного. Необычным является пометка на удаление сразу после записи)
|
|||
18
Злопчинский
20.09.14
✎
02:00
|
(9) не надо так делать - есть такая особенность - после присвоения нового кода/наименования и записи элемента - выборка сбивается.
|
|||
19
vcv
20.09.14
✎
09:40
|
А может быть, если меняется только код, перед перебором элементов сделать ПорядокНаименований ?
|
|||
20
igni1
20.09.14
✎
09:53
|
кажется было что-то вроде Включитьsql() - поищи по форуму
|
|||
21
КонецЦикла
20.09.14
✎
13:05
|
Зачем удаляя менять код?
Ну раз уж так нужно - лучше пройтись поменять код, а потом удалить |
|||
22
Джинн
20.09.14
✎
14:46
|
ПорядокНаименований
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |