0 / 0 / 0
Регистрация: 21.08.2008
Сообщений: 20
|
|
1 | |
Колонка типа "Булево" в динамически создаваемом отчете19.04.2010, 14:29. Показов 27873. Ответов 13
Метки нет (Все метки)
Помогите, пожалуйста!
Мне в отчет "Анализ заказов покупателей" в типовой УТ v8 нужно вставить столбик с "галочками", чтобы можно было выбирать определенную номенклатуру (т.е. нужно еще каким-то образом связать Номенклатуру с флажком), которая потом по кнопке "Сформировать заказ поставщику" попадала в ТЧ этого док-та. Причем сам отчет формируется "динамически"...
0
|
19.04.2010, 14:29 | |
Ответы с готовыми решениями:
13
Булево поле в отчете (СКД) Параметр типа булево и макет Колонка типа ТЗ в ТЗ. и все в рантайме Прозрачный фон в динамически создаваемом textbox-е |
0 / 0 / 0
Регистрация: 24.12.2008
Сообщений: 1,399
|
|
20.04.2010, 22:17 | 2 |
А если, например, добавить обработку расшифровки, и в момент щелчка определять координаты. Затем обращаться к номенклатуре в строке?
0
|
0 / 0 / 0
Регистрация: 21.08.2008
Сообщений: 20
|
|
21.04.2010, 00:54 | 3 |
Ну я пока придумала обработать событие ПолеТабличногоДокументаРезультатПриАктивизацииОбласти и заносить выбранную номенклатуру в отдельный список значений...,и окрашивать ее в какой-то цвет, но тут тоже есть проблемы... Почему-то при выборе ячейки поля один раз, это событие возникает 2 раза...(((
0
|
0 / 0 / 0
Регистрация: 22.04.2010
Сообщений: 38
|
|
22.04.2010, 17:07 | 4 |
может ОбработкаРасшифровки (DetailProcessing)
0
|
0 / 0 / 0
Регистрация: 21.08.2008
Сообщений: 20
|
|
28.04.2010, 11:34 | 5 |
Сообщение от kaa
Вот текст моей процедуры... т.к. событие возникает 2 раза для одной и той же ячейки, ничего не выделяется и не добавляется в мой список...((( Код
Процедура ПолеТабличногоДокументаРезультатПриАктивизацииОбласти(Элемент) Попытка Если ТипЗнч(Элемент.ВыделенныеОбласти[0]) = ТипЗнч(ЭлементыФормы.ПолеТабличногоДокументаРезультат.Область()) Тогда // ОбластьЯчеекТабличногоДокумента Номенкл = Элемент.ТекущаяОбласть.Расшифровка.Номенклатура; ЗеленыйЦвет = Новый Цвет(190, 245, 116); // зеленый БелыйЦвет = Новый Цвет(255, 255, 255); // белый Если Элемент.ТекущаяОбласть.Текст = Элемент.ТекущаяОбласть.Расшифровка.Номенклатура.Наименование Тогда Если Элемент.ТекущаяОбласть.ЦветФона = ЗеленыйЦвет Тогда Элемент.ТекущаяОбласть.ЦветФона = БелыйЦвет; Если Список.НайтиПоЗначению(Номенкл) <> Неопределено Тогда Список.Удалить(Номенкл); КонецЕсли; Иначе Элемент.ТекущаяОбласть.ЦветФона = ЗеленыйЦвет; Если Список.Количество() = 0 Тогда Список.Добавить(Номенкл); ИначеЕсли Список.НайтиПоЗначению(Номенкл) = Неопределено Тогда Список.Добавить(Номенкл); КонецЕсли; КонецЕсли; КонецЕсли; КонецЕсли; Исключение КонецПопытки; КонецПроцедуры
0
|
Bustyr
|
|
05.05.2010, 13:27 | 6 |
Я вот как бы забабахал... из этого можно сделать что угодно.
Я не знаю только как сделать, чтобы в форме отображались "флажки", и можно было по одному клику например менять значение. Вернее даже как, по одному клику возможно можно через ПриАктивизации, но просто пробовать не охота Я думаю пользователя не затруднит 2 раза покликать Сделано через ОбработкаВыбора З.Ы. потестил через при активизации, тоже все можно сделать без проблем ) Эт для ленивых пользователей, если им уж лень 2 раза кликать ) Отчет прикрепленный правда не обновлял, поэтому сами доделаете, если еще надо конечно Otchet2.erf |
0 / 0 / 0
Регистрация: 21.08.2008
Сообщений: 20
|
|
05.05.2010, 15:19 | 7 |
Сообщение от Buster
Я избегала двойного клика, т.к. он уже забит расшифровкой. И условие у меня еще было, что отчет формируется без фиксированного макета - динамически. В моем (более сложном) отчете в строчках присутствуют не только позиции номенклатуры, а так же есть группировка по Заказу покупателя, Договору к/а, контрагенту и т.д. в зависимости от выбора пользователя, поэтому, я думаю, что будет более сложным добавить подобный столбец "Включить в расчет", напротив каждой позиции товара... Свою идею я реализовала в процедуре ПолеТабличногоДокументаРезультатОбработкаРасшифровки, в случае: Если Элемент.ТекущаяОбласть.Текст = Элемент.ТекущаяОбласть.Расшифровка.Номенклатура.Наименование у меня при двойном нажатии ячейка окрашивается в зеленый и попадает в отдельный список, при повторном двойном нажатии на эту ячейку она снова красится в белый и эта позиция удаляется из списка. Этот список потом используется при формировании док. Заказ поставщику. Хотя пришлось из этой ячейки убрать расшифровку, но она осталась так же в строчке, которая содержит эту ячейку... так что вот.
0
|
Bustyr
|
|
05.05.2010, 16:31 | 8 |
Сообщение от Marija
|
0 / 0 / 0
Регистрация: 23.04.2010
Сообщений: 553
|
|
05.05.2010, 17:01 | 9 |
Сообщение от Marija
0
|
0 / 0 / 0
Регистрация: 21.08.2008
Сообщений: 20
|
|
01.07.2010, 15:42 | 10 |
Сообщение от Buster
Добавлено:
Сообщение от Darlock
Не особо пока представляю как это сделать...
0
|
0 / 0 / 0
Регистрация: 23.04.2010
Сообщений: 553
|
|
01.07.2010, 17:36 | 11 |
Сообщение от Marija
0
|
0 / 0 / 0
Регистрация: 21.08.2008
Сообщений: 20
|
|
13.07.2010, 11:11 | 12 |
Сообщение от Darlock
0
|
0 / 0 / 0
Регистрация: 23.04.2010
Сообщений: 553
|
|
13.07.2010, 17:46 | 13 |
Код ( (Unknown Language)):
Процедура ПолеТабличногоДокументаОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка) Если ТипЗнч(Расшифровка)=Тип("Структура") Тогда СтандартнаяОбработка = Ложь; Если Расшифровка.Тип="Меню" Тогда Сп = Новый СписокЗначений; Сп.Добавить(1,"Открыть заказ на автомобиль"); Сп.Добавить(2,"Открыть карточку клиента"); Сп.Добавить(3,"Оформить продажу"); Выб = ВыбратьИзМеню(Сп); Если Выб<>Неопределено Тогда Если Выб.Значение = 1 Тогда Расшифровка.Заказ.ПолучитьФорму().Открыть(); ИначеЕсли Выб.Значение = 2 Тогда Клиент = Расшифровка.Клиент; Если ТипЗнч(Клиент)=Тип("СправочникСсылка.Контрагенты") и не Клиент.Пустая() Тогда Клиент.ПолучитьФорму().Открыть(); Иначе Предупреждение("Клиент не выбран!"); КонецЕсли; ИначеЕсли Выб.Значение = 3 Тогда Д = Документы.ЗаказНаАвтомобиль.СоздатьДокумент(); Д.ОбработкаЗаполнения(Расшифровка.Заказ); Д.ХозОперация=Справочники.ХозОперации.ЗаказНаАвтомобиль; ФормаД = Д.ПолучитьФорму(); ФормаД.Открыть(); ФормаД.ДокументОбъект.Контрагент = Неопределено; ФормаД.ДокументОбъект.ОбработкаРеквизита("Контрагент",,ФормаД); ФормаД.ДокументОбъект.Заказчик = Неопределено; ФормаД.ДокументОбъект.ОбработкаРеквизита("Заказчик",,ФормаД); КонецЕсли; КонецЕсли; ИначеЕсли Расшифровка.Тип="Авто" Тогда А = Справочники.Автомобили.НайтиПоРеквизиту("VIN",Расшифровка.VIN); Если А = Неопределено ИЛИ А.Пустая() Тогда Предупреждение("Карточка автомобиля не найдена!"); Иначе А.ПолучитьФорму().Открыть(); КонецЕсли; ИначеЕсли Расшифровка.Тип="ПСО" Тогда А = Справочники.Автомобили.НайтиПоРеквизиту("VIN",Расшифровка.Заказ.VIN); Если А = Неопределено ИЛИ А.Пустая() Тогда Предупреждение("Карточка автомобиля не найдена!"); Иначе Ф = Документы.ЗаказНаряд.ПолучитьФормуСписка(); Ф.Отбор.ВидРемонта.ВидСравнения = ВидСравнения.Равно; Ф.Отбор.ВидРемонта.Значение = Справочники.ВидыРемонта.НайтиПоНаименованию("Предпродажная подготовка"); Ф.Отбор.ВидРемонта.Использование = Истина; Ф.Отбор.Автомобиль.ВидСравнения = ВидСравнения.Равно; Ф.Отбор.Автомобиль.Значение = А; Ф.Отбор.Автомобиль.Использование = Истина; Ф.Открыть(); КонецЕсли; ИначеЕсли Расшифровка.Тип="Заявки" Тогда А = Справочники.Автомобили.НайтиПоРеквизиту("VIN",Расшифровка.Заказ.VIN); Если А = Неопределено ИЛИ А.Пустая() Тогда Предупреждение("Карточка автомобиля не найдена!"); Иначе Ф = Документы.ЗаявкаНаРемонт.ПолучитьФормуСписка(); Ф.Отбор.Автомобиль.ВидСравнения = ВидСравнения.Равно; Ф.Отбор.Автомобиль.Значение = А; Ф.Отбор.Автомобиль.Использование = Истина; Ф.Открыть(); КонецЕсли; ИначеЕсли Расшифровка.Тип="Наряды" Тогда А = Справочники.Автомобили.НайтиПоРеквизиту("VIN",Расшифровка.Заказ.VIN); Если А = Неопределено ИЛИ А.Пустая() Тогда Предупреждение("Карточка автомобиля не найдена!"); Иначе Ф = Документы.ЗаказНаряд.ПолучитьФормуСписка(); Ф.Отбор.ВидРемонта.ВидСравнения = ВидСравнения.НеРавно; Ф.Отбор.ВидРемонта.Значение = Справочники.ВидыРемонта.НайтиПоНаименованию("Предпродажная подготовка"); Ф.Отбор.ВидРемонта.Использование = Истина; Ф.Отбор.Автомобиль.ВидСравнения = ВидСравнения.Равно; Ф.Отбор.Автомобиль.Значение = А; Ф.Отбор.Автомобиль.Использование = Истина; Ф.Открыть(); КонецЕсли; КонецЕсли; КонецЕсли; КонецПроцедуры
0
|
0 / 0 / 0
Регистрация: 21.08.2008
Сообщений: 20
|
|
14.07.2010, 10:56 | 14 |
Сообщение от Darlock
0
|
14.07.2010, 10:56 | |
14.07.2010, 10:56 | |
Помогаю со студенческими работами здесь
14
Предварительный просмотр изображений в динамически создаваемом списке Не работает вызов функции по событию onchange, при динамически создаваемом поле input. 2 колонки, где 1 колонка 2 строки, и 2-я колонка 1 строка высотой первой колонки Как в отчете Access центровать флажок ячейки логического типа? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |