Имя: Пароль:
1C
1С v8
перекодировать номенклатуру-где грабли могут быть?
,
0 podkova
 
04.07.13
12:46
уважаемые, добрый день.
проблемка сделать коды номенклатуры по порядку, а то умники ввели коды 6-ти значные, а начальству это не нравится.

у меня не типовая конфигурация, но нигде не нашла вроде связей по коду, подскажите чем может "аукнуться" переприсвоение кодов?
1 х86
 
04.07.13
12:47
обмен есть?
2 podkova
 
04.07.13
12:49
нет
3 shuhard
 
04.07.13
12:50
(0)[ а то умники ввели коды 6-ти значные, а начальству это не нравится. ]
тупое начальство не редкость
4 YF
 
04.07.13
12:50
(0) Коды ни на что не влияют, если это не прописал программист. А у тебя самописка - значит ты точно знаешь последствия изменения кодов
5 podkova
 
04.07.13
12:51
а если предыдущие программисты написали чего-как найти?
6 aka AMIGO
 
04.07.13
12:54
(5) поиском "НайтиПоКоду("
7 Grobik
 
04.07.13
12:54
(5) Конфигуратор, глобальный поиск
8 aka AMIGO
 
04.07.13
13:03
+6  и не использовать функции НайтиПоКоду и НайтиПоНаименованию

ЗЫ. хотя иногда бывает безвыходное положение :)
9 podkova
 
04.07.13
13:12
спасибо
10 Grobik
 
04.07.13
14:59
(8) Безвыходных не бывает, всегда можно заменить одно на другое ;)

Например

ПапкаТехника = Справочники.Номенклатура.НайтиПоКоду("00000012056");
МестоГдеРаботы = Справочники.Контрагенты.НайтиПоКоду("000001153");

Легко заменяется на

   ЗапросТехникаНоменклатура = Новый Запрос;
   ПапкаТехникаНоменклатураПользователь = Справочники.Пользователи.НайтиПоНаименованию("Пользователь");
   ЗапросТехникаНоменклатура.УстановитьПараметр("Ссылка", ПапкаТехникаНоменклатураПользователь);
   ПапкаТехникаНоменклатураРаботНастройка = ПланыВидовХарактеристик.НастройкиПользователей.НайтиПоНаименованию("КаталогТехники");
   ЗапросТехникаНоменклатура.УстановитьПараметр("Ссылка2", ПапкаТехникаНоменклатураРаботНастройка);
   ЗапросТехникаНоменклатура.Текст ="
       |ВЫБРАТЬ ПЕРВЫЕ 1
       |    НастройкиПользователей.Пользователь.Ссылка,
       //|    НастройкиПользователей.Настройка.Ссылка,
       |    НастройкиПользователей.Значение.Ссылка КАК КаталогТ
       |ИЗ
       |    РегистрСведений.НастройкиПользователей КАК НастройкиПользователей
       |ГДЕ
       |    НастройкиПользователей.Пользователь.Ссылка = &Ссылка
       |    И НастройкиПользователей.Настройка.Ссылка = &Ссылка2";

   КаталогТехники = ЗапросТехникаНоменклатура.Выполнить().Выбрать();
   КаталогТехники.Следующий();
   
   ПапкаТехника = КаталогТехники.КаталогТ;

   ЗапросМестоВыполнения = Новый Запрос;
   ПапкаМестоВыполненияРаботПользователь = Справочники.Пользователи.НайтиПоНаименованию("Пользователь");
   ЗапросМестоВыполнения.УстановитьПараметр("Ссылка3", ПапкаМестоВыполненияРаботПользователь);
   ПапкаМестоВыполненияРаботНастройка = ПланыВидовХарактеристик.НастройкиПользователей.НайтиПоНаименованию("ПапкаМестоВыполненияРабот");
   ЗапросМестоВыполнения.УстановитьПараметр("Ссылка4", ПапкаМестоВыполненияРаботНастройка);
   ЗапросМестоВыполнения.Текст ="
       |ВЫБРАТЬ ПЕРВЫЕ 1
       |    НастройкиПользователей.Пользователь.Ссылка,
       |    НастройкиПользователей.Значение.Ссылка КАК НастройкаСсылка
       |ИЗ
       |    РегистрСведений.НастройкиПользователей КАК НастройкиПользователей
       |ГДЕ
       |    НастройкиПользователей.Пользователь.Ссылка = &Ссылка3
       |    И НастройкиПользователей.Настройка.Ссылка = &Ссылка4";

   МестоРаботы = ЗапросМестоВыполнения.Выполнить().Выбрать();
   МестоРаботы.Следующий();
   МестоГдеРаботы = МестоРаботы.НастройкаСсылка;
11 Fish
 
04.07.13
15:02
(10) Ужас :)
12 Grobik
 
04.07.13
15:11
(11) Зато Пользователь, ПапкаМестоВыполненияРабот и КаталогТехники могут поменять 2 человека, которые к тому-же вкурсе, что менять не надо. А менять справочники "Контрагенты" и "Номенклатура" для 100 пользователей не запретишь.

А так, да ужас ;)
13 Grobik
 
04.07.13
15:13
+ РегистрСведений.НастройкиПользователей можно менять в режиме предприятия, в отличие от первоначального варианта.
14 Ахиллес
 
04.07.13
15:39
(10) Хрень. Проще написать в сообщении пользователю "Если вы измените коды в этом справочнике, отчёт перестанет работать".
Опять же заставлять пользователя выкапывать с 4 уровня меню служебные данные каждый раз это жестоко.
НайтиПоКоду это настоящее одинэсное кунг-фу. Использовать можно, но нужно знать где и когда.
15 Grobik
 
04.07.13
16:11
(14) >> Опять же заставлять пользователя выкапывать с 4 уровня меню служебные данные каждый раз это жестоко.

Это еще к чему?
16 mikecool
 
04.07.13
16:15
(10) я такие дела заменял на пвх + рс
17 Grobik
 
04.07.13
16:36
(14) Проще написать в сообщении пользователю "Если вы измените коды в этом справочнике, отчёт перестанет работать".

В + к (15) Писать каждому пользователю который что-то меняет в справочнике  "Контрагенты" или "Номенклатура"? Или только тем, кто меняет заранее предопределенные папки, а что трогают именно эти папки проверять при помощи НайтиПоКоду и НайтиПоНаименованию? ;)