|
Начало конца или кривой код? | ☑ | ||
---|---|---|---|---|
0
МосЭстрада
28.08.13
✎
10:16
|
НовНом.БазоваяЕдиницаИзмерения = Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию("шт");
НовНом.Записать(); // ЕдиницыИзмерения ЕдиницаНом = Справочники.ЕдиницыИзмерения.СоздатьЭлемент(); ЕдиницаНом.Наименование = НовНом.БазоваяЕдиницаИзмерения.Наименование; ЕдиницаНом.ЕдиницаПоКлассификатору = НовНом.БазоваяЕдиницаИзмерения; ЕдиницаНом.Коэффициент = 1; ЕдиницаНом.Владелец = НовНом.Ссылка; Внезапно, в понедельник дважды тринадцатого числа возникла ЕдиницаНом с наименованием "компл" |
|||
1
МосЭстрада
28.08.13
✎
10:17
|
До этого и после этого стабильно были "шт".
|
|||
2
zak555
28.08.13
✎
10:17
|
ЕдиницаНом.ЕдиницаПоКлассификатору = НовНом;
|
|||
3
Maxus43
28.08.13
✎
10:24
|
я за кривой код голосую
|
|||
4
МосЭстрада
28.08.13
✎
10:24
|
(2) неужели?
|
|||
5
МосЭстрада
28.08.13
✎
10:25
|
(3) что же надо поправить?
|
|||
6
mzelensky
28.08.13
✎
10:27
|
(0) переделай это
НовНом.БазоваяЕдиницаИзмерения = Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию("шт"); На поиск по коду. Т.к. классификатор на то и классификатор .чтобы содержать международные коды единиц измерения. |
|||
7
Maxus43
28.08.13
✎
10:28
|
(5) поправить хз, а НайтиПоНаименованию("шт") - уже криво.
Что вобще задумал то? |
|||
8
Serg_1960
28.08.13
✎
10:28
|
(0) Так и хочется сказать - "Кривой код, а автор - ...". Не провоцируй :)
|
|||
9
МосЭстрада
28.08.13
✎
10:35
|
(6), (7) принимается
но вот только НовНом.БазоваяЕдиницаИзмерения записалась "шт" и верификация это доказывает. Откуда "компл"? |
|||
10
mzelensky
28.08.13
✎
10:38
|
(9) "после драки кулаками не машут!"
Напиши правильно и надейся, что больше не повторится. |
|||
11
МосЭстрада
28.08.13
✎
10:43
|
ну так "компл" значит из-за НайтиПоНаименованию?
|
|||
12
Serg_1960
28.08.13
✎
10:51
|
мБазоваяЕдиницаИзмерения = Справочники.КлассификаторЕдиницИзмерения.НайтиПоКоду("796");
Если ЗначениеЗаполнено(мБазоваяЕдиницаИзмерения) Тогда НовНом.БазоваяЕдиницаИзмерения = мБазоваяЕдиницаИзмерения НовНом.Записать(); // ЕдиницыИзмерения ЕдиницаНом = Справочники.ЕдиницыИзмерения.СоздатьЭлемент(); ЕдиницаНом.Наименование = мБазоваяЕдиницаИзмерения.Наименование; ЕдиницаНом.ЕдиницаПоКлассификатору = мБазоваяЕдиницаИзмерения; ЕдиницаНом.Коэффициент = 1; ЕдиницаНом.Владелец = НовНом.Ссылка; Иначе ... КонецЕсли; |
|||
13
Odavid
28.08.13
✎
11:04
|
(6)>> Т.к. классификатор на то и классификатор .чтобы содержать международные коды единиц измерения.
и как наименование "шт" превратилось в "компл"? (12)если не ищет по наименвоанию - где гарантия, что корректно найдет по коду? (0) если не удается повторить ситуацию - значит, глюк. А это - ничего удивительного в 1С. (8) если без изменения исходных данных код 100 раз выдал "шт", а на 101 - "компл", то что кривое - код, автор или еще что? |
|||
14
Serg_1960
28.08.13
✎
11:14
|
А вот почему "компл".... присвоение значения реквизиту, запись объекта, а потом обращение через присвоенное значение... а чёрт его знает почему :(
"НайтиПоНаименованию" возвращает ссылку, а обращение к реквизиту "Наименование" - обращение к объекту через ссылку. Т.е. объект будет получен или кеша, или - из базы. Как кеши ломают базу - примеров много. Может быть, раз такая пьянка, то стоит изменить (12) на запрос к базе за ссылкой и наименование... незнаю разумно ли это. |
|||
15
Serg_1960
28.08.13
✎
11:23
|
И вот ещё, вспомнил. Маловероятно, но...
Проверь по журналу регистрации, на всякий случай, что никто из юзверей не юзает классификатор. Был у меня один такой упырь в моём УППырище - изменил наименование в классификаторе с "шт" на "кг". Вместо того чтобы изменить в настройке единицу измерения "по умолчанию". |
|||
16
МосЭстрада
28.08.13
✎
11:38
|
(15) этот справочник никто не трогал.
|
|||
17
Odavid
28.08.13
✎
12:37
|
(14)>>Как кеши ломают базу - примеров много
так от этого никакой код не спасет. Аналогично - и по НайтиПоКоду вовзратит какой-нибудь "компл". |
|||
18
Odavid
28.08.13
✎
12:39
|
(14)>>то стоит изменить (12) на запрос к базе за ссылкой и наименование
- именно, что двойная независимая проверка - самое разумное в 1С. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |