![]() |
|
Как добавить кусок кода во все документы? | ☑ | ||
---|---|---|---|---|
0
Apollo 11
09.06.11
✎
09:37
|
Кто знает как добавить во все формы списка всех документов конфигурации в процедуру ПриОткрытии одинаковый код?
|
|||
1
vicof
09.06.11
✎
09:38
|
Подписка на событие
|
|||
2
Immortal
09.06.11
✎
09:39
|
Выгрузить/Загрузить файлы конфигурации
|
|||
3
guitar_player
09.06.11
✎
09:39
|
(1)Есть такая подписка?)
|
|||
4
vicof
09.06.11
✎
09:43
|
(3) а блин, в формы списка(
|
|||
5
Ёпрст
гуру
09.06.11
✎
09:44
|
глобальный поиск и замена..
|
|||
6
Stepa86
09.06.11
✎
09:44
|
а чо за код то?
|
|||
7
Stim213
09.06.11
✎
09:44
|
ручками быстрее будет, однако
|
|||
8
Apollo 11
09.06.11
✎
09:45
|
подписку "ПриОткрытии" не нашел
|
|||
9
Варвар
09.06.11
✎
09:45
|
выгрузить все модули, добавить текст, загрузить модули.
|
|||
10
Maxus43
09.06.11
✎
09:46
|
(8) Да нет её, я за вариант (5)
|
|||
11
Apollo 11
09.06.11
✎
09:47
|
стопудово как то можно сделать тема нужная
|
|||
12
Stepa86
09.06.11
✎
09:49
|
(2) п.1 , затем что то вроде:
МассивФайлов = НайтиФайлы(КаталогОбмена, "*ФормаСписка*.txt"); ФайлМодуля = Новый ТекстовыйДокумент; Для Каждого цФайл Из МассивФайлов Цикл Попытка ФайлМодуля.Прочитать(цФайл.ПолноеИмя); Исключение Сообщить("Ошибка чтения файла: " + цФайл.ПолноеИмя); Продолжить; КонецПопытки; ФайлМодуля.ДобавитьСтроку( "" ); ФайлМодуля.ДобавитьСтроку( "Кусок кода" ); ФайлМодуля.Записать(цФайл.ПолноеИмя); КонецЦикла; затем (2) п.2 |
|||
13
poligraf
09.06.11
✎
09:49
|
Дурацкое конечно решение...
Глобальная замена? Процедура ПриОткрытии() на Процедура ПриОткрытии() //кусок кода //еще кусок кода Только она много где может наменять:) |
|||
14
Stepa86
09.06.11
✎
09:50
|
+(12) в конце модуля кодом можно даже ПриОткрытии переопределить, если нужно...
|
|||
15
Undefined
09.06.11
✎
09:51
|
(2) и (12) мне кажеться наиболее возможным
|
|||
16
Stim213
09.06.11
✎
09:52
|
и не забываем делать бекапы
|
|||
17
Immortal
09.06.11
✎
21:47
|
(13)юзай хранилище - захватил, поменял где надо и усе
|
|||
18
Neg
09.06.11
✎
21:48
|
(5) А что менять?
|
|||
19
Smallrat
09.06.11
✎
21:57
|
Если это типовая, то я бы попытался найти функцию которая вызывается во всех формах при открытии и попытался бы впихнуть код туда.
например в бухии это РаботаСДиалогами.УстановитьОтборПоОрганизации(ЭтаФорма,, глЗначениеПеременной("ОсновнаяОрганизация"), "ДокументСписок"); РаботаСДиалогами.ИзменитьПредставлениеКнопкиВыбораСвойств(ЭтаФорма, РаботаСДиалогами.ПолучитьОписаниеЗначенийСвойствОбъекта(ЭлементыФормы.ДокументСписок.ТекущаяСтрока)); есть почти в каждой форме списка |
|||
20
Drock
09.06.11
✎
21:59
|
(19) вполне логично, а как не хватает этой чертовой подписки на события.... блин сейчас систему контроля доступа на уровне форм делать... полная засада...
|
|||
21
ErrorEd88
09.06.11
✎
23:01
|
Глобальная замена..
|
|||
22
MRAK
09.06.11
✎
23:09
|
(19) + 100500
А не уродовать конфу всякими парсерами... |
|||
23
Immortal
09.06.11
✎
23:09
|
фырк
|
|||
24
Immortal
09.06.11
✎
23:09
|
ленивцы
|
|||
25
MRAK
09.06.11
✎
23:15
|
(23), (24) при всем моем уважении...
для типовых - совет в (2) - хавно |
|||
26
MRAK
09.06.11
✎
23:16
|
+ для современных типовых
|
|||
27
Immortal
09.06.11
✎
23:30
|
(26)а что изменилось в современных типовых?
|
|||
28
MRAK
09.06.11
✎
23:43
|
(27) при открытии формы списка вызывается какая-нить общая проца
|
|||
29
Immortal
09.06.11
✎
23:44
|
(28)ииии?
если в коде написано РаботаСДиалогами.ВоткнутьКнопкуПечати() а у тебя там в этой процедуре 150 закладок на форму добавляется, это что, правильное решение? |
|||
30
MRAK
09.06.11
✎
23:48
|
(29) читаем (0)
"добавить во все формы списка всех документов конфигурации в процедуру ПриОткрытии одинаковый код?" то есть, ты предлагаешь, в КАЖДУЮ форму добавить ОДИНАКОВЫЙ код, вместо того, чтобы добавить его в свою процедуру, которая вызовется из "РаботаСДиалогами.ВоткнутьКнопкуПечати()"? Думаешь, твой способ филиграннее и удобнее в поддержке? |
|||
31
Immortal
09.06.11
✎
23:52
|
(30)а я что то писал про одинаковый код?
решение: в ПриОткрытии определить процедуру: МойМодуль.ПриОткрытииФормыДокумента. |
|||
32
Immortal
09.06.11
✎
23:53
|
и в ней уже делать что душе угодно
|
|||
33
MRAK
09.06.11
✎
23:53
|
(31) про одинаковый код писал (0).
Иногда нужно быть и читателем... |
|||
34
Immortal
09.06.11
✎
23:54
|
(33)таки неизвестно что это за одинаковый код=)
это может быть и (31), не так ли?=) |
|||
35
Immortal
09.06.11
✎
23:55
|
вопрос религии, в общем
|
|||
36
MRAK
09.06.11
✎
23:55
|
(31) + при вызове свой процы из "РаботаСДиалогами.ВоткнутьКнопкуПечати()" можно анализировать метаданные объекта и вызывать нужные тебе процы.
Не придется гробить ВСЕ типовые формы |
|||
37
Immortal
09.06.11
✎
23:56
|
почему все? формы списков документов - их немного..
да я бы угробил и все, если бы была такая задача должно быть: доступно и всерьез=) |
|||
38
MRAK
09.06.11
✎
23:56
|
(35) не религии, а гибкости и простоты поддержки. В старых конфах твой вариант был единственным и я им пользовался, благодарен тебе за идею. Но сейчас для типовых он устарел
|
|||
39
MRAK
09.06.11
✎
23:57
|
(37) гемор с обновлениями)
|
|||
40
Immortal
09.06.11
✎
23:59
|
(39)обновление раз в 2-3 месяца, это немного
простота поддержки легко убивается дописками в разных местах - когда уже не понимаешь, где что и откуда почему и зачем |
|||
41
milan
10.06.11
✎
00:05
|
Столкнулся с тем, что если просто добавить процедуру ПриОткрытии и не проптсать ее в события формы не работает.
А вообще платформа, конечно умиляет своими возможностями. Вроде бы простой механизм, а придется извращаться. Взять те же отборы в динамическом списке - ну какого х их было не вынести как реквизиьы на форму ? Теперь в типовых в каждой форме списка сотни овнокода по отслеживанию и установке значений реквизита в отбор. И ведь в 14 релизе не поправили. |
|||
42
Immortal
10.06.11
✎
00:08
|
и где там сотни строк, а?=)
|
|||
43
milan
10.06.11
✎
00:22
|
Да и хоть бы их всего 10, но везде одинаковые - красоты решения нет. Я вот заюзал их методу, а оне в новом релизе переименовали чего-то, теперь перелопачивать придется ;)
Я 8.2 когда увидел - обрадовался, многие вещи красиво сделаны, а потом стал присматриватьси - многое сделано наполовину. С отборами - кодируй, в скд - отличнейший механизм но опять хочешь расшифровки - кодируй, поллуделки в 1с сидят на разработке платформы ;) |
|||
44
MRAK
10.06.11
✎
00:24
|
(43) есть такое, но в 8.1 еще хуже было... развивается, однако, платформа...
|
|||
45
milan
10.06.11
✎
00:27
|
(44) очень рад, кстати, что с 8.1 не довелось общаться. Намного приятнее было с 1с++ поковыряться.
|
|||
46
orefkov
10.06.11
✎
00:55
|
О как, опять хотят нихрена не делать и отстатыщ получать...
(19) Решение вполне в духе одноэсников. Смотришь процедуру РаботаСДиалогами.ИзменитьПредставлениеКнопкиВыбораСвойств а там ВНЕЗАПНО какая-то хрень к примеру по проверке прав проведения. "Читая на клетке с бегемотом надпись Жираф, не верь глазам своим" |
|||
47
Эстет хренов
10.06.11
✎
01:53
|
(46) а что делать? 1с не сделала нормальный промежуточный слой для кастомизации решений и перехвата всех нужных событий.
Лучше снять с поддержки один общий модуль чем сто форм. |
|||
48
Поручик
10.06.11
✎
02:24
|
О подписках на события для визуальных объектов талдычили ещё несколько лет назад, да хрен там.
|
|||
49
orefkov
10.06.11
✎
07:30
|
(47)
Понятно, что на уровне платформы это не поддерживается, но могли бы в типовых создать общий модуль типа "Пользовательский", и там сделать пустые методы. И везде в ПриОткрытии вставить Пользовательский.ПриОткрытииФормы |
|||
50
Smallrat
10.06.11
✎
08:38
|
(49) Какие типовые, такие и методы работы с ними (
|
|||
51
VladZ
10.06.11
✎
08:46
|
(0) Гы-гы-гы... Добавь во все документы ручками... С клиента возьми почасовую оплату... :)
|
|||
52
Stepa86
10.06.11
✎
08:47
|
в 8.2 можно в ролях настроить какой реквизит будет виден и какой доступен, но это только для упр. форм
(28) вот прикольно будет искать какая сволочь меняет доступность половине формы и в конце концов выяснить, что это процедура "ДобавитьКнопкуПечати"... я б за такое чо нить оторвал |
|||
53
MRAK
10.06.11
✎
08:50
|
(52) конечно, лучше накакать в каждой типовой форме - отложить там одинаковый код)
|
|||
54
Stepa86
10.06.11
✎
08:54
|
(53) Лучше вообще чо нить другое придумать, но если выбирать между проходом парсера с автодобавлениеми и использованием общей процедуры, которая есть почти везде и делает что то иное, то я выберу первое. Тем более, что парсером можно добавленное и убирать перед обновлением
|
|||
55
Stepa86
10.06.11
✎
08:55
|
(53) есессно одинаковый код должен выглядеть примерно так:
МоиМетоды.СделатьЧтоТоДляФормы( ЭтаФорма ); |
|||
56
milan
10.06.11
✎
09:44
|
1С - платформа для штамповки быдлокода и среда для размножения быдлокодеров, истинно говорю !!!
|
|||
57
Эстет хренов
10.06.11
✎
10:57
|
(54) это штатная возможность? или парсить сторонними средствами выгруженные в текст модули?
|
|||
58
Stepa86
10.06.11
✎
10:59
|
(57) я обработку писал, которая выгружает модули, обрабатывает и обратно вставляет
|
|||
59
dimoff
10.06.11
✎
11:03
|
Тестовое задание на текущую вакансию:
7. Возникла необходимость добавить во все формы списка всех документов конфигурации в процедуру ПриОткрытии одинаковый код. Каким образом быстрее всего можно это сделать, если конфигурация содержит большое количество документов? |
|||
60
Эстет хренов
10.06.11
✎
11:07
|
(58) А эта обработка есть где-то в виде скачать\купить? или она не для распространения?
(59) это вакансия программиста на Селезневскую? |
|||
61
МишельЛагранж
10.06.11
✎
11:11
|
(56) не москвич, однако...
(59) та все-таки ПриОткрытии формы, документа или МодуляОбъекта?? А то зарплата в каждом случае отличается на порядок... |
|||
62
dimoff
10.06.11
✎
11:19
|
(60) На Ак. Королева
|
|||
63
ado
10.06.11
✎
11:20
|
(62) Не в ОРТ случайно? А то оне там долго прога искали ...
|
|||
64
Reset
10.06.11
✎
11:26
|
(61) За такой вопрос можно сразу отказывать в вакансии - изза отсутствия навыка чтения на русском языке. Впрочем, чему тут удивляться, это же Мишель.
|
|||
65
Stepa86
10.06.11
✎
11:28
|
(60) http://ifolder.ru/24068197
писалась под 8.1, но сейчас сконвертена под 8.2 для выбранной конфы удаляет все между метками на удаление и снимает комментарий между метками на раскомментирование. Сами метки задаются в модуле. Конфа должна быть файловой, под клиент-сервер нужно будет слегка модифицировать |
|||
66
MNS_Ротерта
10.06.11
✎
11:28
|
(0) В формах нет возможности вставить кусок кода в формы. Если в модули объектов то подписку делай как было сказано выше.
Единственное можешь попробовать найти процедуру которая вызывается из всех форм и в нее запихнуть свой кусок кода. Например зполнение шапки документа. Но это виидмо только получишь документы. |
|||
67
MNS_Ротерта
10.06.11
✎
11:30
|
(56) ну а что теперь поделаешь. 1С ведь. Тут отказать в идиотской доработке сложно, хотя я руками и ногами за отмену глупостей вроде "добавьте мне фишечку". Это анархизм :(
|
|||
68
dimoff
10.06.11
✎
11:34
|
(63) Нет, Дарьял-ТВ теперь ищет
|
|||
69
Rebelx
10.06.11
✎
11:35
|
(0)бери обработку http://zalil.ru/31233501
|
|||
70
dimoff
10.06.11
✎
11:35
|
(56)(67) Узнаю тупых одинэсников. 1с уже давно стала платформой, по возможностям сильно опережающая всех конкурентов, в том числе и ввсякие аксапты, но тупые одинэсники до сих пор не избавились от привычки её ругать.
|
|||
71
Reset
10.06.11
✎
11:38
|
(70) "Это не я написал уйню, это платформа мне ее позволила написать" :D
|
|||
72
Поручик
10.06.11
✎
12:04
|
(70) Шедеврально. Можно адрес магазина, где траву покупали?
|
|||
73
МишельЛагранж
10.06.11
✎
12:06
|
"Ты тупой 1С-ник!
"нет, это ты тупой 1Сник!" "а ты тупее тупого 1Сника!" "а ты, ты - ты тупее платформы, которая позволила тебе написать тупой код тупого 1С-ника по тупому алгоритму!!" (следствие из теоремы БЖ) |
|||
74
Steel_Wheel
10.06.11
✎
12:08
|
(0) Журнал этих документов еще не предлагали?
|
|||
75
МишельЛагранж
14.06.11
✎
11:17
|
(46) если программирование свелось к зазубриванию и бездумному набору кода (уж не знаю, по причине 1С ли, или по планам правительства, или общей дебилизации населения), то вопросы
>>О как, опять хотят нихрена не делать и отстатыщ получать... не должны возникать... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |