|
1С8.2 Вопрос:чтение/запись в нескольких именован.ячейках ПоляТабличногоДокумента | ☑ | ||
|---|---|---|---|---|
|
0
olmi
01.09.14
✎
23:49
|
Прошу прощения за новую тему - старая закрылась для дозаписи почему-то.
Задача: в отчете по остаткам на складе отметить нужные товары и по кнопке сформировать документ ПеремещениеТоваров с этого склада. Данные по товару хранятся в расшифровке, структурой. Отчет выведен в ПолеТабличногоДокумента. Пока могу создать документ только по 1 строке, просто обработкой расшифровки, в 8.2 работаю недавно. Добавила колонку Пометка,в которой при выделении хочу ставить или снимать галочку (можно и просто в порядковом номере цвет фона менять, наверно). Расшифровку вставила во все ячейки, т.к. пока не умею на всю строку ее распространять. Пробовала так: Процедура ПолеТабличногоДокумента1ОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; Если СокрЛП(Элемент.Области.Пометка.Текст)="" Тогда Элемент.Области.Пометка.Текст="V"; Иначе Элемент.Области.Пометка.Текст=""; КонецЕсли; КонецПроцедуры - галочка записывается в последнюю ячейку в этой колонке таблицы. Как выбрать текущую, выделенную? Вытащить отсюда расшифровку по строке? Но как перебрать строки таблицы с галочкой в ПолеТабличногоДокумента для заполнения строк по нескольким товарам в док.ПеремещениеТоваров? По кнопке, конечно. |
|||
|
1
Галахад
гуру
02.09.14
✎
05:05
|
Примерно так:
ТабДок = ЭлементыФормы.ПолеТабличногоДокументаРезультат; ИмяКолонкиНоменклатура = ИмяКолонкиПоЗаголовку(ТабДок, "Номенклатура"); ИмяКолонкиЗаказ = ИмяКолонкиПоЗаголовку(ТабДок, "Заказ"); СоставЗаказа = Новый ТаблицаЗначений; СоставЗаказа.Колонки.Добавить("Номенклатура"); СоставЗаказа.Колонки.Добавить("Количество"); Для Сч = 2 По Результат.Количество() + 1 Цикл Количество = ТабДок.Область("R" + Сч + ИмяКолонкиЗаказ).Текст; Номенклатура = ТабДок.Область("R" + Сч + ИмяКолонкиНоменклатура).Расшифровка; Если Количество = "" Тогда Продолжить; КонецЕсли; СтрокаСоставЗаказа = СоставЗаказа.Добавить(); СтрокаСоставЗаказа.Номенклатура = Номенклатура; СтрокаСоставЗаказа.Количество = Количество; КонецЦикла; СформироватьЗаказ(СоставЗаказа); |
|||
|
2
Галахад
гуру
02.09.14
✎
05:06
|
Функция ИмяКолонкиПоЗаголовку(ТабДок, КолонкаЗаголовок)
ТекущаяОбласть = Неопределено; ТекущаяОбласть = ТабДок.НайтиТекст(КолонкаЗаголовок, ТекущаяОбласть, ТабДок.Область(), Истина, Истина, Истина, Ложь); Позиция = Найти(ТекущаяОбласть.Имя, "C"); ИмяКолонки = Сред(ТекущаяОбласть.Имя, Позиция); Возврат ИмяКолонки; КонецФункции |
| Форум | Правила | Описание | Секции | Поиск |