Имя: Пароль:
1C
1С v8
Увеличение длины всех числовых реквизитов
0 Ar-Bus
 
20.03.13
10:43
Добрый день, специалисты! Необходимо увеличить длину реквизита "Сумма" у всех документов конфигурации с 12 до 15, например. Можно ли сделать это автоматически, если да, то как?
Или даже не только у реквизита "Сумма", а вообще у всех числовых реквизитов конфигурации???
Есть необходимость написать циферку больше 99 999 999, но длина реквизитов не позволяет!
1 ДенисЧ
 
20.03.13
10:45
говорят, в 8.3 всю конфу к хмл можно выгрузить...
2 Галахад
 
гуру
20.03.13
10:45
Есть чему позавидовать...
3 НафНаф
 
20.03.13
10:45
такие большие обороты?
вообще в примере 8 знаков
4 Defender aka LINN
 
20.03.13
10:46
(3) Видать, рисом поштучно торгуют :)
5 Галахад
 
гуру
20.03.13
10:46
(3) Запятая и копейки.
6 Ar-Bus
 
20.03.13
11:01
т.е. нет такой возможности, да? А может обработку написать можно? Ну там обойти все объекты метаданных или еще как...
7 Ar-Bus
 
20.03.13
11:03
ну т.е. написать обработку - в цикле осуществляется обход всех метаданных конфигурации с изменением длины реквизитов, у которых тип=число?
8 ДенисЧ
 
20.03.13
11:04
(6) программно метаданные менять нельзя, слава Валарам.
9 Sammo
 
20.03.13
11:04
Ручками.
10 НафНаф
 
20.03.13
11:05
(8) плохо, я бы хотел макросов в конфигураторе
11 Sammo
 
20.03.13
11:05
+8 "Спасибо Партии за это!!!" (с)
12 ДенисЧ
 
20.03.13
11:05
(10) А кофе не хочешь чтобы тебе конфигуратор делал? Или минет?
13 1Сергей
 
20.03.13
11:05
>>у всех документов конфигурации с 12 до 15

Документы называются "Документ12", "Документ13", "Документ14" и "Документ15"?
14 Ar-Bus
 
20.03.13
11:07
(13) длину увеличить с 12 до 15
15 Ткачев
 
20.03.13
11:07
А Снегопат не умеет ?
16 ДенисЧ
 
20.03.13
11:07
(14) да сразу до 22х, а то какой ты тогда 1сник...
17 orefkov
 
20.03.13
11:15
(15)
Умеет. Но стоит 4 тыщщи.
18 Ткачев
 
20.03.13
11:23
(0)Бери(17)пригодиться.
19 1Сергей
 
20.03.13
11:27
(18) учебник русского языка не дают в подарок?
20 orefkov
 
20.03.13
12:37
+(17)
Я вот даже накидал после обеда по быстрому код:
[code]
function mdFullName(mdObj)
{
   var name = []
   for(;;)
   {
       if(!mdObj.parent)
       {
           name.unshift(mdObj.container.identifier)
           break
       }
       else
           name.unshift(mdObj.mdclass.name(1) + "." + mdObj.name)
       mdObj = mdObj.parent
   }
   return name.join('.')
}

function trySetTypeOnSumm(mdObj, newType)
{
   try{
       var attr = mdObj.childObject("Реквизиты", "Сумма")
       attr.setProperty("Тип", newType)
       Message(mdFullName(attr))
   }catch(e){/* реквизита Сумма нет*/}
}

function macrosОбновитьВсеСуммы()
{
   var newType = v8New("ОписаниеТипов", "Число", v8New("КвалификаторыЧисла", 15, 2, ДопустимыйЗнак.Любой))
   // Переберем все документы
   for(var i = 0, c = metadata.current.rootObject.childObjectsCount("Документы"); i < c; i++)
   {
       var mdDoc = metadata.current.rootObject.childObject("Документы", i)
       trySetTypeOnSumm(mdDoc, newType)
       // Переберем ТЧ
       for(var k = 0, m = mdDoc.childObjectsCount("ТабличныеЧасти"); k < m; k++)
           trySetTypeOnSumm(mdDoc.childObject("ТабличныеЧасти", k), newType)
   }
}
[/code]

Проверил на типовой бух, отработало 82 реквизита.
21 orefkov
 
20.03.13
12:43
(8)
Можно, но не всем... :)
(10)
Так есть же!
22 Никола_
Питерский
 
20.03.13
12:47
(21) Александр, а переименовать справочники, документы, Регистры и т.д. ? Можно ?
23 НафНаф
 
20.03.13
12:51
(21) хочу встроенную в платформу
24 orefkov
 
20.03.13
12:54
(22)
Конечно.
Находишь объект метаданных и ему делаешь

   mdObj.setProperty("Имя", "ЖелаемоеИмя")

С синонимом чуть сложнее, там придется формировать строку во внутреннем представлении и делать через ЗначениеИзСтрокиВнутр, но все решаемо и делается.
25 orefkov
 
20.03.13
12:56
(23)
А, ну ждите, ждите.
А у меня принцип немного другой - "Мы не можем ждать милостей от природы. Взять их у нее - вот наша задача".
Это еще на сайте опенконфа написано было.
26 mistеr
 
20.03.13
12:57
Могу поспорить, что "вообще у всех числовых реквизитов конфигурации" это выпендреж. Составить список регистров и документов, посидеть пару дней - ничего не отвалится.

А вот проблем прибавится. Суммы по этим регистрам могут и переполнение дать где-нибудь.
27 orefkov
 
20.03.13
14:00
(22)
Вот пример как-раз:
https://snegopat.ru/video/modify_md