Имя: Пароль:
1C
1С v8
v8: Шедевр определения длины номера документа ;-)
,
0 runoff_runoff
 
03.02.14
21:45
Наше в коде вот такую конструкцию..

ДлинаНомера = Документы.РеализацияТоваровУслуг.СоздатьДокумент().Метаданные().ДлинаНомера;
1 mistеr
 
03.02.14
21:46
(0) Ну хорошо еще, что не Записать() + СтрДлина()
2 IamAlexy
 
03.02.14
21:47
(0) ваши предложения определения длины номера ?
3 runoff_runoff
 
03.02.14
21:51
Метаданные.Документы.РеализацияТоваровУслуг.ДлинаНомера
4 DJ Anthon
 
03.02.14
21:51
(1) а че? зато узнаем, сколько реально символов используется ))) только сразу после этого надо Удалить ))))
5 IamAlexy
 
03.02.14
21:55
(3) ваше решение работает лучше чем решение из (0)  ?
более точно определяет длинну номера ?
6 runoff_runoff
 
03.02.14
21:57
(5) ну наверное есть какая-то погрешность определения номера.. но все же стоит попробовать..
7 Фокусник
 
03.02.14
21:58
(5) в долях секунд быстрее ;)
8 Aswed
 
03.02.14
21:59
Надо просто использовать оператор
ДлинаНомераДокумента(Док)

курите 8.3
9 hhhh
 
03.02.14
22:23
(7) вроде наоборот Документы быстрее, чем Метаданные.Документы
10 H A D G E H O G s
 
03.02.14
22:32
(5) Решение не будет давать ошибки, которая может таитца в инициации модуля документа.
11 CepeLLlka
 
03.02.14
22:40
(9)Да чё спорить то.. отладчик же есть..

(0)Проверил бы... и выложил скрин..
12 Zerga
 
03.02.14
23:17
Особенно шустро способ из (0) будет отрабатывать, если в модуле документа инициализируется куча всякой муйни.
13 Armando
 
03.02.14
23:19
(0) Выкладывай свой код, вместе поржем.
14 pumbaEO
 
03.02.14
23:29
(13) смотри (3) , код из (0) не будет работать если не будет права на запись, а только на чтение.
15 Zombi
 
03.02.14
23:33
(14) Где в (0) запись?
16 GROOVY
 
03.02.14
23:34
Мисти писала видать.
17 zladenuw
 
03.02.14
23:36
(16) сарказм ? :)
18 Armando
 
03.02.14
23:36
(14) Я не об этом, я вообще.
Бесят умники, найдет лажу в чужом коде, и радуется.
Исправил молча и дальше фигачишь.
Каждый ляп на мисту постить и высмеивать, это не профессионально.
19 zladenuw
 
03.02.14
23:37
(0) а где именно расположен данный кусок ?
20 Eugeneer
 
03.02.14
23:38
У автора приступ гения.
Следующий хаг пойти к руководству и сказать - что за дибил у вас тут работал. Он ТАКОГО тут наделал.
21 Otkr
 
03.02.14
23:41
(20) Маня, это был твой код? Палишься же
22 mdocs
 
03.02.14
23:42
(0) По мне так кривая объектная модель 1С-ки виновата. Метод методанные() доступен для ссылки или объекта, но нифига не доступен для менеджера. Вернее доступен но задом-наперед Метаданные.Доокументы.БлаБлаБла и это уже не метод.
23 Eugeneer
 
03.02.14
23:43
(21) а чо сразу мой? Параноя? чуть речь о каком то коде зашла, об 1С, деньгах - сразу все маню вспоминают. Я вам еще ночью не снюсь?
24 zladenuw
 
03.02.14
23:43
(20) так в 90% случаях так и есть. что за быдло тут писал.
а в итоге 70% а то и более. такие же кодеры
25 zladenuw
 
03.02.14
23:43
у меня мантра перед сном. помни о стандартах 1с, при написание кода :)
26 pumbaEO
 
03.02.14
23:44
(15) а ты попробуй. Роль только чтение и попробуй СоздатьОбъект() , вывалиться по ошибке доступа.
27 Eugeneer
 
03.02.14
23:45
(24) "у вас бардак в базе, надо все переписывать" ))






Любой русский программист, после пары минут чтения кода, обязательно вскочит и произнесет, обращаясь к себе: переписать это все нафиг. Потом в нем шевельнется сомнение в том, сколько времени это займет, и остаток дня русский программист потратит на то, что будет доказывать самому себе, что это только кажется, что переписать это много работы. А если взяться и посидеть немного, то все получится. Зато код будет красивый и правильный. На следующее утро русский программист свеж, доволен собой и без единой запинки докладывает начальству, что переписать этот кусок займет один день, не больше. Да, не больше. Ну, в крайнем случае, два, если учесть все риски. В итоге начальство даст ему неделю и через полгода процесс будет успешно завершен. До той поры, пока этот код не увидит другой русский программист.



http://jokesland.net.ru/programmer.html
28 zladenuw
 
03.02.14
23:47
(27) 100500 :)
29 GROOVY
 
03.02.14
23:53
СоздатьДокумент() - это неявные объектные блокировки. Нафига они нам?
30 Otkr
 
03.02.14
23:53
(23) Я предпочитаю девушек, извини.
31 Otkr
 
03.02.14
23:54
(23) И да, о гомнокоде, заметь)
32 Eugeneer
 
04.02.14
00:01
(29) а я всю жизнь считал что Записать это блокировки.
33 GROOVY
 
04.02.14
00:07
(32) Это блокировки табличные.
34 Classic
 
04.02.14
00:07
(29)
А что там блокируется?
35 GROOVY
 
04.02.14
00:15
(34) Объект. Со всеми свойствами.
36 mdocs
 
04.02.14
00:24
ИМХО Блокировки - это слишком громко. Объект еще в базу не записан ну висит от в памяти, у него даже номера еще нет, к данным БД никак не привязан и никак к нему не обратиться из БД. Разве что лишнее выделение памяти.
37 Armando
 
04.02.14
00:24
СоздатьОбъект - это же новый объект, пусть себе блокируется... только непонятно от кого.
38 GROOVY
 
04.02.14
00:37
Механизм объектных блокировок - не простая вещь. Не думайте о ней поверхностно.
39 Фокусник
 
04.02.14
00:38
(9) при создать объект код из модуля выполняется, и прав может не хватить...
40 GROOVY
 
04.02.14
00:39
(36) Все правильно, не табличные данные. Но к этому срабатывают механизмы объектных блокировок.
41 Torquader
 
04.02.14
00:46
(40) Новый объект ничего не блокирует кроме кода (и то, если последний в момент создания генерится).
Конечно, в модуле документа у того, кто писал (0) нас могут поджидать и ещё более интересные сюрпризы и недочёты, поэтому, наверняка сказать сложно.
42 NcSteel
 
04.02.14
00:47
(33) Если упр блокировки то можно принебречь
43 NcSteel
 
04.02.14
00:47
(35) С потолка взял? ))
44 NcSteel
 
04.02.14
00:48
(38) Объектные блокировки не защищают данные и в данном случае максимум будет S блокировка в автоматическом режиме.
45 NcSteel
 
04.02.14
00:48
(44) / А по факту не будет ни каких.
46 Classic
 
04.02.14
11:31
(35)
В смысле экземпляр объекта? Или весь объект?
47 NcSteel
 
04.02.14
11:33
(46) В общем блокировок создаваться не будет. Так как нечего блокировать.
48 musdust
 
04.02.14
11:36
Процедура ПриЗакрытии()
Открыть();
КонецПроцедуры

Процедура ПриОткрытии()
Закрыть();
КонецПроцедуры
49 Balabass
 
04.02.14
11:39
Поется на распев:
"Если бы 1сники  были врачами
Какая жизнь тогда бы началась"
50 Zero on a dice
 
04.02.14
11:43
(10) никакой разницы - источник один и тот же - метаданные, что бы там ни выполнялось при создании, результат не изменится.
51 Classic
 
04.02.14
11:46
(50)
Если модуль не компилится, то вариант в (0) вывалится с ошибкой. А вот вариант метаданные. ... ошибки не даст
52 Zero on a dice
 
04.02.14
11:48
(51) понял о чем речь
53 pumbaEO
 
04.02.14
11:54
(52) мне кажеться ты не понял о чем речь.
54 Ненавижу 1С
 
гуру
04.02.14
11:54
Функция ИмяМесяца(Дата)
    
    Если ТипЗнч(Дата) = Тип("Дата") тогда
        НомерМесяца = Месяц(Дата);
        НомерГода = Год(Дата);
    Иначе        
        НомерМесяца = Число(Сред(Дата,5,2));    
        НомерГода = Число(Лев(Дата,4));    
    КонецЕсли;
    
    Если НомерМесяца = 1 тогда
        ИмяМесяца = "Январь";
    ИначеЕсли НомерМесяца = 1 тогда
        ИмяМесяца = "Январь";
    ИначеЕсли НомерМесяца = 2 тогда
        ИмяМесяца = "Февраль";  
    ИначеЕсли НомерМесяца = 3 тогда
        ИмяМесяца = "Март";  
    ИначеЕсли НомерМесяца = 4 тогда
        ИмяМесяца = "Апрель";
    ИначеЕсли НомерМесяца = 5 тогда
        ИмяМесяца = "Май";  
    ИначеЕсли НомерМесяца = 6 тогда
        ИмяМесяца = "Июнь";  
    ИначеЕсли НомерМесяца = 7 тогда
        ИмяМесяца = "Июль";
    ИначеЕсли НомерМесяца = 8 тогда
        ИмяМесяца = "Август";  
    ИначеЕсли НомерМесяца = 9 тогда
        ИмяМесяца = "Сентябрь";  
    ИначеЕсли НомерМесяца = 10 тогда
        ИмяМесяца = "Октябрь";
    ИначеЕсли НомерМесяца = 11 тогда
        ИмяМесяца = "Ноябрь";  
    ИначеЕсли НомерМесяца = 12 тогда
        ИмяМесяца = "Декабрь";
    КонецЕсли;
    
    Возврат ИмяМесяца + " " + Формат(НомерГода,"ЧГ=0");    
    
КонецФункции
55 Classic
 
04.02.14
11:56
(54)
годно
56 wowik
 
04.02.14
12:00
(20) +100
57 MSII
 
04.02.14
12:17
(54) Рарус-стайл.
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.