|
| ||
NIGHTHUNTER 01.10.20 - 09:25 | Решил спросить. А то долго уже сижу. Буду по шагам.
Есть обработка. Мне нужно создать таблицу значений на ее форме, и динамически создавать ее колонки и заполнять значениями. Все есть но вот с само таблицей на форме что то не идет. Первый вопрос, я разместить для этого на форме должен Табличное Поле? | ||
NIGHTHUNTER 1 - 01.10.20 - 09:59 | у внешней обработки нет таблицы значений таблица значений лежит на форме обработки, без колонок создаются программно и заполняютсяВОПРОС. Я заполнил таблицу, создались колонки и заполнились строки. Потом нажимаю ещё раз. Нужно ее очистить, но идет ошибка. Как правильно очищать?  //  // ОЧИСТКА ВСЕГО ТаблицаЗагрузки.Очистить(); ТаблицаЗагрузки.Колонки.Очистить(); ЭлементыФормы.ТаблицаЗагрузки.Очистить(); ЭлементыФормы.ТаблицаЗагрузки.Колонки.Очистить(); // | ||
Ёпрст 2 - 01.10.20 - 10:01 | (0) ё... | ||
Ёпрст 3 - 01.10.20 - 10:01 | ТаблицаЗагрузки.Очистить();всё | ||
Ёпрст 4 - 01.10.20 - 10:02 | ЭлементыФормы.ТаблицаЗагрузки.ОбновитьСтроки() если очень надо еще потом | ||
NIGHTHUNTER 5 - 01.10.20 - 10:14 | (4)
Я делаю вот так  //  // ОЧИСТКА ВСЕГО ТаблицаЗагрузки.Очистить(); ТаблицаЗагрузки.Колонки.Очистить(); ЭлементыФормы.ТаблицаЗагрузки.Значение.Очистить(); ЭлементыФормы.ТаблицаЗагрузки.Значение.Колонки.Очистить();  // Но вот при повторном выполнении, когда все должно быть тоже самое, вылетает ошибка {ВнешняяОбработка.ЗагрузкаИзБП_0_2.Форма.Форма.Форма(102)}: Ошибка при вызове метода контекста (Добавить) КолонкаТаблицыНаФорме = ЭлементыФормы.ТаблицаЗагрузки.Колонки.Добавить(ИмяКолонки, ИмяКолонки); по причине: Недопустимое значение параметра (параметр номер '1') Но если вот это выполняется ОЧИСТКА ВСЕГО, то загрузка идет как и при первом нажатии, от чего такая ошибка ???? | ||
NIGHTHUNTER 6 - 01.10.20 - 10:17 | Что вот это за ошибка, как ее исключить? Срабатывает при повторном выполнении!
{ВнешняяОбработка.ЗагрузкаИзБП_0_2.Форма.Форма.Форма(104)}: Ошибка при вызове метода контекста (Добавить) КолонкаТаблицыНаФорме = ЭлементыФормы.ТаблицаЗагрузки.Колонки.Добавить(ИмяКолонки, ИмяКолонки); по причине: Недопустимое значение параметра (параметр номер '1') Первый раз таблица формируется на форме. При повторном выполнении, то есть при пересоздании этой таблицы, идет ошибка, эта. | ||
NIGHTHUNTER 7 - 01.10.20 - 10:18 | Полный код. При повторном нажатии идет ошибка ...
// Процедура ЗагрузитьДанныеНажатие(Элемент)  // Если Не ЗначениеЗаполнено(ЭтотОбъект.ФайлЗагрузки) Тогда Предупреждение("Необходимо выбрать файл для загрузки!",2,"ЗАГРУЗКА НЕ ВОЗМОЖНА!"); Возврат; КонецЕсли;  //  // ОПИСЧАНИЕ ТИПОВ  // КЧК = Новый КвалификаторыЧисла(15,3); КЧЦ = Новый КвалификаторыЧисла(15,2); КС = Новый КвалификаторыСтроки(200); КД = Новый КвалификаторыДаты(ЧастиДаты.Дата);  // Массив = Новый Массив; Массив.Добавить(Тип("Строка")); ОписаниеТиповС = Новый ОписаниеТипов(Массив, , КС);  //  // ОЧИСТКА ВСЕГО ТаблицаЗагрузки.Очистить(); ТаблицаЗагрузки.Колонки.Очистить(); ЭлементыФормы.ТаблицаЗагрузки.Значение.Очистить(); ЭлементыФормы.ТаблицаЗагрузки.Значение.Колонки.Очистить();  // ЭлементыФормы.ТаблицаЗагрузки.ОбновитьСтроки();  // ТаблицаЗагрузки2 = Новый ТаблицаЗначений;  // ЭтотОбъект.ФайлЗагрузки;  // ЭлементыФормы.ФайлЗагрузки.Значение; ЗагружаемыйФайл = Новый ТекстовыйДокумент; ЗагружаемыйФайл.Прочитать(ЭтотОбъект.ФайлЗагрузки); Шапка = ЗагружаемыйФайл.ПолучитьСтроку(1); МассивКолонок = РазложитьСтрокуВМассивПодстрок(Шапка,Разделитель); Для Каждого ИмяКолонки Из МассивКолонок Цикл Если ИмяКолонки = "" Тогда Прервать; КонецЕсли; ИмяБезПробелов = СтрЗаменить(ИмяКолонки," ","");// убираем из имени колонок пробелы ТаблицаЗагрузки2.Колонки.Добавить(ИмяБезПробелов,,ИмяКолонки);  // ИмяКолонки = ИмяБезПробелов; КолонкаТаблицы = ТаблицаЗагрузки.Колонки.Добавить(ИмяКолонки, ОписаниеТиповС, ИмяКолонки, 30); КолонкаТаблицыНаФорме = ЭлементыФормы.ТаблицаЗагрузки.Колонки.Добавить(ИмяКолонки, ИмяКолонки); КолонкаТаблицыНаФорме.Данные = ИмяКолонки; КолонкаТаблицыНаФорме.Положение = ПоложениеКолонки.НоваяКолонка; КонецЦикла;  //  // 1. Номер  // 2. Дата  // 3. ВидОперации  // 4. Организация  // 5. Склад  // 6. Контрагент  // 7. ДоговорКонтрагента  // 8. СпособЗачетаАвансов  // 9. ТипЦен  // 10. КурсВзаиморасчетов  // 11. КратностьВзаиморасчетов  // 12. СуммаВключаетНДС  // 13. СчетНаОплатуПокупателю  // 14. Грузоотправитель  // 15. Грузополучатель  // 16. АдресДоставки  // 17. БанковскийСчетОрганизации  // 18. СуммаДокумента  // 19. Ответственный  // 20. Комментарий  // 21. Руководитель  // 22. Номенклатура  // 23. Количество  // 24. Цена  // 25. Сумма  // 26. СтавкаНДС  // 27. СуммаНДС  // 28. СчетУчета  // 29. СчетДоходов  // 30. Субконто  // 31. СчетУчетаНДСПоРеализации  // 32. СчетРасходов  // 33. КонтрагентИНН  // 34. НоменклатураАртикул  // Для НомерСтроки = 2 по ЗагружаемыйФайл.КоличествоСтрок() Цикл Строка = ЗагружаемыйФайл.ПолучитьСтроку(НомерСтроки); Если Не ЗначениеЗаполнено(Строка) Тогда Продолжить; КонецЕсли; МассивКолонок = РазложитьСтрокуВМассивПодстрок(Строка,Разделитель);  // НоваяСтрока = ТаблицаЗагрузки.Добавить();  // НоваяСтрока2 = ТаблицаЗагрузки2.Добавить();  //  //Если МассивКолонок.Количество() <> ЭлементыФормы.ТаблицаЗагрузки.Колонки.Количество() - 1 Тогда  // Продолжить;  //КонецЕсли; Для НомерКолонки = 1 по МассивКолонок.Количество() Цикл ТекущееЗначение = МассивКолонок[НомерКолонки - 1];  // ИмяКолонки = ТаблицаЗагрузки.Колонки[НомерКолонки - 1].Имя; НоваяСтрока[ИмяКолонки] = ТекущееЗначение;  // ИмяКолонки = ТаблицаЗагрузки2.Колонки[НомерКолонки - 1].Имя; НоваяСтрока2[ИмяКолонки] = ТекущееЗначение;  // КонецЦикла; КонецЦикла; КонецПроцедуры // | ||
NIGHTHUNTER 8 - 01.10.20 - 10:19 | и я вижу что визуально
после вот этого колонки так же есть на форме, очищаются только строки
 // ОЧИСТКА ВСЕГО
ТаблицаЗагрузки.Очистить();
ТаблицаЗагрузки.Колонки.Очистить();
ЭлементыФормы.ТаблицаЗагрузки.Значение.Очистить();
ЭлементыФормы.ТаблицаЗагрузки.Значение.Колонки.Очистить();
// | ||
NIGHTHUNTER 9 - 01.10.20 - 10:24 | |||
Ёпрст 10 - 01.10.20 - 11:08 | |||
NIGHTHUNTER 11 - 01.10.20 - 11:09 | |||
NIGHTHUNTER 12 - 01.10.20 - 11:10 | (10) вот же
 // ОЧИСТКА ВСЕГО
ТаблицаЗагрузки.Очистить();
ТаблицаЗагрузки.Колонки.Очистить();
ЭлементыФормы.ТаблицаЗагрузки.Очистить();
ЭлементыФормы.ТаблицаЗагрузки.Колонки.Очистить();
// | ||
Ёпрст 13 - 01.10.20 - 11:10 | ёё.. ну выкинь добавление колонок у табличного поля, достаточно, ЭлементыФормы.ТвоёТабПоле.СоздатьКолонки() и всё | ||
Ёпрст 14 - 01.10.20 - 11:10 | +13
// ЭлементыФормы.ТаблицаЗагрузки.Очистить();  // ЭлементыФормы.ТаблицаЗагрузки.Колонки.Очистить(); | ||
Ёпрст 15 - 01.10.20 - 11:11 | // КолонкаТаблицыНаФорме = ЭлементыФормы.ТаблицаЗагрузки.Колонки.Добавить(ИмяКолонки, ИмяКолонки); // КолонкаТаблицыНаФорме.Данные = ИмяКолонки; // КолонкаТаблицыНаФорме.Положение = ПоложениеКолонки.НоваяКолонка; |
|
Список тем форума |