v7: можно ли использовать таблицу отчет как Экселевскую таблицу #426864


#0 by sergei123654
Здравствуйте. не могу найти информацию о том можно ли использовать таблицу отчет как Экселевскую таблицу. Клиенту нужно что бы после формирования отчета, т.е. весь отчет построен, он мог его редактировать как в Экселе отчет выглядит примерно так: Товар    цена      % бонус    итог Сок       10                  10 клиент желает вписывать в каждый товар свой %бонус,т.е. он вписал % бонус и итог изменился: Товар    цена      % бонус    итог Сок       10          20       12 возможно ли редактирование таблицы(работали вычисляемые поля) отчета после ее построения?
#1 by ДенисЧ
Сохраняй в ексель и хоть заредактируйся...
#2 by Волшебник
Да, возможно.
#3 by ДенисЧ
А вообще - именно такую задачу - сделать можно. Правда, будет выглядеть не совсем как в екселе.
#4 by Delorn
а чем клиенту документ не подходит?
#5 by Волесвет
подвойному клику мыши, кнопочку типа расчет. установить значение области ... можно
#6 by genosse
Помогу автору дозадать вопрос :) ....Если можно, то как это сделать? Какими механизмами воспользоваться?
#7 by sergei123654
мне сказали ковыряться в регламентированых отчетах. там это работает. открываю отчет в конвигураторе, жму правой кнопкой на вычисляемую ячейку таблицы. в свойствах этой ячейки можно использовать формулу. в обычных отчетах такого нет. где можно посмотреть пример? не понял действительно волшебник!
#8 by Sadovnikov
С такими знаниями делать что-то клиенту? Интересно, а почему мне так жалко этого клиента?...
#9 by genosse
Тссс! Оффтоп пошел. Надо по делу тут.
#10 by Волесвет
дак и вряд ли поймешь пока сам не сделаешь...
#11 by Sadovnikov
Ты считаешь, что это не по делу? Ну-ну.
#12 by ДенисЧ
В ячейку пиши расшифровку, в ОбработкаЯчейкиТаблицы лови дубельклик, делай нужные действия, результат пиши в Таблица.Область(НужныйАдрес).Текст
#13 by Sserj
+12 Главное не забыть после этого повторить Таблица.Показать, иначе изменения не отразятся.
#14 by sergei123654
спасибо, буду вникать, в процессе отпишусь
#15 by ДенисЧ
Кстати, Показать зачастую не сработает..
#16 by Волесвет
Процедура ОбработкаЯчейкиТаблицы(Расшифровка, Флаг, Таб, Адрес) я б в этой все бы и мутил
#17 by viktor_vv
И без показать все нормально работает. Ты ж таблицу заново не формируешь.
#18 by Волесвет
вот нашел кусочек - эт считываешь со сформированной таблицы после того как туда внесли
#19 by genosse
Слово "зачастую" в программировании страшная, таинственная весч :)
#20 by ДенисЧ
Не в программировании, а в 1с :-)_
#21 by sergei123654
в ячейку %бонус добавил расшифровку ОбработкаЯчейкиТаблицы в модуле отчета создал процедуру ОбработкаЯчейкиТаблицы а вот как вытащить число из ячейки, пока как в тумане. но так то в травильном направлении двигаться начал?
#22 by Волесвет
не надо в ячейку % бонуса добавлять расшифровку там вообще надо снять защиту что бы вносить цифры а расшифровка эт для кнопки на табличном поле нажал на нее (у нее в расшифровке 25 стоит) 1 с так 25 значит делаем вот это ... и начала бежать по областям и считывать то что занесли... уф
#23 by viktor_vv
#24 by 1Сергей
А потом клиент захочет прибавлять бонус и отнимать скидку... Пусть сохраняет в ексель. +1
#25 by AcaGost
КонецПроцедуры Синтаксис: ОбработкаЯчейкиТаблицы(<Значение>,<ФлагСтандОбраб>,<Таблица>,<Адрес>) Назначение: Предопределенная процедура обработки ячейки таблицы (по двойному щелчку мыши или по нажатию клавиши ''Enter'' в табличном документе на выбранной ячейке). Параметры: <Значение> - здесь в процедуру передается вычисленное значение ячейки (задается в конфигураторе: ''Свойства'' ячейки, ''Текст'', ''Значение''). <ФлагСтандОбраб> - флаг обработки ячейки: установка в 1 приведет к выполнению стандартной обработки значения ячейки по завершении процедуры (открытию документа, элемента справочника и т.п.). <Таблица> - необязательный параметр. Имя переменной, куда система передаст объект типа ''Таблица''. С помощью значения этого контекста можно произвольно манипулировать данной таблицей, пока она открыта. Пока данный объект ''Таблица'' существует,  тип значения данного параметра равен 100, если закрыта - 0. <Адрес> - необязательный параметр. Имя переменной, куда система передаст адрес ячейки/объекта в формате ''R1C1:R2C2''. Замечание: Объект типа ''СписокЗначений'' может записываться в поле ''значение'' ячейки таблицы и использоваться затем процедурой ОбработкаЯчейкиТаблицы. Важно! Если данная процедура описана в модуле формы, то вызывается она, иначе система запускает одноименную процедуру из глобального модуля. Внимание! Данная предопределенная процедура НЕ вызывается при выборе ячейки таблицы в режиме ввода данных. Для этого случая вызывается предопределенная процедура ПриВыбореЯчейкиТаблицы.
#26 by viktor_vv
А еще наврное надо будет куда-то писать. Следующий вопрос, а как то, что изменили, записать в справочник или в документ.
#27 by AcaGost
Ну и пусть. У меня в таблице оператор корректирует автоматом созданные заказы и , по нажатию "Сформировать", формирует отгрузку или перемещение, в зависимости от того, кому, своей аптеке или чужой.
#28 by genosse
Во-первых клиент "хочет так", а он всегда прав :) А во-вторых автору практика не помешает, а это только в плюс.
#29 by Sserj
Ничего не могу сказать по этому поводу. Но сколько раз возился, просто установка текста в уже выведенную таблицу не обновлялась. Тобишь пока Таб-е, переданной в ОбработкуЯчейкиТаблицы, не скажешь Таб.Показать, ничего не изменялось.
#30 by viktor_vv
Тогда тоже не знаю, но у меня в локальной ОбработкаЯчейкаТаблицы нигде нет Таб.Показать и работает. Наверное прав по поводу зачастую :).
#31 by AcaGost
А чтож ты хотел?
#32 by AcaGost
#33 by viktor_vv
Теперь понял. Это когда менятся значение нескольких ячеек в строке. Например при вводе значения ячейки через ВвестиЧисло и пересчет и установка значений в соедних ячейках в этой же строке, тогда без показать работает. Скорее всего метод срабатывает автоматом по текущей строке. Если в цикле по колонке менять, без показать и потом курсором по этой колонке пройтись, то значения постепенно появляются по мере активизации ячеек.
#34 by sergei123654
Кудесники 1С! у кого есть свободное время - ПОМОГИТЕ РЕШИТЬ ЗАДАЧУ ПОШАГОВО! все чего я добился - при нажатии двойным щелчком на любую ячейку таблицы, она реагирует сообщением. делаю так: в ячейку ИТОГО добавляю расшифровку "Адрес"# в модуле пишу процедуру знаю написан полный бред, помогите разобраться куда шагать
#35 by genosse
в "Значение" - передается поле "расшифровка" твоей ячейки... Можешь туда передавать сразу тот объект в базе куда запишешь данные о бонусе имеется ввиду документ или справочник... После того как получаешь его в эту процедуру, организуй диалог ввода значения и записывай его в полученный справочник или документ... Далее можешь снова вывести всю таблицу, если она строится быстро, если она строится долго то меняй область...
#36 by sergei123654
Спасибо вам волшебники! у меня получилось! ХЗКНР!!! в общем код может и не сообтветсвует каким то стандартам, но главное работает, то что требовал клиент сделал так: Перем таб Экспорт; КонецПроцедуры ..........................................и далее код построения отчета эффект такой - ввожу в %бонуса число и при нажатии в параллельную ячейку, т.е. в ячейку ИТОГО выходит результат. будем ждать клиента с желанием из и других Всем спасибо за помощь!
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С