Имя: Пароль:
1C
1C 7.7
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
А если сделать решение типа РБД, то есть для каждого из "чужих" менеджеров просто выгрузить часть базы с его данными, а остальные - будут жить в центральной.
Просто - фильтровать - не очень гуманно, да и файловую базу "пользователь" может забрать домой на посмотреть.