Шаблон обработки (1.0 / 29.05.12 / CaSH)

0. Олег Шалимов (CaSH_2004) 344 29.05.12 01:29 Сейчас в теме
Один из кирпичиков при помощи которого можно быстро улучшить свою обработку: стандартизировать, добавить ссылки на страничку разработки и свою собственную, добавить поддержку версий с автоматическим уведомлением о более новой версии

Перейти к публикации

Комментарии
1. Альтаир (Altair777) 639 30.05.12 15:30 Сейчас в теме
Автор, а Вы прогоняли текст публикации в Ворде? ;)

о некоторой стандартизаци
которые непроизвольно начинаеш
хочеться "воткнуть" в свои
а если потребуеться
У многит тут
то ли просто не заморачиваються
соответственно бешенно популярны
которые думаю всем понравяться
предопределенныых полей в обработках
без пробелов с заглавнми буквами
знает как часто нехватает
ведь часто забываеш
не всегда есть время заходить и плючовать
Вобщем решил я
предположим у нас есть команданая панель
а вот процеду рнаплодилось
но только выполяем
т.к. накладываеться
то мы избавимься
при этом не сильно награмождая
Устанавливает заголовок вормы
по единому образцу из методанных
для возможности сравнния
Имейти ввиду
Кстати нуерация версий должна быть такой


И это еще не считая 5 десятков недостающих запятых и 2 десятков прочих стилистических ошибок.
mefio; iov; +2 Ответить
4. Олег Шалимов (CaSH_2004) 344 30.05.12 20:08 Сейчас в теме
(1) Вообще-то я накидал это в полночь за 1 час, так что было не до Word'а. А по существу согласен с критикой, просто если бы не сделал тогда потом руки бы не дошли точно т.к. делал по настроению, а так буду вылизывать статью т.к. уже выложил и деваться некуда :)

(2) Хотя в принципе правильное замечание и я с ним согласен, но в (3) примерно сказали то что я бы сказал по другому т.к. не собираюсь пока на управляемые формы:
сделано потому как передача в модуль есть просто создание дополнительной процедуры-перенаправления, т.к. действия ведуться непосредственно с формой и их реально мало и нет смысла сокращая код в одном месте раздувать его в другом. В Модуль я засовываю обычно то что можно использовать повторно в других местах, типа Экспорта, а вызывать переход на сайт проще сделать там где вызвал т.к. одну строку кода (а там в основном именно так) не имеет смысла вызываь через Экспорт. Вобщем я бился за компактность

Если есть конкретные предложения с удовольствием выслушаю.
2. Альтаир (Altair777) 639 30.05.12 15:34 Сейчас в теме
И по самой публикации - "Все что можно я выкидываю с модуля формы в модуль обработки"
А почему процедура РаботаССайтом(Кнопка) в форме, а не в модуле? Не умеете обратиться к реквизитам формы из модуля обработки?
3. Yaroslav (maddy) 16 30.05.12 17:14 Сейчас в теме
(2) Altair777, Логично же -- клиентский код на стороне клиента! :)

Резюмируя: надо уже переходить на управляемые формы b "чтобы небыло мучительно больно" разделять клиентский и серверный код даже в обычных формах.
5. Олег Шалимов (CaSH_2004) 344 30.05.12 20:10 Сейчас в теме
(3) Интересно что я пришел к тому же выводу исходя вроде-как из других принципов. С управляемыми формами вообще не работал и даже ткорию не сильно читал - только общую. Так что размещение функционала происходила согласно его логике.
9. Erne100 (Erne100) 214 31.05.12 14:45 Сейчас в теме
(2) Altair777, Как раз таки она на месте. Где ж как не на клиенте собираетесь запускать приложение?
10. Альтаир (Altair777) 639 31.05.12 17:42 Сейчас в теме
(9) Erne100, а при чем тут вообще это?!

В (3) была написана шутка (возможно, глупая). А потом ее тупо обыгрывают.
Внимательно читайте что написано в 2.
22. Erne100 (Erne100) 214 11.06.12 07:22 Сейчас в теме
(10) Altair777, а где тут(3) шутка?
Внимательно читайте код и поменьше минусуйте не подумав))
Поясню:
ЗапуститьПриложение("http://www.infostart.ru/");

логичнее выполнять на клиенте, а в управляемом приложении
вообще нельзя корректно выполнить на сервере
(если конечно клиент и сервер не на одной машине).
То же самое можно сказать и про:
IE = Новый COMОбъект(СтрокаОбъекта);

Вообще странно, что именно Вы(с Вашим опытом) этого не увидели.
И потому на шутку больше похожа ваша придирка к чужим словам (2).
К первому(1) Вашему посту претензий нет - Вы же модератор.
Но во втором, похоже, Вы увлеклись.
23. Альтаир (Altair777) 639 12.06.12 12:05 Сейчас в теме
(22) Erne100, очередной бред...
Есть разница откуда это запускать - из модуля обработки или из модуля формы обработки? В 2 речь шла именно об этом.

И хватит говорить про управляемое. Данная обработка написана для обычного.
24. Erne100 (Erne100) 214 12.06.12 13:59 Сейчас в теме
(23)
Есть разница откуда это запускать - из модуля обработки или из модуля формы обработки?

В том и дело что нет разницы в данном случае(в обычном приложении).
А есть смысл тащить клиентский код на сервер?
Он был бы, если бы стояла цель скрыть код (модуль формы до сих пор платформой скрыть нельзя).

З.Ы. Возможно мой мозг окончательно повернулся в сторону управляемых)))
25. Альтаир (Altair777) 639 12.06.12 14:26 Сейчас в теме
(24) Erne100, > В том и дело что нет разницы

Ну... а я про что говорил в (2) ?!
В моем понимании в модуле формы должны находиться процедуры, непосредственно связанные с управлением формой. Не путать с управляемым приложением!
Остальное лучше всего вынести в модуль обработки. Имхо, это будет логично. Особенно, при разработке сложных, "навороченных" отчетов.

Посмотрите любой отчет в типовых. Где находится "стандартная" процедура "СформироватьОтчет"?
6. Юрий Матвеев (mtv:)) 979 31.05.12 11:15 Сейчас в теме
(0) CaSH_2004,
на твою просьбу:"Также буду благодарен всем кто предложит удобные фишки для реализации в шаблоне (пока на уме только переоткрытие)" - советую заглянуть в публикацию Коллекция полезных кнопок и процедур для отчетов и обработок v2.02. Может какие-нибудь фишки из нее тебе понравятся и подойдут...
7. Олег Шалимов (CaSH_2004) 344 31.05.12 13:54 Сейчас в теме
(6) Как раз вчера лазил и "открыл" ее для себя заново, т.е. я и раньше видел, но тут второпя я совсем забыл про нее.
Думаю нужна просто ссылка, т.к. кроме "перезагрузки" все остальное спецефичное для отчета например, т.е. просто каркас идей, а не готовый шаблон
Кстати еще вчера удивился почему из кнопок редактирования ТабДокумента у тебя только самая сложная - "фиксация", я так у себя весь комплеект вставил (даже черно/белый режим - некоторым он пригодился)
11. Алексей Ко (Жолтокнижниг) 239 01.06.12 16:22 Сейчас в теме
Поповоду проверки версии, а может парсить страничку регуляркой? Но как я понял получишь дату изменения публикации, условно ее можно считать датой изменения обработки
12. Олег Шалимов (CaSH_2004) 344 01.06.12 19:22 Сейчас в теме
(11) Конечно можно, но
1. разбираемый текст примитивен и не стоит того
2. честно говоря не успел заняться регуляркой - руки не доходят плотно изучить, а копи-пастить неохота
14. Алексей Ко (Жолтокнижниг) 239 02.06.12 21:58 Сейчас в теме
(12)
разбираемый текст примитивен
что ты понимаешь под примитивен? пробовал исходник странички посмотреть?
не стоит того
почему же? получишь универсальный метод.
13. Александр Зубцов (iov) 363 02.06.12 18:31 Сейчас в теме
(0)исправлено - претензий нет.
16. Олег Шалимов (CaSH_2004) 344 03.06.12 00:40 Сейчас в теме
(13)
Совпадение?
А то как же! Публикацию читал хоть? Все честно скопировано у других авторов, или ты предлагаеш самому все картинки рисовать? Код скопирован тоже у них, они его в свою очередь скопировали еще у когонибудь (кое-кто даже не подправив и при этом еще и урезал функционал :)
В публикации указано что:
Далее я подглядел у alexk-is что очень удобно когда можно прямо из обработки перейти на ее страничку или страничку автора ведь часто забываеш где взял обработку и для чего она. У milkers взял то что прямо из обработки можно за нее плюсануть, т.к. не всегда есть время заходить и плюcовать когда много обработок.

Или ты любитель только картинки разглядывать?

Вобщем статья не претендует авторство или новаторство, она призывает к "некому стандарту качества/удобства", чтобы красиво и подробно все расписать пока не набрался вдохновения, но собираю потихоньку.
Уже сильно расширил функционал, но без описаловки стремно выкладывать.
Все авторы у кого что взял будут честно указаны, так что советуйте что на ваш взгляд является удобным.

(14) Я имел ввиду сам текст, а не исходник. Р-р-ребята я не в курсе что для этого нужно исходники смотреть, постараюсь оглядываться :)

(15) Спасибо за 0,5 - конечно попробую, а то так как есть оно тормозит прилично. Как я уже сознался содрал это у alexk-is и думал что так и надо, но я не против новых фокусов
18. Александр Зубцов (iov) 363 03.06.12 01:25 Сейчас в теме
(16)исправлено - претензий нет.
20. Олег Шалимов (CaSH_2004) 344 03.06.12 11:17 Сейчас в теме
(18) ответ смотри в личке

Москва не сразу строилась, а ты хочеш чтобы хопа - и все красиво и удобно и бесплатно! Чем-то приходиться жертвовать. Я тоже за красивое описание, но еще больше за красивый код (функциональный, универсальный, легкодорабатываемый и читаемый)
Проведем опрос (не знаю как это сделать правильно). Какой вариант лучше:
1. Очень мало публикаций, но все качественно оформленные, появляются раз в месяц-другой (при этом мне кажеться что ресурс загнеться)
2. Пбликаций много, но оформление страдает, появляются каждый день по несколько, авторы выкладывают идеи, критики их пилят :) потом авторы дорабатывают (это как сейчас - ресурс живет и очень даже)

Далее: программное добавление кнопок это первое что пришло мне в голову, однако есть проблема с картинками,
1. некогда их загонять в архив и вытягивать оттуда,
2. и разработчику так будет сложнее внедрять чем просто скопировал меню и все
Так что идея пока бесперспективная

(19) Я тоже задумался как можно закачать обновление, было бы супер
Давай идеи в студию и про рабочий код не забывай! Спасибо за уделенное внимание поднятой проблеме стандртизации!
21. Александр Зубцов (iov) 363 03.06.12 20:26 Сейчас в теме
(20) а ты хочешь дать палец на халяву и не боятся что его либо обосрут либо по локоть отхватят?
Тыж на ресурсе программистов тут платить друг другу то не хотят... А потыкать в чужие ошибки - вообще за развлечение... Статью исправил - молодец - комментарии я убрал - претензий нет. Ждем от тебя следующей публикации.
15. Алексей Ко (Жолтокнижниг) 239 02.06.12 22:35 Сейчас в теме
соединение=новый HTTPСоединение("infostart.ru");
файл=ПолучитьИмяВременногоФайла();
соединение.Получить("public/20017/",файл);
тд=новый ТекстовыйДокумент;
тд.Прочитать(файл);
РегулярноеВыражениеX=Новый COMОбъект("VBScript.RegExp");
РегулярноеВыражениеX.Global = Истина;
РегулярноеВыражениеX.IgnoreCase = Истина;
РегулярноеВыражениеX.MultiLine = Истина;
РегулярноеВыражениеX.Pattern="<span class=""tool mdate"">\[(.+?)\]</span>";
наборы=РегулярноеВыражениеX.Execute(тд.ПолучитьТекст());
Сообщить(Дата(наборы.Item(0).SubMatches(0)+":00"));
Показать


Время выполнения 0,565 сек.
the1; bambr1975; +2 Ответить
17. Олег Шалимов (CaSH_2004) 344 03.06.12 00:57 Сейчас в теме
(15) Ну вот проверил код, занимательно (в итоге получаю дату), но получается что с твоей подачи нужно все таки изучать регулярку. А я так хотел этого избежать, так что или выложи пожалуйста работоспособный код, или ждем пока я найду время это переварить. Как никак это все твориться в свободное время, а работы завались
19. Алексей Ко (Жолтокнижниг) 239 03.06.12 01:49 Сейчас в теме
А я так хотел этого избежать, так что или выложи пожалуйста работоспособный код, или ждем пока я найду время это переварить
регулярки вещь хорошая, как то давненько их юзал, а тут опять свое применение нашли, советую изучить, времени немного потратишь, а профиту немерено, правда если не злоупотреблять. по поводу роботоспособного кода, ето уже когда свое доделаю могешь посмотреть, понравилась твоя идея с обновлением с сайта, попытаюсь к себе применить. Надо придумать как хранить время последнего обовления
26. Erne100 (Erne100) 214 12.06.12 18:33 Сейчас в теме
В пылу дискуссии чуть не забыл главное - поставить плюс автору шаблона.
27. Андрей Овсянкин (Evil Beaver) 4336 26.11.12 17:34 Сейчас в теме
Интересная штука. Обработка отличная, работа проделана колоссальная, но стиль кода!!! Я плакал кровавыми слезами когда все это увидел!
Почему, почему такой спагетти-код, переменные с именами "ы" и "ъ", которые нигде к тому же не используются? Почему перебор колонок табличного макета делается так:
ЗначениеЯчейкиСинонима=Лев(Ячейка.Имя,Поз)+Строка(Число(Прав(Ячейка.Имя,СтрДлина(Ячейка.Имя)-Поз))+4);
ЗначениеЯчейкиИндексаКартинки=Лев(Ячейка.Имя,Поз)+Строка(Число(Прав(Ячейка.Имя,СтрДлина(Ячейка.Имя)-Поз))+3);


Зачем эти мозго*ство с формулами, почему не:
Область.Лево+1;
Область.Лево+2;


Одно и то же ведь, а читать легко и приятно.

С одной стороны, писал человек опытный, с другой - руки бы оторвать за такое качество кода....
28. Олег Шалимов (CaSH_2004) 344 26.11.12 18:09 Сейчас в теме
(27) Это точно к данной публикации относится? Я не нашел ничего про "ЗначениеЯчейкиСинонима" или "ЗначениеЯчейкиИндексаКартинки". Укажите где это?
29. Андрей Овсянкин (Evil Beaver) 4336 26.11.12 18:25 Сейчас в теме
Позор на мою седую голову. Да, написал в другое окно. Тысяча извинений!
Оставьте свое сообщение