|
Как в дерево значений добавить колонку? | ☑ | ||
---|---|---|---|---|
0
OG_Tui
17.09.18
✎
23:56
|
Всем вечера! Столкнулся с проблемой, вроде бы всё очевидно и просто, да не пашет. Есть дерево значений, которое содержит в себе остатки товара. Хочу добавить в это дерево свою колонку, с типом - число, с двумя знаками после запятой.
Что делаю: ОстаткиТоваров.Колонки.Вставить(5,"Ро",Новый ОписаниеТипов("Число",,,Новый КвалификаторыЧисла(12,2)),,); Выдаёт ошибку: Ошибка при вызове метода "вставить", Неверное имя колонки. Переименовывал колонку по-разному, всё одно и то же. Отладчиком прохожусь, в отладчике вижу на этой строке, что колонка создаётся. Сравниваю по всем параметрам с уже существующими колонками- всё в норме. Но потом вылетает эта ошибка. Подскажите, что я пропускаю?? |
|||
1
Fram
18.09.18
✎
01:39
|
Когда отладчик НА этой строке колонки быть не может. Она должна появится когда шагнешь на следующую. То есть такая колонка уже есть, о чем тебе и говорит текст ошибки
|
|||
2
Fram
18.09.18
✎
02:10
|
Хотя обычно на "Неверное имя колонки" ругается когда пробел или еще какой то недопустимый символ есть в имени. Так что видать ругается он не на ту строку, которую ты в (0) написал?
|
|||
3
Chameleon1980
18.09.18
✎
03:48
|
(2) странно да, что так и написано "...Ошибка при вызове метода "вставить", Неверное имя колонки..."
? |
|||
4
Chameleon1980
18.09.18
✎
03:49
|
хотя да- может и при вставке дпугой колонки
|
|||
5
OG_Tui
18.09.18
✎
11:28
|
(1) Это меня очень даже удивляет. Потому как в блоке, откуда я прихожу в данное место, в дереве чётко, скажем, 4 колонки, со своими именами. Такого имени как у меня там нету, да и переименовывал я уже как только не изгалялся, зная фишку про пробелы.
Поэтому и теряюсь уже в догадках- что ж ему не нравится? Не на эту строку- вряд ли, потому как именно на этой строке всё и вылетает. (4) понял бы такой вариант, но вставляю только одну колонку. Нигде близко нет операций по добавлению или вставке колонок. |
|||
6
Лодырь
18.09.18
✎
11:30
|
(5) Ну так и отлови где выдается ошибка. В чем проблема то?
|
|||
7
OG_Tui
18.09.18
✎
11:44
|
(5) и проблем бы не было, будь так просто)
Я не врубаюсь в чём ошибка, иду отладчиком, ничего бредового не нахожу, дохожу до этой строчки и всё вылетает с данной ошибкой. |
|||
8
Cool_Profi
18.09.18
✎
11:46
|
Попробуй не Вставить() а Добавить() - что скажет?
перед этим посмотри в отладчике ОстаткиТоваров.Колонки - что там есть в этот момент |
|||
9
Михаил Козлов
18.09.18
✎
11:48
|
"Но потом вылетает эта ошибка." - когда потом?
Может вставляете в цикле? |
|||
10
Cyberhawk
18.09.18
✎
11:51
|
Покажи ошибку на картинке
|
|||
11
Ненавижу 1С
гуру
18.09.18
✎
11:58
|
(5) интересно...
"4 колонки" а вставляешь ты перед 5-й? |
|||
12
OG_Tui
18.09.18
✎
12:05
|
(9) нет, не в цикле. Вылетает ошибка именно на этой строке
Вставляю в ходе исполнения "если". (10) https://c.radikal.ru/c19/1809/f9/e58c21b4f962.jpg (8) С Добавить та же фигня. что удивляет...так это момент в отладчике, перед тем как я добавляю свою колонку он показывает вот такое: https://b.radikal.ru/b38/1809/6e/a35a313ee47f.jpg Хотя колонки "Ро" моей, там быть не может до этого момента. Нигде она не добавляется. Для проверки закомментировал свои строки с добавлением колонки. В том же моменте отладчиком: https://c.radikal.ru/c29/1809/83/9a4c8c12b414.jpg |
|||
13
RomanYS
18.09.18
✎
12:09
|
(12) Это лишь доказывает, что твой код вызывается более одного раза. Неужели это в отладчике не ловится?
|
|||
14
Cyberhawk
18.09.18
✎
12:11
|
Ну, второй раз код всяко выполняется. Показывай откуда выполняешь его
|
|||
15
OG_Tui
18.09.18
✎
12:14
|
(13) вот я и не могу понять откуда и как это.
(13,14) Если ЭлементыФормы.Список.ТекущиеДанные <> Неопределено И НЕ ЭлементыФормы.Список.ТекущиеДанные.ЭтоГруппа Тогда мСписокПрефиксовЦен = УправлениеЗапасами.ПолучитьСписокПрефиксовВыводимыхСумм(СписокЦенОстатков); УправлениеЗапасами.ПолучитьДеревоОстатковНоменклатуры(ОстаткиТоваров, ЭлементыФормы.Список.ТекущиеДанные.Ссылка, Истина, СписокЦенОстатков, , мСоответствиекурсовВалют, , ТекущаяДата()); //Разворачиваем дерево //ОстаткиТоваров.Колонки.Вставить(6,"Ро",Новый ОписаниеТипов("Число",,,Новый КвалификаторыЧисла(12,2)),,); //ОстаткиТоваров.Колонки.Добавить("Ро",Новый ОписаниеТипов("Число",,,Новый КвалификаторыЧисла(12,2)),,); Для Каждого СтрокаДереваОстатков Из ОстаткиТоваров.Строки Цикл //---Ольга Ном = Справочники.Номенклатура.НайтиПоКоду(ЭлементыФормы.Список.ТекущиеДанные.Код); Запрос = Новый Запрос("ВЫБРАТЬ | Резерв_ОльгаОстатки.КоличествоОстаток, | Резерв_ОльгаОстатки.ХарактеристикаНоменклатуры |ИЗ | РегистрНакопления.Резерв_Ольга.Остатки КАК Резерв_ОльгаОстатки |ГДЕ | Резерв_ОльгаОстатки.Номенклатура = &Номенклатура"); Запрос.УстановитьПараметр("Номенклатура",Ном); Рез = Запрос.Выполнить().Выбрать(); Пока Рез.Следующий() цикл РезервТовара = Рез.КоличествоОстаток; ХарТовара = Рез.ХарактеристикаНоменклатуры; конеццикла; ну и далее... |
|||
16
catena
18.09.18
✎
12:20
|
ТекущиеДанные? Это в какой процедуре происходит?
|
|||
17
Cyberhawk
18.09.18
✎
12:21
|
Стек вызовов покажи, зачем ты сюда простыню кода вставил
|
|||
18
Cool_Profi
18.09.18
✎
12:23
|
Если ОстаткиТоваров.Колонки.Найти("Ро") = неопределено Тогда
ОстаткиТоваров.Колонки.Добавить("Ро",Новый ОписаниеТипов("Число",,,Новый КвалификаторыЧисла(12,2)),,); КОнецЕсли |
|||
19
OG_Tui
18.09.18
✎
12:23
|
(17) Это в процедуре "ПоказатьОстатки", которая вызывается при активизации строки списка номенклатуры
|
|||
20
Cyberhawk
18.09.18
✎
12:23
|
"при активизации строки списка номенклатуры" // Перепиши на При получении данных
|
|||
21
Сияющий в темноте
18.09.18
✎
12:24
|
Квалификаторы числа,если мне память не изменяет,сразу после типа идут в описании,а у вас запятых целый ворох
|
|||
22
Мимохожий Однако
18.09.18
✎
12:24
|
Какой тип значения у ОстаткиТоваров? Где создаётся?
|
|||
23
OG_Tui
18.09.18
✎
12:27
|
(21) тогда было бы логично что ошибка была бы другой...или нет?
(22)Это ДеревоЗначений, оно создаётся по частям в куче общих модулей, на сколько я видел. приходит в эту процедуру уже в готовом виде (20) попытаюсь извернуться... |
|||
24
Fram
18.09.18
✎
18:57
|
Вот такую строку по всей конфе поищи
Колонки.Добавить("Ро" |
|||
25
Cyberhawk
18.09.18
✎
19:27
|
(24) Тогда уж просто "Ро" с флажком "Искать слово целиком". А то мало ли как эта колонка может добавляться-вставляться, в т.ч. и не через метод от переменной "Колонки"
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |