Имя: Пароль:
1C
1C 7.7
v7: Удаление элементов справочника
,
0 never_sleep
 
06.06.17
14:15
Как сделать так, чтобы на форме был элемент для выбора не элемента справочника, а справочника как элемента. Чтобы потом в коде пробежаться по всем элементам и пометить/удалить их.
1 YFedor
 
06.06.17
14:17
(0) Список значений на форме. В него при открытии заполняются Имена справочников
2 never_sleep
 
06.06.17
14:18
(1) Ясно.
3 HawkEye
 
06.06.17
14:26
(2) ждем темы, как получить имена справочников? )))
4 Смотрящий
 
06.06.17
14:30
(3) Чо там получать-то. Открыл конфигуратор и копипасте, копипасте.
5 HawkEye
 
06.06.17
14:34
(4) это не наш метод...
6 never_sleep
 
06.06.17
14:38
смейтесь смейтесь. я уже привык тут на мисте.
7 never_sleep
 
06.06.17
14:49
Процедура ПриОткрытии()
    Для К = 1 По Метаданные.Справочник() Цикл
        СпСправ.ДобавитьЗначение(Метаданные.Справочник(К));
    КонецЦикла;
КонецПроцедуры

Как теперь создать объект типа этого справочника?

Всякие извращения типа:

СпСправ.ПолучитьЗначение(СпСправ.ТекущаяСтрока());
Спр = СоздатьОбъект(ТипЗначенияСтр(СпСправ.ТекущаяСтрока()));

Разумеется не работают.
8 Масянька
 
06.06.17
14:50
(0) Феерично...
Да ты скажи, какая вина на мне, боярин? (С)
9 never_sleep
 
06.06.17
14:51
(8) Масянька, ты же добрая? Помоги, а. Что тебе стоит?)
10 Масянька
 
06.06.17
14:51
(7) Тебе надо весь справочник грохнуть?
Гусары! Молчать!
11 Масянька
 
06.06.17
14:52
(9) 50$
12 catena
 
06.06.17
14:52
(7)Ты руками в СоздатьОбъект что пишешь?
13 never_sleep
 
06.06.17
14:53
(10) Если это значит - пометить все элементы на удаление, то да. Но для начала дать выбрать какой именно.
14 never_sleep
 
06.06.17
14:54
(11) Вся моя зарплата.
15 HawkEye
 
06.06.17
14:54
(13) а тебя в отладчик не пускают, да?
16 Смотрящий
 
06.06.17
14:59
Для К = 1 По СпСправ.РазмерСписка() Цикл
    Спр = СоздатьОбъект("Справочник." + СпСправ.ПолучитьЗначение(К));
КонецЦикла;
17 Масянька
 
06.06.17
15:20
(13) А потом с помеченными чего делать будешь?
(14) Же не манж пассижур (С)
18 never_sleep
 
06.06.17
16:03
(16) ага.
(17) Жумапель Андрей.
Нужно было пометить в одной базе один справочник на удаление. Чтобы потом через стандартное удаление помеченных удалить. Можно найти обработку, да, но приспичило написать свою. Стало "интересно".
Собственно господа, мне бы хватило одной фразы:
Что сказал YFedor в (1) + "и передай выбранный элемент как строку в СоздатьОбъект" Все. Дальше бы я сам додумал. Но на мисте же так нельзя, да?)
19 Ray Zexter
 
06.06.17
16:15
Предлагаю написать как быстрее всего в 7.7 удалить конкретный справочник. Чтобы ТС стало еще "интереснее"!
20 HawkEye
 
06.06.17
16:33
(18) что мешало открыть отладчик убедиться, что
ТипЗначенияСтр(СпСправ.ТекущаяСтрока()) = "Число"
и понять, что конструкция СоздатьОбъект("Число") - бессмыслена?
21 Масянька
 
06.06.17
17:54
(18) У нас тут алес полный... Горячую воду отключили (профилактика), в бассейне - свет отключили, интернет колбасит весь день...
А вообще - в клюшках есть файл с расширением dd. Тама структура баз и пр. Находишь название своего справочника и грохаешь файл. Всё.
Алес капут.
22 Масянька
 
06.06.17
17:56
(19) Предлагаю - ТС заставить написать прогу на асме... Вот где будет интересно. И, главное, весело :)))))
23 Масянька
 
06.06.17
17:57
(18) И это - с твоими 22 см уже надо знать, что на мисте тебе объяснят: кто ты, что тебе делать и куда пойти :))))
24 never_sleep
 
06.06.17
18:47
(20) да да да. Затупил. Вообще хотел-то изначально написать
ТипЗначенияСтр(СпСправ.ПолучитьЗначение(СпСправ.ТекущаяСтрока())), но и там бы получил "метаданные". Ты бы просто написал "думаешь правильно, поиграйся с представлением всего этого в виде строки" все. дальше я сам.
Вообще я вот так написал:

ТекЗнач = СпСправ.ПолучитьЗначение(СпСправ.ТекущаяСтрока());
Спр = СоздатьОбъект("Справочник."+ ТекЗнач.Идентификатор);

(21) У меня алсес перманентный. Многодетный отец. Старшая дочь (4 года) и 2 посона (по 9 мес) Спать ложиться стали поздно в 23:30 - 24:00. Мы с женой в итоге в полпервого/в час. подъем у меня в шесть. И так последние месяца 2. Я сплю на ходу. Спасает только велик с работы/на работу. но чую одним прекрасным утром мой мотор крякнет. На работе мозг взорвали со своими торгами (223/44). С выгрузкой этой в которой то коды постоянно меняются, то требования к самой выгрузке. Меня уже на том конце программист контрагентов на три буквы посылает. Домой припедалил. жена на тренировку, на 2 часа. Из них я полтора носил этих спиногрызов на себе, спина стреляет в жеппу. Сейчас вот жена пришла, а я пока писал это сообщение раз 6-7 прерывался на "поноси минут пять". но все, вроде выговорился.
А про ДД я знаю. и мильен тыщу разов пользовался. Но мне не топорно надо было справочник грохнуть. А пометить. Чтобы удалить потом не обрывая ссылки.
(22) А что есть асма?
(23) У меня еще пока не 22, но я надеюсь что вырастет))
25 never_sleep
 
06.06.17
18:57
Пользуясь случаем, продолжу сношать вам всем тут мозг.
Все отлично работает на всех справочниках, кроме того, который мне был нужен "Партии ТМЦ" (ТиС 9.2). Справочник этот не пустой, но обход по элементам не происходит:

ТекЗнач = СпСправ.ПолучитьЗначение(СпСправ.ТекущаяСтрока());
Спр = СоздатьОбъект("Справочник."+ ТекЗнач.Идентификатор);
Спр.ВключатьПодчиненные();
Спр.ВыбратьЭлементы();
Пока Спр.ПолучитьЭлемент() = 1 Цикл
    Сообщить(Спр);
    //Спр1.Удалить(0);
    //Спр1.Записать();
КонецЦикла;

Что не так?
26 never_sleep
 
06.06.17
19:08
(25) Ну ты тупой ТС. Надо Спр.ВыбратьЭлементы(0);
Где же вас таких делают!
27 vadim777
 
06.06.17
20:34
(26) А мож ему надо и иерархию грохнуть?
28 HawkEye
 
06.06.17
22:14
(24) вот эта конструкция у меня вызывает несварение...
СпСправ.ПолучитьЗначение(СпСправ.ТекущаяСтрока());
29 HawkEye
 
06.06.17
22:15
(27) какая иерархия, если речь про подчиненные справочники?

зы. и кому ему? ))))
30 Ёпрст
 
06.06.17
23:54
(25)
Update спр
Set ismark=1
From $Справочник.ПартииНаличие Спр
31 Tarlich
 
07.06.17
00:01
Ох весельчак !!!! такие спр как партии удаляю так : открываю файл ДД блокнотом смотрю название файла нужной таблицы и удаляю сам файл.в тип Тис 9.2   партии SC214
32 never_sleep
 
07.06.17
07:53
(30) Левел не тот. Это прямые запросы 1с++? Я вообще думал, что все, клюшка загнулась и никем уже почти не используется. А оказывается такие крутые штуки к ней давно прикрутили.
(31) Да в курсе я как конкретный справочник/журнал/регистр грохнуть. Я собственно так базу и очистил от движений (батником). Да надо было так и партии грохнуть. Боялся ссылки битые получить.Но по идее все доки и движения уже грохнул, а партии больше нигде и не нужны. Да просто подумал, что под рукой нет простецкой обработки и стало интересно, как сделать так чтобы на форме можно было выбрать справочник, а не него элементы. Подумал сразу, что можно по метаданным пробежаться как вариант и запихнуть их в какой-нить элемент на форме, но потом подумал, что на мисте наверняка подскажут другой путь более правильный и красивый, а по факту тут то же самое предложили. а потом тупанул. ну и завертелось))
33 Масянька
 
07.06.17
09:42
(24) И нахрена тебе 1С? Открывай детский сад и воспитывай поколение....
Я сейчас, когда вспоминаю, как с малой сидела (гуляли, спали, игрались и пр.)...