|
Выходит ошибка при добавлении колонки программно АгентБезопаснойНацио, dkalin, Garykom, , Михаил Козлов, nick86, Bigbro, Мультук, _Batoo, vbus, Hawk_1c, lucky_, serpentt, Fedor-1971, yuriybylinkin, calmius, okmail, Галахад, mikecool, СвинТуз, KJlag, Prog_man, программистище, butterbean, PR, petr_ivanov, dnab, yurikmellon2, Amra
| ☑ | ||
---|---|---|---|---|
0
dkalin
03.04.25
✎
09:49
|
Доброе утро! Выходит ошибка при добавлении колонки программно,ранее всё работало.
&НаСервере Процедура пнПриИзмененииНаСервере() Тп.Очистить(); Если Не Объект.пн.Пустая() Тогда МассивТипа = Новый Массив; МассивТипа.Добавить(Тип("ТаблицаЗначений")); ОписаниеТипа = Новый ОписаниеТипов(МассивТипа); МассивРеквизитовФормы = Новый Массив; МассивРеквизитовФормы.Добавить(Новый РеквизитФормы("ТЗ", ОписаниеТипа, "", "Тп")); ТЗ = Новый ТаблицаЗначений; ТЗ.Колонки.Добавить("Номер",Новый ОписаниеТипов("Число"),"№",3); ТЗ.Колонки.Добавить("Код",Новый ОписаниеТипов("Строка"),"Код",9); ТЗ.Колонки.Добавить("Номенклатура",Новый ОписаниеТипов("СправочникСсылка.Номенклатура"),"Номенклатура",28); ТЗ.Колонки.Добавить("Цена",Новый ОписаниеТипов("Число"),"Цена",7); ТЗ.Колонки.Добавить("Количество",Новый ОписаниеТипов("Число"),"Кол-во",4); ТЗ.Колонки.Добавить("Остаток",Новый ОписаниеТипов("Число"),"Остаток",4); ТЗ.Колонки.Добавить("Осталось",Новый ОписаниеТипов("Число"),"Осталось",4); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | склады.Ссылка КАК склад, | склады.Наименование КАК наименование |ИЗ | Справочник.СтруктурныеЕдиницы КАК склады |ГДЕ | ТипСтруктурнойЕдиницы = &ВидСкл |УПОРЯДОЧИТЬ ПО склады.Наименование"; Запрос.УстановитьПараметр("ВидСкл",Перечисления.ТипыСтруктурныхЕдиниц.Розница); РезультатЗапроса = Запрос.Выполнить(); рез = РезультатЗапроса.Выбрать(); тзс = Новый ТаблицаЗначений; тзс.Колонки.Добавить("Склад",Новый ОписаниеТипов("СправочникСсылка.СтруктурныеЕдиницы")); тзс.Колонки.Добавить("Наименование",Новый ОписаниеТипов("Строка")); Пока рез.Следующий() Цикл нам = СтрЗаменить(рез.наименование," ",""); нам = СтрЗаменить(нам,Символ(34),""); нам = СтрЗаменить(нам,"№",""); нам = СтрЗаменить(нам,",",""); заг = СтрЗаменить(рез.наименование,"Магазин","Маг."); заг = СтрЗаменить(заг,"База","Б."); заг = СтрЗаменить(заг,Символ(34),""); ТЗ.Колонки.Добавить(нам,Новый ОписаниеТипов("Число"),заг,10); скл = тзс.Добавить(); скл.Склад = рез.склад; скл.Наименование = нам; КонецЦикла; Вот на эту строчку: ТЗ.Колонки.Добавить(нам,Новый ОписаниеТипов("Число"),заг,10); Хотя в имени нету каких символов,которые не удовлетворяют требованиям? |
|||
1
butterbean
03.04.25
✎
09:51
|
(0) какая ошибка то?
|
|||
2
okmail
03.04.25
✎
09:55
|
(0) наименования одинаковые?
|
|||
3
Мультук
гуру
03.04.25
✎
09:55
|
(0)
0) Выходит ошибка Я понимаю, что вы девочка, но скопипастить текст ошибки даже для девочки вполне посильно. 1) Оформляйте код пожалйста 2) Допишите строку Сообщить(нам) ТЗ.Колонки.Добавить(нам,Новый ОписаниеТипов("Число"),заг,10); И вы (и мы) увидите строку в "Нам" 3) Возможно вы удивитесь, но вполне возможно, что в Справочник.СтруктурныеЕдиницы есть подразделения с одинаковым наименованием
|
|||
4
PR
03.04.25
✎
09:55
|
(0) Какое нахрен наименование?
Бери гуид, в котором удаляй "-", а перед ним пиши что-нибудь типа "Склад" |
|||
5
Fedor-1971
03.04.25
✎
09:58
|
(0) Повтояющиеся наименования колонок?
"Подраз деление" и "П одразделение" - дадут одно имя колонки Добавь нумератор ТЗ.Колонки.Добавить(нам + Формат(НомерСтроки, "..."),Новый ОписаниеТипов("Число"),заг,10); |
|||
6
Мультук
гуру
03.04.25
✎
10:02
|
(4)
Хотя нет - судя по "коду" осилит |
|||
7
dkalin
03.04.25
✎
10:29
|
Я извиняюсь,вот код ошибки
Ошибка при вызове метода контекста (Добавить) {ВнешняяОбработка.СозданиеПеремещенийУНФ.Форма.Форма.Форма(54)}:ТЗ.Колонки.Добавить(нам,Новый ОписаниеТипов("Число"),заг,10); {ВнешняяОбработка.СозданиеПеремещенийУНФ.Форма.Форма.Форма(157)}:пнПриИзмененииНаСервере(); [ОшибкаВоВремяВыполненияВстроенногоЯзыка] по причине: Неверное имя колонки [ОшибкаИспользованияВстроенногоЯзыка] |
|||
8
Garykom
гуру
03.04.25
✎
11:03
|
(7) Имя колонки:
1. Должно быть уникальным 2. Соответствовать правилам для переменных (начинается с символа, нет пробелов и т.д.) В данном случае обернуть в попытку и в исключении выводить это кривое имя чтобы видеть Типа ТекстОшибки = СтрШаблон("Не смогли создать колонку ""%1""", ИмяКолонки); ОбщегоНазначения.СообщениеПользователю(ТекстОшибки); |
|||
9
dkalin
03.04.25
✎
11:05
|
Самое интересное,что я поменяла вообще,просто
// ТЗ.Колонки.Добавить(нам+н,Новый ОписаниеТипов("Число"),заг,10); ТЗ.Колонки.Добавить("Осталось",Новый ОписаниеТипов("Число"),"Осталось",4); Вообще не должно ругаться. ОшибкаВоВремяВыполненияВстроенногоЯзыка] по причине: Неверное имя колонки [ОшибкаИспользованияВстроенногоЯзыка] |
|||
10
dkalin
03.04.25
✎
11:13
|
ВнешняяОбработка.СозданиеПеремещенийУНФ.Форма.Форма.Форма(55)}:ТЗ.Колонки.Добавить("Осталось",Новый ОписаниеТипов("Число"),"Осталось",4);
|
|||
11
Мультук
гуру
03.04.25
✎
11:13
|
(9)
Имя колонки должно быть уникальным Если вы в цикле (а у вас цикл) делаете ТЗ.Колонки.Добавить("Осталось",Новый ОписаниеТипов("Число"),"Осталось",4); То первый раз колонка добавится. А в следущий раз - будет ошибка. |
|||
12
dkalin
03.04.25
✎
11:22
|
Я поняла,спасибо огромное! Сейчас буду смотреть
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |