Имя: Пароль:
1C
1C 7.7
v7: Можно ли программно изменить длину реквизита?
0 ARN
 
26.04.13
19:51
Например, есть у справочника реквизит строка длиной 10.
Можно ли написать код во внешней обработке, запустив которую, можно будет изменить длину реквизита, заданную в конфигураторе?
1 NS
 
26.04.13
19:52
(0) А сам как думаешь?
2 NS
 
26.04.13
19:53
Виноват, сама :)
3 leshikkam
 
26.04.13
19:56
(0) Если ооочень захотеть то можно. (База должна быть SQL)
4 zak555
 
26.04.13
19:57
да
5 NS
 
26.04.13
19:58
нет
6 NS
 
26.04.13
20:00
надо голосовалку прикрутить.
7 ARN
 
26.04.13
20:04
(4) Как?
8 Ёпрст
 
26.04.13
20:16
(7) такая большая и в сказки веришь ?
9 ARN
 
26.04.13
20:25
(8) Верю. Ну если определить можно. Неужели изменить никак нельзя?
10 mehfk
 
26.04.13
20:25
(8) сделать на копии, проанализировать sql запрос, сделать аналогичную операцию на боевой, одновременно подменив словарь и md-шник
сам не пробовал
11 mehfk
 
26.04.13
20:27
10+ написать bat-ник, который будет генерировать внешнюю обработку для выполнения этого чудесного действа.
12 Тьма
 
26.04.13
20:28
Поменять, наверное, на СКЛ и можно, но 1С будет работать с тем МД и ДДС-ом, которые загружены при запуске программы и до перезапуска изменений не увидит.
13 live in sky dreams
 
26.04.13
20:29
SPAM: "Увеличиваем длину реквизита! Безопасно и без операций!"
14 Rie
 
26.04.13
20:57
Структура MD и DD(S) - вроде бы, давно уже не тайна. Равно как и структура SQL и DBF баз.
Вопрос только - зачем такие игры?
15 live in sky dreams
 
26.04.13
21:03
+(14)
Ну да.. зачем?
Хранения реквизитов неопределенной длины и типа для объектов возможны в справочниках.. Можно таблу в скуле нарисовать и работать с ней прямыми запросами.. зачем ВОТ ТАК УЖ извращаться?
16 Злопчинский
 
26.04.13
21:05
пятничный топикстартер
17 Обработка
 
26.04.13
21:42
Платформа - движек по отношению к конфигурации является типа создателем -богом.
Как же можно изменить то что создал бог без его помощи?

Если сильно захотеть может быть и можно но не нужно.
Благо конфигуратор доступнее чем наш создатель-бог.
18 EvgeniuXP
 
26.04.13
21:48
(0) пишите пожелание, может в платформе 1С 9.0 и сделают :)
19 Волчара2010
 
26.04.13
21:50
(0) можно, на Си Плюс Плюс
20 andrewalexk
 
26.04.13
21:51
:) вот же злобные флудерасты...
21 Rie
 
26.04.13
21:53
(19) Можно и на 1Сике (файл - он и в Африке файл, и чем его читать/писать - не принципиально).
Только вот - зачем? (Это ТС так и не объяснил).
22 ШтушаКутуша
 
26.04.13
21:58
(0) Зоя, ты не можешь изменить длину силой мысли
23 ШтушаКутуша
 
26.04.13
21:58
+22 сочувствую :(
24 mehfk
 
26.04.13
23:01
(0) Раз уж пошлта такая пьянка, может быть озвучите, для чего нужна такая необходимость?
25 Волчара2010
 
26.04.13
23:06
(21) есть такое слово - НАДО
26 Злопчинский
 
27.04.13
00:41
(22) Зоя может изменить длину одним своим внешним видом!!
27 Попытка1С
 
27.04.13
00:43
(26) Зачет..
29 Torquader
 
27.04.13
00:59
На самом деле ничего смешного нет - я писал программу, которая сама "заходила" в конфигуратор и создавала там новые справочники - думаю, что ей и реквизиты поменять было бы не сложно. Только всё равно все должны выйти из боевой базы, чтобы это сработало.
30 NS
 
27.04.13
01:01
(29) Нафига?
31 Холст
 
27.04.13
01:28
хм... в 8ке реализовано ?
32 Torquader
 
27.04.13
03:03
(30) Стоял вопрос - за сколько время можно в конфигуратор 10 тыс. справочников впиндюрить - но оказалось, что даже в компьютерном варианте это достаточно долго.
P.S. конечно, можно разобрать и собрать MD по принципу Compound-а, но это не так интересно.
33 Злопчинский
 
27.04.13
03:07
"Русский человек за просто так може столько наху.рить"...
34 Туц
 
27.04.13
07:10
(0) Зачем?
35 ДенисЧ
 
27.04.13
08:04
Извините, можно спросить? Зачем это нужно?
36 Туц
 
27.04.13
08:40
В принципе я не пробовал, но что-то типа через 1с++ запрос.
Добавить колонку,
импорт в неё данных,
удалить старую,
создать новую с нужной длинной,
импортнуть из добавленной,
удалить добавленную
и может быть позаботиться от индексах.

В результате при входе на верификации получить ошибку, хотя это можно через подмену мд обойти.
(0) И сдаётся мне штатные методы не укладываются во временные рамки?
37 zak555
 
27.04.13
08:43
товар у монтажника может находится больше одного дня ?
38 zak555
 
27.04.13
08:43
не сюда
39 Рэйв
 
27.04.13
08:44
Нет.
40 Rie
 
27.04.13
09:12
(36) Единственная идея, которая приходит на ум, - если справочников много (как у Torquader в (29)), и надо синхронно поменять всем некий реквизит.
Но имхается мне, что в реальной работе такие задачи эээ... нечасто возникают.
41 Rie
 
27.04.13
09:12
(37) И ещё - позаботиться о Конфигураторе.
42 EvgeniuXP
 
27.04.13
10:38
(41) Это смотря как задача поставлена, понатыкают в каждый справочник табельный, а потом в одном справочнике меняют длину табельного, то и в остальных надо поменять - но проще поиском поменять.
43 Rie
 
27.04.13
11:55
(42) Ну, если "понатыкают в каждый справочник табельный" - то, по хорошему, надо бы завести отдельный справочник "Табельные". И в нём менять - хоть заменяйся. Что на прочие метаданные влиять не будет.
44 ЧеловекДуши
 
27.04.13
12:03
(0)Можно, я разрешаю :)
45 Pahomich
 
27.04.13
13:19
(0) Да элементарно, через внешнюю компоненту на ассемблере.
46 Ковычки
 
27.04.13
13:23
lzma
47 Mikeware
 
27.04.13
13:25
(43) зачем?
48 EvgeniuXP
 
27.04.13
15:14
(43) только твердолобым это не объяснишь, которым еще и за 60 лет.
49 Patrio_
O_Muerte
 
27.04.13
15:17
А лифчик можно было бы и поприличнее в личку вставить.
50 Rie
 
27.04.13
16:02
(47) Не понял вопрос.
"Зачем создавать отдельную таблицу для сущности, если эта сущность однозначно определяется одним из своих атрибутов?"
51 Mikeware
 
27.04.13
19:34
(50) Да. И везде ссылаться на сущность
52 Rie
 
27.04.13
19:36
(51) Именно потому, что отдельная таблица в 1С получит свой ID. Не зависящий от атрибута.
53 Torquader
 
28.04.13
16:46
(50) Ну, например, у нас есть сущность "ЕдиницаИзмерения" - она однозначно определяется названием, причём "шт", "кг" и т.п. занимает меньше места, чем ссылка на справочник. Но, мы можем потом добавить дополнительные реквизиты к сущности, а также препятствовать вводу дополнительных "сущностей" пользователем, который, скажем, захочет ввести "хз".
54 aka AMIGO
 
28.04.13
17:15
(0) длина реквизита задается в заголовке файла *.dbf, описывающего этот реквизит (поле), а также (в качестве эха) в файле *.DD

средства для работы с файлами dbf содержатся только в конфигураторе. При изменении параметров реквизита обычно просматривается вся БД, видимо, просмотр ссылок на него из других мест. Эти действия обычно скрыты от юзера. Что меняется при этом во всех взаимосвязях в 1С - распознать достаточно сложно.

1С-предприятие - это интерпретатор, он может Читать Заголовок файла dbf, и записывать в структуру (в поле реквизита) значение, но средств для изменения Заголовка в самом языке СУБД нет.

так что ответ однозначный: если система файловая - средств для изменения размеров и вида реквизита (поля субд) нет. Только в конфигураторе.

касательно SQL - не знаю.

Можно поменять структуру, если воспользоваться, например, FoxPro или FoxBase - но результат может быть плачевным.. Внесение изменений реквизита в конфигураторе 1С затрагивает не одно место/поле, а целый комплекс связей/ссылок, предусмотренных системой.

девушка, знание этих связей вам очень важно? Если есть в перспективе применение этих знаний - тогда вперед!
55 Rie
 
28.04.13
18:15
(51), (53) Так я об этом и пишу, собственно.
56 Тьма
 
28.04.13
20:08
(54)Незнание методов Xbase и неумение их применять, а также незнание возможности использования ВК для работы с дбф не избавляет от ответственности за дачу ложных показаний...
57 Torquader
 
28.04.13
21:57
Девушка уже давно в трансе, и её явно не интересует теоретическая возможность что-то сделать.
Просто, когда человек пересаживается в 1С после, например, Microsoft Access, где метаданные таблицы можно править на ходу, у него возникает ощущение, что 1С убогая.
Потом, конечно, понимаешь, что был продуман сложный процесс создания справочников и т.п., но желание - на лету создать реквизит в справочнике и сделать для него отдельный справочник для хранения - не теряется.
Просто потом 1С придумало такое понятие как дополнительные реквизиты, в которых они обошли возможность создания нового справочника использованием существующих и хранения данных в разных местах - но результатом такого решения являются сильные тормоза 1С при работе с такими реквизитами.
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.