Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

Как в дерево значений добавить колонку?

Как в дерево значений добавить колонку?
Я
   OG_Tui
 
17.09.18 - 23:56
Всем вечера! Столкнулся с проблемой, вроде бы всё очевидно и просто, да не пашет. Есть дерево значений, которое содержит в себе остатки товара. Хочу добавить в это дерево свою колонку, с типом - число, с двумя знаками после запятой.
Что делаю:
ОстаткиТоваров.Колонки.Вставить(5,"Ро",Новый ОписаниеТипов("Число",,,Новый КвалификаторыЧисла(12,2)),,);

Выдаёт ошибку: Ошибка при вызове метода "вставить", Неверное имя колонки.

Переименовывал колонку по-разному, всё одно и то же. Отладчиком прохожусь, в отладчике вижу на этой строке, что колонка создаётся. Сравниваю по всем параметрам с уже существующими колонками- всё в норме. Но потом вылетает эта ошибка.

Подскажите, что я пропускаю??
 
 
   Fram
 
1 - 18.09.18 - 01:39
Когда отладчик НА этой строке колонки быть не может. Она должна появится когда шагнешь на следующую. То есть такая колонка уже есть, о чем тебе и говорит текст ошибки
   Fram
 
2 - 18.09.18 - 02:10
Хотя обычно на "Неверное имя колонки" ругается когда пробел или еще какой то недопустимый символ есть в имени. Так что видать ругается он не на ту строку, которую ты в (0) написал?
   Chameleon1980
 
3 - 18.09.18 - 03:48
(2) странно да, что так и написано "...Ошибка при вызове метода "вставить", Неверное имя колонки..."
?
   Chameleon1980
 
4 - 18.09.18 - 03:49
хотя да- может и при вставке дпугой колонки
   OG_Tui
 
5 - 18.09.18 - 11:28
(1) Это меня очень даже удивляет. Потому как в блоке, откуда я прихожу в данное место, в дереве чётко, скажем, 4 колонки, со своими именами. Такого имени как у меня там нету, да и переименовывал я уже как только не изгалялся, зная фишку про пробелы.
Поэтому и теряюсь уже в догадках- что ж ему не нравится?
Не на эту строку- вряд ли, потому как именно на этой строке всё и вылетает.

(4) понял бы такой вариант, но вставляю только одну колонку. Нигде близко нет операций по добавлению или вставке колонок.
   Лодырь
 
6 - 18.09.18 - 11:30
(5) Ну так и отлови где выдается ошибка. В чем проблема то?
   OG_Tui
 
7 - 18.09.18 - 11:44
(5) и проблем бы не было, будь так просто)
Я не врубаюсь в чём ошибка, иду отладчиком, ничего бредового не нахожу, дохожу до этой строчки и всё вылетает с данной ошибкой.
   Cool_Profi
 
8 - 18.09.18 - 11:46
Попробуй не Вставить() а Добавить() - что скажет?
перед этим посмотри в отладчике ОстаткиТоваров.Колонки - что там есть в этот момент
   Михаил Козлов
 
9 - 18.09.18 - 11:48
"Но потом вылетает эта ошибка." - когда потом?
Может вставляете в цикле?
   Cyberhawk
 
10 - 18.09.18 - 11:51
Покажи ошибку на картинке
 
 Рекламное место пустует
   Ненавижу 1С
 
11 - 18.09.18 - 11:58
(5) интересно...
"4 колонки" а вставляешь ты перед 5-й?
   OG_Tui
 
12 - 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
   RomanYS
 
13 - 18.09.18 - 12:09
(12) Это лишь доказывает, что твой код вызывается более одного раза. Неужели это в отладчике не ловится?
   Cyberhawk
 
14 - 18.09.18 - 12:11
Ну, второй раз код всяко выполняется. Показывай откуда выполняешь его
   OG_Tui
 
15 - 18.09.18 - 12:14
(13) вот я и не могу понять откуда и как это.

(13,14)
Если ЭлементыФормы.Список.ТекущиеДанные <> Неопределено
           И НЕ ЭлементыФормы.Список.ТекущиеДанные.ЭтоГруппа Тогда
           
            мСписокПрефиксовЦен = УправлениеЗапасами.ПолучитьСписокПрефиксовВыводимыхСумм(СписокЦенОстатков);
            УправлениеЗапасами.ПолучитьДеревоОстатковНоменклатуры(ОстаткиТоваров, ЭлементыФормы.Список.ТекущиеДанные.Ссылка, Истина, СписокЦенОстатков, , мСоответствиекурсовВалют, , ТекущаяДата());
            //Разворачиваем дерево

            //ОстаткиТоваров.Колонки.Вставить(6,"Ро",Новый ОписаниеТипов("Число",,,Новый КвалификаторыЧисла(12,2)),,);

            //ОстаткиТоваров.Колонки.Добавить("Ро",Новый ОписаниеТипов("Число",,,Новый КвалификаторыЧисла(12,2)),,);

            Для Каждого СтрокаДереваОстатков Из ОстаткиТоваров.Строки Цикл
                //---Ольга

                Ном = Справочники.Номенклатура.НайтиПоКоду(ЭлементыФормы.Список.ТекущиеДанные.Код);
                Запрос = Новый Запрос("ВЫБРАТЬ
                                      |    Резерв_ОльгаОстатки.КоличествоОстаток,
                                      |    Резерв_ОльгаОстатки.ХарактеристикаНоменклатуры
                                      |ИЗ
                                      |    РегистрНакопления.Резерв_Ольга.Остатки КАК Резерв_ОльгаОстатки
                                      |ГДЕ
                                      |    Резерв_ОльгаОстатки.Номенклатура = &Номенклатура");
                Запрос.УстановитьПараметр("Номенклатура",Ном);
                Рез = Запрос.Выполнить().Выбрать();
                Пока Рез.Следующий() цикл
                    РезервТовара = Рез.КоличествоОстаток;
                    ХарТовара = Рез.ХарактеристикаНоменклатуры;
                конеццикла;
                
ну и далее...
   catena
 
16 - 18.09.18 - 12:20
ТекущиеДанные? Это в какой процедуре происходит?
   Cyberhawk
 
17 - 18.09.18 - 12:21
Стек вызовов покажи, зачем ты сюда простыню кода вставил
   Cool_Profi
 
18 - 18.09.18 - 12:23
Если ОстаткиТоваров.Колонки.Найти("Ро") = неопределено Тогда
 ОстаткиТоваров.Колонки.Добавить("Ро",Новый ОписаниеТипов("Число",,,Новый КвалификаторыЧисла(12,2)),,);
КОнецЕсли
   OG_Tui
 
19 - 18.09.18 - 12:23
(17) Это в процедуре "ПоказатьОстатки", которая вызывается при активизации строки списка номенклатуры
   Cyberhawk
 
20 - 18.09.18 - 12:23
"при активизации строки списка номенклатуры" // Перепиши на При получении данных
   Сияющий в темноте
 
21 - 18.09.18 - 12:24
Квалификаторы числа,если мне память не изменяет,сразу после типа идут в описании,а у вас запятых целый ворох
   МимохожийОднако
 
22 - 18.09.18 - 12:24
Какой тип значения у ОстаткиТоваров? Где создаётся?
   OG_Tui
 
23 - 18.09.18 - 12:27
(21) тогда было бы логично что ошибка была бы другой...или нет?

(22)Это ДеревоЗначений, оно создаётся по частям в куче общих модулей, на сколько я видел. приходит в эту процедуру уже в готовом виде

(20) попытаюсь извернуться...
   Fram
 
24 - 18.09.18 - 18:57
Вот такую строку по всей конфе поищи
Колонки.Добавить("Ро"
   Cyberhawk
 
25 - 18.09.18 - 19:27
(24) Тогда уж просто "Ро" с флажком "Искать слово целиком". А то мало ли как эта колонка может добавляться-вставляться, в т.ч. и не через метод от переменной "Колонки"


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует