#0
by Wobland
Исходная задача: показать диаграмму, используя в качестве данных свою ТЗ. Почему так и нельзя ли сделать по-человечески пока трогать не будем, просто есть ТЗ. Как это сделать? Берём СКД, подсовываем ей в качестве объекта нашу ТЗ - опля, готово. Это была преамбула, амбула такова. "Подсовывание" и все последующие действия делаются программно. Соответственно, нужна своя кнопка. Плюс свойство у формы Автоотображение состояния. Коллега утверждает, что такие вот вещи - это "костыль", ибо мы не победили отчёт, а убрали/подменили лишнее своим. Теперь вопрос: своя кнопка Сформировать и запрет отображения состояние - это костыль или использование штатных механизмов СКД?
#0
by Wobland
Исходная задача: показать диаграмму, используя в качестве данных свою ТЗ. Почему так и нельзя ли сделать по-человечески пока трогать не будем, просто есть ТЗ. Как это сделать? Берём СКД, подсовываем ей в качестве объекта нашу ТЗ - опля, готово. Это была преамбула, амбула такова. "Подсовывание" и все последующие действия делаются программно. Соответственно, нужна своя кнопка. Плюс свойство у формы Автоотображение состояния. Коллега утверждает, что такие вот вещи - это "костыль", ибо мы не победили отчёт, а убрали/подменили лишнее своим. Теперь вопрос: своя кнопка Сформировать и запрет отображения состояние - это костыль или использование штатных механизмов СКД?
#3
by Cube
Голосовалку прикрути)))))))) Своя кнопка "Сформировать" - это не костыль. Самолеты летают на автопилоте, но можно ведь и вручную управлять - это тоже костыли?)
#8
by Любопытная
Меня закидывайте, я оппонент. К сожалению, решить проблему я не смогла, пришлось изворачиваться. Нифига это не штатно - прятать стандартные кнопки и вместо них свои рисовать.
#9
by Любопытная
Ты не то сравниваешь. Представь, что тебе надо перепрограммировать автопилот. Но ты не смог этого сделать, поэтому прикрутил свой, а кнопку для включения дефолтного закрасил в цвет панели, чтобы летчик не увидел. Считаешь это нормальным решением?
#11
by Cube
Хорошо, погнали в эту тему. Ты не доконца рассказала историю. Ведь автопилот не получилось запрограммировать не потому, что умений не хватило, а потому, что это самолет для авиашоу в честь ВВС - нужно всякие бочки вертеть, мертвые петли и т.п. Автопилот не справится, нужно ручное управление. Это не костыли.
#13
by Wobland
конструкторы автопилота не могут в принципе предусмотреть всяческие бочки, мёртвые петли и т.п. поэтому умелый пилот берёт напильник, допиливает автопилот на земле под себя и спокойно взлетает
#14
by Cube
Ну, возможно, твоё кунг-фу ещё не достаточно сильное, чтобы убивать противника с одного удара и приходится бить два раза, но это всё равно кунг-фу. Ты же не бьешь противника костылем... :)
#16
by Конфигуратор1с
не совсем правильный подход. Заполнение скд из таблицы значений рисуется программно, в чем костыль? было бы у скд реквизит - брать данные из этой таблицы, было бы другое дело.
#17
by Cube
А ручное управление самолетом - это не штатная функция управления самолетом что-ли?)) Я же свои тросики для управления закрылками не протягиваю. Все рычаги и кнопки с завода изготовителя... Всё штатно.
#18
by Любопытная
Хорошо. Тогда расскажите мне, гуру-специалисты. Для чего используется метод ПриКомпоновкеРезультата, предусмотренный в модуле отчета?
#19
by Cube
Ну как тебе объяснить... Вот для чего используется метод ПриОткрытии в формах? Однозначного ответа нет. Так и тут. Для чего приспособишь, для того и будет. Ну вот, например:
#20
by Любопытная
Этот метод отрабатывает при нажатии стандартной кнопки Сформировать. Почему оттуда у меня отчет не формируется? Код проходит без ошибок, но отчет не формируется
#23
by Megas
Не костыль конечно, любой более менее сложный отчёт на СКД приходится выводить программно. В типовых говорят сплошь и рядом (БП 8.2)
#25
by SoulPower
+ Насчет отображения состояния не костыль кстати. Но вот нафига кнопку рисовать не ясно.
#26
by Любопытная
Естественно! Я процедуру заполнения ТЗ перетащила в модуль объекта и она чудесно заполняется. Я же говорю - код отрабатывается без ошибок, но результата не дает
#27
by Wobland
кнопку я придумал, чтобы генерировать ТЗ и отдавать её в СКД. можно без своей кнопки?
#36
by Wobland
-откуда у тебя СКД прознало про твою ТЗ? -она реквизит отчета. -какую из имеющихся брать? -которую я сказала -откуда ты это сказала?
#37
by Любопытная
Ну так может кто-нибудь поможет разобраться ПриКомпоновкеРезультата? Хочу таки через нее отчет вывести
#39
by Любопытная
Я заполнила ТЗ, потом подложила это ТЗ в ВнешниеНаборыДанных.Вставить. Разве не так?
#41
by Cube
Собсна этим, надеюсь, я ответил на все вопросы: Файл отчета без формы, но с внешним набором данных: А вот и единственная процедура из модуля этого отчета:
#42
by Cube
+ Абсолютно то же самое, можно сделать в форме отчета, нарисовав свою кнопку "Сформировать". И оба этих варианта - штатные механизмы. Никаких костылей тут нет и быть не может.
#53
by Cube
Да пожалуйста, я не против) Просто я взял свой старый отчет со своей кнопкой "Сформировать" и внешним набором данных и скопипастил код.
#56
by Любопытная
Всем грандиозное спасибо! , отдельное спасибо за наводку! Макс, спасибо за ветку! :-*
#60
by Wobland
я вот тут подумал... до этого я делал свою кнопку, заставлял её работать по-своему. а можно проще - перехватить компоновку, наделать там нужного и отдать обратно. так что ...
#62
by Cube
А какая разница, где мы это делаем? Механизмы юзаем одни и те же. Так что, это одно и то же.
#65
by PiVa123
Если бы еще показали - как впихнуть эти самые "ВнешниеНаборыДанных", а остальное не делать (т.е. Вывод - пусть сам делается) тогда было бы круто.
#68
by Wobland
в первом случае я вотнул свой рычаг и перевязал на него тросики, во втором случае я (ты) подшаманил под приборной панелью, чтоб тот же тросик и тот же рычаг чуть по-другому работали... не?
#69
by Cube
То есть, если ты сначала чай налила в кружку, а потом сахару насыпала, а я сахар сыплю одновременно с наливанием воды, то у меня костыли, а у тебя типовой функционал? Ну-ну))
#71
by Любопытная
Если тебе так хочется - да, ты умнее меня. Гордись этим, но я останусь при своем мнении
#72
by Cube
Что-то разговор не в то русло пошел... Никто никого не умней. Какие есть способы впихать свою ТЗ в СКД? Он один. И при подмене кнопки и в процедуре мы делаем одно и то же - мы не используем автоматический вывод отчета, мы пишем свой вывод. Но это штатная функция, так задумано разработчиками платформы. Поймите, в обоих вариантах происходит абсолютно одно и то же.
#73
by Wobland
>происходит абсолютно одно и то же не спорю, только как-то перехват события выглядит элегантней, нежели своя кнопка имхо
#74
by Любопытная
Я понимаю, что происходит одно и тоже. Я понимаю, что есть вариант, когда используется стандартная команда, а есть не очень красивый вариант с перерисовыванием кнопок и изменением свойств элементов формы. Телодвижений больше получается
#75
by Cube
Не, я тоже считаю, что в процедуре красивее, но вопрос-то был что своя кнопка "Сформировать" это костыль или нет? Я считаю, что своя кнопка "Сформировать" это тоже самое, что написать "СтандартнаяОбработка = Ложь;" в какой-нибудь предопределенной процедуре. Поэтому, если кнопка "Сформировать" это костыль, то все конфигурации на костылях))
#77
by Cube
Ну почему же? Вот смотри: 1). Своя кнопка "Сформировать". Мы отказываемся от автоматической обработки нажатия на эту кнопку и пишем свою процедуру. 2). "СтандартнаяОбработка = Ложь;". Этим мы отказываемся от автоматической обработки этого метода и пишем свой код. Ну, 1 и 2 не похоже совсем?)) Ну что, ни капельки? Ну ё-маё... :)))
#78
by Wobland
Костыль — средство добавления недостающей функциональности или исправления серьёзных дыр без должного редизайна системы. если принять это определение, то да, вся конфигурация на костылях ;)
#79
by Wobland
Синонимом кода, состоящего из костылей чуть более, чем полностью, является индусский код. ох уж мне эта 1С...
#80
by Cube
В нашем примере происходит добавление функциональности, которое не требует редизайна системы, поэтому под статью "Костыль" наш пример не попадает, за отсутствием состава преступления))
#83
by SoulPower
1)Мы отказываемся от автоматической обработки нажатия на эту кнопку и пишем свою процедуру. 2)Мы не отказываемся и ничего не пишем. Пользуемся стандартным механизмом. Так что это скорее не костыль, а
#84
by Любопытная
Это одинаково в том случае, если мы не будем прятать стандартную кнопку. А если прячем, тогда уже не одинаково
#86
by Cube
"Мы не отказываемся и ничего не пишем. Пользуемся стандартным механизмом." То есть, ты утверждаешь, что после строки "СтандартнаяОбработка = Ложь;" у тебя отрабатывает стандартный механизм? вот это новости... А попоробуй-ка эту строку убрать и удивишься... :)
#96
by SoulPower
Причем тут "СтандартнаяОбработка = Ложь;"? Что ты приплетаешь абсолютно несвязные вещи. Ты убрал стандартную кнопку и прописал её действие заново. Хотя мог обработать стандартное событие ПриКомпоновкеРезультата. Это по-твоему аналог, того что ты в стандартном обработчике пишешь "СтандартнаяОбработка = Ложь;"? Ты кнопку лишнюю кнопку зачем-то нарисовал. По-моему это велосипед.
#97
by Cube
Вот именно: "убрал стандартную кнопку и прописал её действие заново" против "отказался от стандартной обработки процедуры и прописал её действие заново". Что там мы отказываемся от стандартной обработки, что здесь - одно и то же.
#98
by SoulPower
Если для тебя одно и тоже, то ок. Не вижу смысла спорить, рисуй дальше свои кнопки.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- СКД: СКД. Понимает ли СКД ссылки на МенеджерВременныхТаблиц?
- СКД: СКД. Как задать устанавливать параметры вложенных схем СКД?
- СКД: Вопрос по СКД. Действие Сформировать
- СКД: v8: Как в СКД в отбор добавить Подразделение текущего пользователя
- СКД: СКД: Программное обращение к полям группировки СКД
- СКД: Как программно запустить компоновку вместо кнопки "Сформировать"?
- СКД: СКД. Как переоределить действие кнопки "Сформировать" отчета, созданного в СКД?
- СКД: Как "отловить" программно нажатие кнопки "Стандартная настройка" в настройках СКД
- Обработчик кнопки Сформировать
- Можно ли перехватить нажатие кнопки сформировать в форме обработки СКД?
- Поведение стандартной кнопки "Записать и закрыть" на управляемой форме
- переключатель не сохраняет свое положение при повторном открытии формы
В этой группе 1С
- Закрашивание ячейки в макете
- скд. вывод 2х таблиц
- v7: УдалитьПроводку выдает Недопустимая операция - причина ?
- v7: Неверный индификатор (идентификатор)
- v8: Необходимо печатать на одном принтере, но из разных лотков
- отправка html с картинками в теле письма в УТ
- Заявка на наличные (банковская карта)
- УТ 11 не появляется кнопка ввод на основании
- в поле формы выбираются несколько значений
- ОбъектКоллекции в конвертации данных
- Свертка Бухгалтерия предприятия, редакция 2.0
- Поведение колонок табличной части в УФ
- Модуль обмена данными для Win7 x64 nkeyinst
- УниверсальныйОбменДаннымиXML. Отбор построителем.
- В ЦУП не выбрать центральный сервер при добавлении базы
- УПП: Передача продукции из производства на склад
- ЗУП. Обособленное подразделение. Договорники.
- "Свой" макет оформления компоновки данных "не попадает" в Другие настройки
- Выгрузка данных из УТ 10.3 в бух 2.0
- Отчет по регистру "НДС предъявленный"