|
v7: Добавление колонки в ТЗ | ☑ | ||
---|---|---|---|---|
0
Gera1t
07.06.22
✎
23:33
|
Здравствуйте!
Можно ли как то в 1С 7.7 добавить в ТЗ новую колонку и сражу записать в нее значение. Например: Есть ТЗ. Делаем цикл по справочнику номенклатура НаимНоменклатура = Выборка.Номенклатура.Наименование; ТЗ.НоваяКолонка(НаимНоменклатура,,,,,4); ТЗ.НаимНоменклатура = Остаток; Пишет ошибка НаимНоменклатура не найдена. Как обратиться к добавленной колонке? |
|||
1
vicof
07.06.22
✎
23:37
|
Говорят, у таблицы значений есть строки.
|
|||
2
Gera1t
07.06.22
✎
23:39
|
(1) Само собой до этого кода есть
ТЗ.НоваяСтрока(); |
|||
3
Gera1t
07.06.22
✎
23:39
|
ну т.е. сначала новая колонка, а потом новая строка. пример кода для наглядности
|
|||
4
vicof
07.06.22
✎
23:43
|
Ну и НаимНоменклатура в кавычки надо взять.
|
|||
5
Gera1t
07.06.22
✎
23:44
|
Если я напишу ТЗ."НаимНоменклатура" = то будет ошибка
|
|||
6
vicof
07.06.22
✎
23:46
|
ТЗ.НоваяКолонка("НаимНоменклатура",,,,,4);
|
|||
7
Builder
07.06.22
✎
23:47
|
(0) Идея - полная хрень.
Если будут названия с пробелом - все вывалится с ошибкой. Делай названия типа НаимКолонки = "Н"+Выборка.Номенклатура.Код; .. ТЗ.УстановитьЗначение(НаимКолонки,ТЗ.НомерСтроки,Остаток); |
|||
8
Gera1t
07.06.22
✎
23:47
|
Так в том и суть, мне нужно что вместо НаимНоменклатура название элемента справочника Номенклатура
|
|||
9
Gera1t
07.06.22
✎
23:48
|
(7) Спасибо, попробую
|
|||
10
Builder
07.06.22
✎
23:49
|
(8) Суть в том что название колонки не может быть с пробелом например. А наименование товара - может.
А зачем тебе название в колонке? Чем в строке не устраивает? |
|||
11
Gera1t
07.06.22
✎
23:50
|
Наверное лучше номенклатуру в строке, а в колонке склад
|
|||
12
Builder
07.06.22
✎
23:52
|
(11) Ну и еще вопрос - а нахрена это все в ТЗ пихать?
Что дальше с этим делать будешь? Может и не надо будет ТЗ городить.... |
|||
13
Gera1t
08.06.22
✎
00:03
|
На форму вывести нужно в виде таблицы
|
|||
14
Злопчинский
08.06.22
✎
01:01
|
(11) ясен пень, в таком виде твоя шахматы хоть и ублюдочно, но будет хоть как-то читаема
|
|||
15
Злопчинский
08.06.22
✎
01:04
|
(13) зачем? В чем практический смысл выводить на форму в ТЗ пусть даже всего два-три склада, но с тысячью строк-номенклатур.
Ну вывел. А дальше что? Надо хорошо подумать прежде чем такие штуки городить, скорее всего есть более вменяемое решение |
|||
16
Злопчинский
08.06.22
✎
01:08
|
Создавая новую колонка - ей можно указать идентификатор. По этому идентификатору будешь обращаться к значению в ячейке из.
Вместе с этим можно указать текстовый ЗАГОЛОВОК новой колонки, он будет отображаться на форме. В к |
|||
17
Злопчинский
08.06.22
✎
01:09
|
Открой для себя синтакс-помощник.
|
|||
18
Харлампий Дымба
08.06.22
✎
10:45
|
(0) Ну по коду просто ВСЁ неправильно.
>Делаем цикл по справочнику номенклатура >НаимНоменклатура = Выборка.Номенклатура.Наименование; Что за Выборка такая? Я так в не умею в семерке... >ТЗ.НоваяКолонка(НаимНоменклатура,,,,,4); А ты в цикле по товарам создаёшь под каждый товар новую колонку с наименованием равным наименованию товара? Что ж за таблица получится! >ТЗ.НоваяКолонка(НаимНоменклатура,,,,,4); Из всех возможных реквизитов создаваемой колонки тебя волнует только её ширина при отображении? >ТЗ.НаимНоменклатура = Остаток; Ну тут всё и так понятно. Так и не работает. Ну ты поковыряй формы списка справочника Номенклатуры в типовой торговле или бухгалтерии (на чем там у тебя конфа), посмотри как там вывод остатков сделан, и скопируй себе. Ну или: ТЗ=СоздатьОбъект("ТаблицаЗначений"); ТЗ.НоваяКолонка("Номенклатура","Справочник.Номенклатура",,,"Товар",20,,1);//заголовок - Товар, ширина в представлении - 20, представление значения в колонке - слева ТЗ.НоваяКолонка("Остаток","Число",,,"Остаток",10,"Ч0.3",2); ..Выбрать.. Пока ..Получить.. Цикл Если ...Устаивает... Тогад Тз.НоваяСтрока(); ТЗ.Номенклатура = ..Товар..ТекущийЭлемент(); ТЗ.Остаток = ..Остаток..; КонецЕсли; КонецЦикла Если надо по складам, тогда сначала создаешь колонки в цикле по списку складов ТЗ.НоваяКолонка("Остаток"+НомерСклада,"Число",,,"Остаток на "+ИмяСклада,,"Ч0.3",2);//где НомерСклада - может быть его код, если он уникальный, или номер в СпискеЗначений складов. Главное чтобы ты мог потом по складу его НомерСклада однозначно определить Потом в цикле уже Для .... Цикл//цикл по товарам ТЗ.НоваяСтрока(); ТЗ.Номенклатура=ТекТовар Для .... Цикл//цикл по складам НомерСклада=...; ОстатокТекТовараНаСкладе=... ТЗ.УстановитьЗначение("Остаток"+НомерСклада,ТЗ.НомерСтроки,ОстатокТекТовараНаСкладе); КонецЦикла;//по складам КонецЦикла;//по товарам Ну или открой для себя ВыгрузитьИтоги() Или Запрос и Выгрузить() |
|||
19
uno-group
08.06.22
✎
11:37
|
Может проще таблицу в режиме ввода данных юзать. там и пробелы нормально отображаются и переносятся и многострочное отображение поддержуется.
Вам это все для чего надо. |
|||
20
Злопчинский
08.06.22
✎
12:42
|
смотря для чего такой полукостыль надо для ТС
может проще - если так подойдет если просто для "посмотреть" - запихнуть все в ТЗ и вывести отчет шахматку через "универсальыне" отчеты. Формируем ТЗ ПЛОСКУЮ, нихера не думаем, вид ТЗ "Номенклатура, Склад, Остатток" - всё. подсовываем в https://infostart.ru/public/14794/ и выводим кликами мыши (можно и сразху настройкой задать программно) шахматку нужного вида. Хоть "Номенклатура-Склад", холть "Склад-Номенклатура", хоть в обычно плоском виде группировок... |
|||
21
Злопчинский
08.06.22
✎
12:42
|
.. но мне кажется что ТС зАпил с горя и бетон мешает... ;-)
|
|||
22
Злопчинский
08.06.22
✎
12:43
|
(0) ТС, ты это.. не грусти.. стучись если что в личку вечером - если нужно тебе это конечно - помогу, поясню по текущей ветке...
|
|||
23
АгентБезопасной Нацио
08.06.22
✎
13:12
|
(21) главное, чтоб не "его в бетон мешали"
|
|||
24
Gera1t
08.06.22
✎
15:47
|
Большое всем спасибо за советы!
Нужно это для интерактивности, Что бы тыкать в ячейки и менять данные на лету. |
|||
25
Злопчинский
08.06.22
✎
16:56
|
(24) но случится пичалька... если ты не предусмотришь доп.блокировки на запрет одновременной работы с таким фейсом от нескольких сессий...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |