Имя: Пароль:
1C
1С v8
Сделать предопределенным имеющийся?
,
0 Mikhail Volkov
 
26.09.13
19:23
Имеется в базе элемент справочника (Контрагенты), хочу сделать его предопределенным. Есть такая возможность?
1 Defender aka LINN
 
26.09.13
19:24
Нет.
Вообще нет.
Совсем нет.
Никак.
З.Ы. Ведь все равно же сейчас начнется нытье типа "ну мне очень сильно надо, ну хоть как-нибудь..."
2 Flyd-s
 
26.09.13
19:25
создать предопределенный в конфигураторе, через поиск и замена значений или поиск и замена дублирующих элементов заменить обычный на предопределенный
3 Mikhail Volkov
 
26.09.13
19:30
(2) Предопределенный пустой, а наоборот не получается
4 Живой Ископаемый
 
26.09.13
19:33
(3) чему возражает это нелепое возражение?
5 Mikhail Volkov
 
26.09.13
19:33
+ В конфигураторе скопировать все реквизиты предопределенному, и после заменить... других вариантов нет?
6 Нуф-Нуф
 
26.09.13
19:36
ЗАполнитьЗначенияСвойств
7 Живой Ископаемый
 
26.09.13
19:37
2(5) а если я скажу что есть, как это повлияет на объективную реальность?
8 Живой Ископаемый
 
26.09.13
19:38
стоп, какие в .опу реквизиты предопредленному в конфигураторе? совсем что ли нездоров?
9 jsmith82
 
26.09.13
19:39
поиск и замена ссылок?
10 jsmith82
 
26.09.13
19:39
а может лучше константу сделать
11 Живой Ископаемый
 
26.09.13
19:41
сделать преопредленным имещийся - вообще никак, кроме (2).
способов обойти - масса... over 9
12 sonsimo
 
26.09.13
19:44
В 8.3 можно предопределенный элемент изменять, но вроде не всегда. Там появились типы создания предопределенных.
13 Mikhail Volkov
 
26.09.13
19:46
Пробовал так:

Процедура ЗаполнитьПредопределенныхКонтрагентов() Экспорт
    
    СправочникОбъект = Справочники.Контрагенты.ЧастноеЛицо.ПолучитьОбъект();
    Если СправочникОбъект = Неопределено Тогда
        СправочникОбъект = Справочники.Контрагенты.ЧастноеЛицо.СоздатьЭлемент();
        СправочникСсылка = Справочники.Контрагенты.ПолучитьСсылку(Новый УникальныйИдентификатор("75eeb8af-8f57-11e0-9dd6-68b599b4ac4e"));
        СправочникОбъект.УстановитьСсылкуНового(СправочникСсылка);
        Попытка
            СправочникОбъект.Записать();
        Исключение
            Сообщить("Не удалось записать контрагента ЧастноеЛицо" + Символы.ПС + ОписаниеОшибки(), СтатусСообщения.Внимание);
        КонецПопытки;
    КонецЕсли;
    
КонецПроцедуры

Запускал из:

Процедура ПередНачаломРаботыСистемы(Отказ)
    //Обработчик зарезервирован на будущее
    Справочники.Контрагенты.ЗаполнитьПредопределенныхКонтрагентов();
КонецПроцедуры // ПередНачаломРаботыСистемы()

Не помогло... похоже предопределенные создаются в момент записи конфигурации!?
14 jsmith82
 
26.09.13
19:47
твой код это бред
15 jsmith82
 
26.09.13
19:48
варианты уже озвучены
либо поиск и замена ссылок
либо создавай константу
16 Fragster
 
модератор
26.09.13
19:52
17 Поросенок Петр
 
26.09.13
20:48
Предопределенный контрагент.
Застрелиться и заплакать.
18 jsmith82
 
26.09.13
20:57
(16) что это было? ;)
19 Mikhail Volkov
 
26.09.13
20:57
(16) Класс! Но ради одного элемента не стоит копья ломать...

Скопировал все реквизиты предопределенному. Поиск и заменой дублирующих элементов заменил существующий на предопределенный. А как гуид ему вернуть? Он же в обмене с другими базами...
20 H A D G E H O G s
 
26.09.13
20:57
(17) Это нормально.
А вообще - да, иди застрелись ап стену.
21 Лефмихалыч
 
26.09.13
21:00
(19) а ни как. в других базах делай поик и замену тоже. рекивизиты можешь не трогать - они с обменом придут
22 Лефмихалыч
 
26.09.13
21:02
я только надеюсь, что (19) в копии происходило или хотя бы бэкапы есть
23 Поросенок Петр
 
26.09.13
21:02
(20) Группа ещё спорно. А вот предопределенный элемент контрагент это клиника.
24 Поросенок Петр
 
26.09.13
21:03
+(23) Рассматривайте свою программу так, будто вы собираетесь завтра продать её сторонней компании.
25 Mikhail Volkov
 
26.09.13
21:15
(21) Похоже, так... Раньше я как-то задавал нужные гуиды предопределенным элементам (код в (13) не сейчас придумал, работало!?), но то были пустые базы - готовил для обмена...
26 Лефмихалыч
 
26.09.13
21:16
(25) нашел, кому сказки рассказывать...
27 Mikhail Volkov
 
26.09.13
21:29
Было, было, сам удивляюсь... все же в какой момент в базе создаются предопределенные элементы? Получается еще до ПередНачаломРаботыСистемы()!?
28 Живой Ископаемый
 
26.09.13
21:31
нет, они создаются в конфигураторе.
29 Фокусник
 
26.09.13
21:54
(0) зачем может понадобиться предопределенный элемент в справочнике Контрагенты?
30 Mikhail Volkov
 
26.09.13
21:58
(29) Не знаю, какой-то особенный...
31 Mikhail Volkov
 
26.09.13
22:01
+(27) Во когда:
// Вызывается перед началом обновления данных ИБ.
//
Функция ОбработчикиОбновления() Экспорт
    
    Обработчики = ОбновлениеИнформационнойБазы.НоваяТаблицаОбработчиковОбновления();
    
    // Подключаются процедуры-обработчики обновления конфигурации

    Обработчик = Обработчики.Добавить();
    Обработчик.Версия = "*";
    Обработчик.Процедура = "ВариантыОтчетов.ОбработкаПредопределенныхВариантов";
    ....
    ....
    Возврат Обработчики;
    
КонецФункции
32 Лефмихалыч
 
26.09.13
22:32
(31) ты, повторюсь, нашел кому сказки рассказывать
33 Живой Ископаемый
 
26.09.13
22:44
2(30) каждый элемент особенный - у каждого есть УИД.
34 Guk
 
26.09.13
22:46
(31) если я этот код заремлю, предопределенные элементы в базе не появятся?...
35 Guk
 
26.09.13
22:49
сплошные дыры в этой восьмерке. вот так нечаянно заремишь кусок кода и внезапно взломаешь платформу...
36 Живой Ископаемый
 
26.09.13
22:49
2(31) и где тут добавляются предопределенные элементы?
37 Mikhail Volkov
 
27.09.13
06:01
(32) Не приснилось же мне!? Код (31) из УТ11, подобный обработчик не могу найти в Альфа-Авто... он должен запускаться еще на этапе реструктуризации, когда жмешь "Принять" изменения в конфигураторе, при первом старте, или смене релиза...
Но это уже так, ради спортивного интереса
38 catena
 
27.09.13
06:09
Friday, friday, тра-ла-ла-ла-ла!
39 catena
 
27.09.13
06:10
А вообще, тут как раз идеально подошел бы тот справочник с предопределенными элементами, который недавно обсуждали.
40 catena
 
27.09.13
06:10
Даже замену ссулок делать не пришлось бы.
41 ИС-2
 
naïve
27.09.13
07:40
что тут писать - все уже написано.
1) Создаем предопределенный в конфгураторе
2) Запоняем его реквизиты также как и у исходного (+всякая лабуда - контактная информация, договора, счета и т.д)
3) Копируем его код (думаю найти по коду в такой базе будет полно)
4) Через поиск и замену значений перебиваем ссылки
5) Удаляем исходный элемент с контролем ссылочности
42 2083
 
27.09.13
08:18
а можно это в юмор?
43 Фокусник
 
27.09.13
08:20
(39) +1
Например: Справочник.МоиКонстанты.ОсобыйКонтрагент.Значение, где:
ОсобыйКонтрагент - предопределенный элемент в справочнике МоиКонстанты, а Значение - реквизит этого справочника, в который в пользовательском режиме указана ссылка на нужного контрагента.
44 Живой Ископаемый
 
27.09.13
08:25
2(37) слабак. до сих пор ничего не доказал. до сих пор не создал элемент в конфигураторе и не посмотрел, появилась ли у тебя запись в таблице СКЛ, соответствующей справочнику Контрагенты. приводишь только какие-то косвенные улики, которые не примет во внимание ни один суд присяжных
45 Mikhail Volkov
 
27.09.13
10:39
(44) Давно все сделал, как написано в (41), просто интересно было, можно ли по-другому, автоматом переделать существующий элемент в предопределенный.
46 Mikhail Volkov
 
27.09.13
10:45
+ Хотелось гуид ему сохранить, придется делать как (21)
47 Живой Ископаемый
 
27.09.13
11:03
я о том, что убедиться, что предопределенные элементы создаются не в режиме предприятия
48 andreymongol82
 
27.09.13
12:10
(29) Например для черной-пречерной бухгалтерии
49 Mikhail Volkov
 
27.09.13
13:17
(47) В этом я не сомневался, мой основной вопрос в (37) - как запустить обработчик обновления в конфигураторе. Похоже для обычных приложений это невозможно. Код подобный (13) у меня работал в УТ11, в модуле менеджера справочника. В обычных приложениях модули менеджеров почему-то не используют?
(48) Это типа предопределенного контрагента РозничныйПокупатель УТ11
50 Mikhail Volkov
 
27.09.13
13:22
+ Сейчас бьюсь со старенькой АльфаАвто41, в ней много чего не работает как надо...