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");
ИмяКолонки = Сред(ТекущаяОбласть.Имя, Позиция);
Возврат ИмяКолонки;
КонецФункции
|
|