|
v7: Ограничить видимость элементов при подборе. | ☑ | ||
---|---|---|---|---|
0
planod
23.09.13
✎
07:06
|
Всем привет. Существует такая задача: один сотрудник при подборе не должен видеть часть иерархии справочника Номенклатура. Подскажите, как можно это реализовать?
|
|||
113
Rie
23.09.13
✎
10:42
|
(111) Я группы использую. Может, есть лучший вариант - но меня и этот устраивает.
|
|||
114
Стрелок
23.09.13
✎
10:43
|
(112) большая разница. и протокол обмена здесь нипричём
|
|||
115
Стрелок
23.09.13
✎
10:43
|
(113) небыло ещё такого что какое то свойство просто забыли заполнить?
|
|||
116
Стрелок
23.09.13
✎
10:44
|
или проверка заполнения идёт по именам свойств?
|
|||
117
Стрелок
23.09.13
✎
10:44
|
короче - каждый фапает как хочет. клинт уже несколько лет подряд занимает первое место по стране за эффективность работы по двум дистрибьюциям.
|
|||
118
Rie
23.09.13
✎
10:45
|
(112) Как это - "ни при чём"? Батенька, да Вы когда-нибудь _большую_ софтину писали?
Не, оно конечно, если устроить бардак и всё тащить по всем уровням - оно конечно... Но не зря ж люди изобретали "модульность", "контракты"... |
|||
119
Ёпрст
23.09.13
✎
10:46
|
(0) я скрывал, только не в справочнике, а во всех отчетах и документах.
Т.е черту в справочнике "пользователи" заводился свой список номенклатуры и свой список клиентосов..и во всех отчетах ставилмя принудительно фильтр на него.. Всё на классе перехватчике было реализовано. Внешне, всё как обычно, черти и не догадывались, что смотрят фильтрованные отчеты и документы. |
|||
120
Rie
23.09.13
✎
10:46
|
(115) Дык а проверить заполнение - в лом?
|
|||
121
Mikeware
23.09.13
✎
10:46
|
(111) по имени, вестимо. У меня, например, "Артикул"+<НаименованиеПроизводителя>, "Группа"<>, "MML"<>, "Рейтинг"<>,"Условия"<>
(115) было. По башке получили, и заполнили. Хотя при выборе контракта - программа требует заполнить табличку... |
|||
122
Стрелок
23.09.13
✎
10:47
|
(118) см 117.
|
|||
123
Стрелок
23.09.13
✎
10:48
|
(121) ага. завтра добавляем новое поле и начинается писанина в коде ;)
|
|||
124
Mikeware
23.09.13
✎
10:49
|
(123) никакой писанины:-)
контракт известен. подобрать свойства по именам свойств по известному имени контракта - более чем просто:-) |
|||
125
Rie
23.09.13
✎
10:50
|
(122) Так а кто тут бубнёж разводит-то? :-)
Каждый решил задачу своим способом. У меня решение - модульное. Мне оно нравится. Легко вносятся изменения. Тебе хочется трахаться с постоянными переделками кода? Что ж, тоже неплохо - заказчик на крючке. |
|||
126
Стрелок
23.09.13
✎
10:51
|
(124) ну конечно просто. просто нужно привязать набор свойств к конкретной дистрибьюции, а потом если вдруг свойство добавится то надо пробежать все элементы и докинуть это свойство в список, поставить контроль его заполнения ну и заполнить - мелочь чо... ;)
|
|||
127
Rie
23.09.13
✎
10:51
|
(126) Код при этом менять - зачем?
|
|||
128
Стрелок
23.09.13
✎
10:53
|
(127) проверить по имени свойства заполнено оно или нет. это не изменение кода
модульность в чём? |
|||
129
Стрелок
23.09.13
✎
10:54
|
а самое интересное это когда в базе (одной на всё) сидят 30 юзеров и вдруг надо по одной из дистрибьюций что то сделать. и фирма останавливается полностью.... вот веселуха. это конечно проще чем остановить работы по одной ТМ а остальные чтобы работали
у меня вопрос (127),(124) вы фикси? |
|||
130
Rie
23.09.13
✎
10:54
|
(128) Модульность в том, что обмен весь вынесен у меня в обработки. Которые зависят только от протоколов. Данные - сгруппированы в свойствах. Которые, опять же, можно менять, не залезая в код. Проверка заполнения - перебор в цикле. И смотрим флажок.
|
|||
131
Rie
23.09.13
✎
10:55
|
(129) Я - ИП. Он же ПБОЮЛ.
|
|||
132
Стрелок
23.09.13
✎
10:56
|
(130) и у меня во внешних обработках. при чём тут это? я тебе про свойства элементов справочника в конце а ты мне про внешние обработки.
(131) странно. кто из нас ещё клиента к себе привязал - это спорный вопрос |
|||
133
Rie
23.09.13
✎
10:56
|
(129) Ну, хреново ты спроектировал базу, раз приходится всё останавливать. Но это - твоя проблема.
|
|||
134
Стрелок
23.09.13
✎
10:57
|
(133) серьёзно? ЛОЛ... ты не сталкивался с изменением требований клиента - дистрибьютора или производителя? ты не сталкивался с разбором проблем юзеров? мда...
|
|||
135
Rie
23.09.13
✎
10:57
|
(132) Ну так это - взаимоувязано. Протоколы, свойства, обработки.
Насчёт "привязал клиента" - у меня всё документировано. Если клиенту захочется - он может легко и просто сменить меня на более другого программиста. Как найдёт получше меня - так и сменит. |
|||
136
Mikeware
23.09.13
✎
10:59
|
(129) у меня фирма работает 24*7 :-)
А если тебе приходится что-то останавливать - ну, значит у тебя проблемы с проектированием систем. |
|||
137
Rie
23.09.13
✎
10:59
|
(134) Сталкивался. "Изменение требований клиента" = "изменение протокола обмена". Было уже несколько раз. Переписывается чуток обработка - и ура! Все продолжают работать! (Причём обработка - внешняя, работа пользователей вообще не останавливается).
|
|||
138
Mikeware
23.09.13
✎
11:01
|
(129) и юзеров - днем в ЦБ до 85, ночью живых 3-5, ну и роботы, кудаж без них... Остановка базы на пол-часа - согласуется за день. Дольше - ЧП.
|
|||
139
Стрелок
23.09.13
✎
11:02
|
(137) вы как в другом мире живёте. производитель требует чтобы в накладной внизу допечатывался комментарий. надо базу остановить? появился покупатель который работает только с накладными определённой формы (метро например). надо базу останавливать? чо вы чешите. трилите?
|
|||
140
Стрелок
23.09.13
✎
11:04
|
я сегодня ночью написал и поставил три отчёта новых по требованию клиента. базу останавливать ненадо?
|
|||
141
Mikeware
23.09.13
✎
11:04
|
(139)ЗАЧЕМ??????????
зачем для комментария в печатной форме остаавливать базу? |
|||
142
Стрелок
23.09.13
✎
11:04
|
(141) а как ты туда что то добавишь? а если это не комментарий к документу а нечто другое - например текущий долг клиента?
|
|||
143
Mikeware
23.09.13
✎
11:05
|
(140) абсолютно не надо. кладешь во внешние обработки. назначаешь роли пользователей, которые должны пользоваться этими отчетами. и все... у нужных пользователей при начале работы в меню жобавятся нужные отчеты...
|
|||
144
Стрелок
23.09.13
✎
11:06
|
(143) мы попрежнему про 7.7 говорим?
|
|||
145
Mikeware
23.09.13
✎
11:07
|
(142) а какая разница? все формы - во внешних отчетах. у коиента - свойство, какие документы (и сколько экземпляров) ему нужно печатать. При нажатии клавиши "печать пакета" - печатается нужный пакет документов.
|
|||
146
Mikeware
23.09.13
✎
11:08
|
(144) конечно.
|
|||
147
Стрелок
23.09.13
✎
11:08
|
(146) ой расскажи мне про это "кладешь во внешние обработки. назначаешь роли пользователей, которые должны пользоваться этими отчетами. и все... у нужных пользователей при начале работы в меню жобавятся нужные отчеты..."
|
|||
148
Rie
23.09.13
✎
11:09
|
(139) Не надо ничего останавливать. Hint: "внешние печатные формы".
|
|||
149
Стрелок
23.09.13
✎
11:09
|
(145) все формы накладных во внешних xml? а долг то как расчитать без кодинга?
|
|||
150
Стрелок
23.09.13
✎
11:10
|
(148) ну нет спасибо. извращайтесь сами. по каждой дистрибьюции минимум 8 форм накладных
|
|||
151
Rie
23.09.13
✎
11:11
|
(150) Дружище, да 1Сник ли ты? Если 1Сник - то прекрасно знаешь, что внешняя печатная форма принципиально ничем не отличается от встроенной.
|
|||
152
Стрелок
23.09.13
✎
11:12
|
(151) нет конечно. откуда мне знать это. я тебе про фому а ты мне про ерёму. надо в печатную форму вывести ТЕКУЩИЦ ДОЛГ ПО КОНТРАГЕНТУ - получи его не правя код в базе данных
|
|||
153
Mikeware
23.09.13
✎
11:12
|
(147)
ЗагрузитьВнешнююКомпоненту("RWidjets.dll"); рс=СоздатьОбъект("ODBCRecordset"); рс.УстановитьТекстовыйПараметр("ВыбПользователь",глПользователь); ТЗ = рс.ВыполнитьИнструкцию("Select $спрРоли.Роль [Роль $Справочник.Роли] from $Справочник.РолиСотрудников спрРоли (nolock) where спрРоли.ParentExt=:ВыбПользователь",ТЗ); СЗ=СоздатьОбъект("СписокЗначений"); ТЗ.Выгрузить(СЗ); Объект = СоздатьОбъект("Общие.МенюДополнительныхВозможностей"); Объект.СоздатьМеню(,СЗ); |
|||
154
Mikeware
23.09.13
✎
11:13
|
(152) и в чем у тебя возникают проблемы? :-)
|
|||
155
Стрелок
23.09.13
✎
11:14
|
(154) ты получишь долг без правки кода в базе?
|
|||
156
Стрелок
23.09.13
✎
11:14
|
(153) хрень какая то
|
|||
157
Mikeware
23.09.13
✎
11:14
|
(155) естественно.
|
|||
158
Стрелок
23.09.13
✎
11:15
|
(157) ну давай. покажи как... ;)
только не на ТА а именно на момент печати документа |
|||
159
Mikeware
23.09.13
✎
11:18
|
(158) тебе рассказать про функцию CформироватьПозициюДокумента() ?
|
|||
160
Стрелок
23.09.13
✎
11:19
|
(159) в печатной форме?????? расскажи
|
|||
161
Mikeware
23.09.13
✎
11:21
|
(160) а какая разница?
|
|||
162
Стрелок
23.09.13
✎
11:22
|
(161) ну так напиши что будет стоять в ячейке таблицы?
|
|||
163
Mikeware
23.09.13
✎
11:22
|
(160) ты меня пугаешь....
|
|||
164
Mikeware
23.09.13
✎
11:23
|
(163)то, что у печформы есть код - ты в курсе? :-)
|
|||
165
Стрелок
23.09.13
✎
11:25
|
(164) в курсе. и что?
|
|||
166
Mikeware
23.09.13
✎
11:27
|
(165) НУ и напиши в таблице ПечОстаток, а в коде перед выводом секции запрос на момент печати (хоть черый, хоть прямой). И все, собственно...
|
|||
167
Стрелок
23.09.13
✎
11:27
|
у меня такое ощущение что спорят тупоконечники и остроконечники
|
|||
168
Стрелок
23.09.13
✎
11:28
|
я делал схему не под себя а по требованию и пожеланию клиента. Точка.
|
|||
169
Mikeware
23.09.13
✎
11:28
|
(168) и делал ее, похоже, самым идиотским способом из возможных.
|
|||
170
Mikeware
23.09.13
✎
11:29
|
+(169) вряд ли у тебя клиент выдвигает требования - где должен быть расчет задолженности.
|
|||
171
Стрелок
23.09.13
✎
11:30
|
(169) тебя это успокоит? да я идиот.
|
|||
172
Rie
23.09.13
✎
11:30
|
Такое ощущение, что Стрелок просто троллит.
Он же не первый год работает. И не дятел вроде бы. Внешние печатные формы, внешние обработки, внешние компоненты - 1Сник не использует ничего из этого? Не верю! (и даже на Станиславского ссылаться не буду). |
|||
173
Mikeware
23.09.13
✎
11:32
|
(172) кодить и программировать - немножко разные занятия...
|
|||
174
Стрелок
23.09.13
✎
11:33
|
(172) не повершь - всё использую, кроме внешних печатных форм. не люблю их. я не буду рассказывать всю кухню клиента. поверьте просто - я так сделал потому что это максимально эффективно в данном случаи. я никому ничего не навязываю и ярлыки не вешаю. вы хотите думать что вы гении программирования а я лох - да бога ради. тут даже не время рассудит. тут просто речь идёт о востребованности программиста. я востребован с перебором - не успеваю
|
|||
175
Mikeware
23.09.13
✎
11:33
|
(171) более интересует - зачем?
вроде не самый глупый зверь в этом зоопарке, а какю-то чушь несешь... |
|||
176
Mikeware
23.09.13
✎
11:35
|
(174) из-за твоей _нелюбви_ к внешним печатным формам страдает клиент, которому приходится останавливать работу для замены строчки в печатной форме...
|
|||
177
Rie
23.09.13
✎
11:37
|
(174) Да всё понятно. Пришёл. Клиент поставил задачу. Под эту задачу ты спроектировал базу (базы). Без фанатизма, без особого обдумывания - просто чтобы решить текущую задачу.
Потом задача чуток изменилась. Потом - ещё чуток. А перепроектировать - тебе было в лом. В результате - сидишь теперь на криво спроектированной базе. Да, "текучку" - решаешь. Ибо не дурак. А на рефакторинг - так за него же не заплатят. А времени (теперь уже) убить придётся немало. |
|||
178
Стрелок
23.09.13
✎
11:38
|
(176) это ты за него так решил? печатная форма - частный случай
(177) за 6 лет задачи не просто чуток изменились - они в корне поменялись а работу фирмы останавливать нельзя. Скажу так - от первоначальных баз в момент когда я взял клиента не осталось вообще ничего. обновление (рефакторинг - слово то какое) идёт постоянно. по мере необходимости. |
|||
179
Mikeware
23.09.13
✎
11:39
|
(177) зато "много часов закрывает".
хотя рефакторинг порой делать ой как лениво.... |
|||
180
Стрелок
23.09.13
✎
11:39
|
(177) да с чего ты взял что база криво спроектирована?
|
|||
181
Rie
23.09.13
✎
11:39
|
(178) А не надо останавливать работу фирмы. В том и прикол.
|
|||
182
Стрелок
23.09.13
✎
11:39
|
(179) о ещё один провидец... я не по часам работаю ;)
|
|||
183
Rie
23.09.13
✎
11:40
|
(180) Да ты ж в этой ветке всё подробно расписал!
|
|||
184
Андрей_Андреич
naïve
23.09.13
✎
11:40
|
Согнали всех монстров в одну ветку. Интересно, сколько метров суммарная длина у обсуждающих?
|
|||
185
Стрелок
23.09.13
✎
11:40
|
(181) б л я вот ты упёртый. откуда ты знаешь особенности работы моего клиента? откуда ты знаешь как онт работает и его требования?
|
|||
186
Стрелок
23.09.13
✎
11:41
|
(183) что я расписал такое что характеризует базу как "кривую"?
|
|||
187
Rie
23.09.13
✎
11:44
|
(185) Да по фигу на то, как работает твой клиент. Не знаю я этого. Зато (уж извини) знаю, как надо писать, чтобы не останавливать рабочую базу после каждого чиха.
|
|||
188
Стрелок
23.09.13
✎
11:45
|
(187) ну что сказать - молодец. я так понимаю этим фундаментальным знанием ты гордишься аж пипец... понимаю
|
|||
189
Mikeware
23.09.13
✎
11:46
|
(178) ну дай другой пример...
я ж тебе показал - как делается в пользовательском режиме добавление новых отчетов пользователям в меню. Точно так же я могу тебе показать, как формируется пакет документов. Формирование бизнес-процессов. Аналог восстановления последовательности в разделенном режиме. проверка и пересчет итогов в разделенном режиме. Обрезка базы в разделенном режиме. Автооткрытие периода. И т.п. И все это - без остановки работы. (185) ты хочешь сказать, что клиент требует, чтоб базу останавливали почаще да наподольше? |
|||
190
Mikeware
23.09.13
✎
11:47
|
(184) если встанет - низколетящие дирижабли сбивать можно!
|
|||
191
Rie
23.09.13
✎
11:50
|
(188) Я на этом фундаментальном знании деньги зарабатываю.
Впрочем, если тебе деньги не нужны - твои проблемы. |
|||
192
Андрей_Андреич
naïve
23.09.13
✎
11:54
|
(190) А почему "если", а не "когда"?
|
|||
193
Mikeware
23.09.13
✎
11:56
|
(192) А чой-то ничего не возбуждает последнее время...
"кнопка СделатьВсё" салореальна, а остальное - мелкомасштабно :-( |
|||
194
Rie
23.09.13
✎
11:57
|
(192) Ну это ж открытый форум... А за сбивание летательных аппаратов - уголовная ответственность может быть. Вне зависимости от того, чем сбивали...
|
|||
195
Андрей_Андреич
naïve
23.09.13
✎
12:00
|
(193) Мне вообще программировать запретили - и так все работает. Тоска.
|
|||
196
Mikeware
23.09.13
✎
12:03
|
(195) "я боюсь нашего нового программиста по зарплате - он сидит, чего-то кодит и тихонько ржет..."©
|
|||
197
Rie
23.09.13
✎
12:05
|
(193) "салореальна" - это надо запомнить! :-)
|
|||
198
Mikeware
23.09.13
✎
12:06
|
(197) подразумевалось "малореальна"....
хотя "салореально" - это что-то хохлонаркотическое... |
|||
199
Rie
23.09.13
✎
12:20
|
(198) Но слово получилось замечательное!
|
|||
200
Aleksey
23.09.13
✎
12:30
|
(186) ну как же, всем известно, что любая база, если она не типовая - априори кривая и неоптимальная
|
|||
201
Стрелок
23.09.13
✎
12:34
|
(200) не так немного
тут аксиома из трёх тезисов : 1. любая база, которую не я сейчас обслуживаю - кривая 2. любая база которую я начинаю осблуживать после другого программиста - кривая 3. лююая моя бывшая база, которую даже просто открыл на просмотр другой программист после этого автоматически становится кривой |
|||
202
Rie
23.09.13
✎
12:36
|
(201) Уже то, что ты писал насчёт "останавливать" - говорит о том, что база криво спроектирована. Возможностей создать базу, работающую 24*7 - есть много. Но их ты не использовал.
|
|||
203
Aleksey
23.09.13
✎
16:20
|
(202) а как же типовые которые априори не могут быть кривыми?
|
|||
204
Mikeware
23.09.13
✎
16:26
|
(203) могут. типовые слишком универсальные. ну и нельзя нее вспомнить о найденой питом фигне с печатью, которая до сих пор вроде не исправлена...
|
|||
205
alexiv79
23.09.13
✎
16:31
|
(147) Стрелок-ты точно 1Сник? Не видел что такое внешние печатные формы? в свою конфу ниразу не добалял подчистему для выбора и хранения печатных форм7
(149) а что мешает расчет сделать в ВНЕШНЕЙ ПЕЧАТНОЙ ФОРМЕ? |
|||
206
alexiv79
23.09.13
✎
16:33
|
(178) Делали внешние обработки в которых хранились алгоритмы расчетов - как раз для отладки и оперативного внесения изменений-потом конечно старались это в конфу внедрить
|
|||
207
alexiv79
23.09.13
✎
16:37
|
(206) Т.е. вызывается внешняя обработка
, в нгей функция которя в параметре возвращает ТЗ с одной строкой и кучей колонок с результатами расчетов |
|||
208
Rie
23.09.13
✎
16:54
|
(203) Типовые как раз "кривые" - ибо стараются быть универсальными, а это зачастую неэффективно. Поэтому их и затачивают под нужды конкретного предприятия (если у этого предприятия есть деньги, чтобы под него конфу заточили).
@Садовников как-то показывал свои конфигурации - там от "1С" остались только заголовки. Внутри всё перелопачено - зато работало так, что "1С" остаётся разве что нервно курить за кулисами. |
|||
209
Emil0690
23.09.13
✎
16:59
|
Всем привет. Существует такая задача: один сотрудник не должен видеть часть иерархии справочника Номенклатура. Подскажите, как можно это реализовать?
|
|||
210
Rie
модератор
23.09.13
✎
17:03
|
(209) И Вам тоже здрасте.
Заведите свою ветку, задайте там вопрос (не забыв указать версию платформы и конфигурацию) - и Вам в этой Вашей ветке с радостью на него ответят. |
|||
211
Ёпрст
23.09.13
✎
17:05
|
(209) штатный примитв - написать
ИспользоватьРодителя(Группа,0) в форме списка - усё, за пределы данной группы ничего не увидит.. вообще. |
|||
212
Torquader
23.09.13
✎
22:25
|
А если сделать решение типа РБД, то есть для каждого из "чужих" менеджеров просто выгрузить часть базы с его данными, а остальные - будут жить в центральной.
Просто - фильтровать - не очень гуманно, да и файловую базу "пользователь" может забрать домой на посмотреть. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |