|
OFF: 1С - это годная вещь. Вы даже не знаете насколько. | ☑ | ||||||
---|---|---|---|---|---|---|---|---|
0
H A D G E H O G s
26.08.15
✎
21:37
|
Ночи доброй.
Давненько тем не заводил, некогда. Но напишу. Часто слышу упреки в адрес 1С, как платформы, особенно в ветках по 8.3.6 :-) Но, думаю, народ даже не подозревает, какой объем крови, пота и соплей Программистов фильтрует 1С-ка, защищая и оберегая их. Я и сам раньше не подозревал, но некоторые попытки написать некоторую систему на другом ЯП мне еще немного открыли глаза. Берегите 1С, это ваши спокойные нервы :-) |
|||||||
1
Забияка
26.08.15
✎
21:40
|
(0)+100500..
|
|||||||
2
H A D G E H O G s
26.08.15
✎
21:40
|
Ну и просто, задачка, съевшая мне мозг на один вечер (их на самом деле много было). Умеющим и имеющим Дельфи - велком.
procedure Test(); var inData,outData:OleVariant; DataSize:Integer; RawData:Array of byte; outDataAsString:string; begin inData:='Текстовая строка'; DataSize:=Length(inData)*2+2; //2 байта на символ + 2 байта на 2 "нулевых" символа в конце Setlength(RawData,DataSize); CopyMemory(@RawData[0],TVarData(inData).VOleStr,DataSize); GetMem(TVarData(outData).VOleStr,DataSize); CopyMemory(TVarData(outData).VOleStr,@RawData[0],DataSize); TVarData(outData).VType:=varOleStr; outDataAsString:=String(outData); end; Необходимо избавится от access violation и объяснить, что и почему пошло не так. Смысл задачи - "сериализация"/"десериализация" OleVariant. |
|||||||
3
jsmith82
26.08.15
✎
21:41
|
поддержу автора темы
|
|||||||
4
spectre1978
26.08.15
✎
21:44
|
(0) в целом поддержу, но в ряде случаев дельфа все-таки рулит, например при дружбе с железками по всяким компортам/сокетам. Не, я понимаю, что в 1С это тоже можно. Но в гамаке и стоя.
|
|||||||
5
Забияка
26.08.15
✎
21:45
|
(2)Дим, ты помощь ищешь в решении задачи? :)
|
|||||||
6
spectre1978
26.08.15
✎
21:45
|
+ (4) короче, как обычно, нужно выбирать инструмент по задаче
|
|||||||
7
H A D G E H O G s
26.08.15
✎
21:46
|
(5) Я уже решил.
|
|||||||
8
ДенисЧ
26.08.15
✎
21:47
|
Шо, даже дельфя хуже? О_о
|
|||||||
9
spectre1978
26.08.15
✎
21:50
|
(2) Когда-то что-то подобное я делал... кажется, выпихивал мелкий по размерам вариант в бинаридата ключ реестра. Только не уверен что найду.
|
|||||||
10
Enterprise
26.08.15
✎
21:50
|
Изучал Делфи в колледже... что тут сказать, люблю 1С...
|
|||||||
11
wizard_forum
26.08.15
✎
21:56
|
(8) Делфи не хуже! (как и прочее)
просто, в 1С многое сделали, чтобы ты не парился над мелочами |
|||||||
12
tridog
26.08.15
✎
21:56
|
(2) А этот ваш OleVariant в делфях это что такое? Тип-обертка для позднего связывания?
|
|||||||
13
jsmith82
26.08.15
✎
21:59
|
дельфи я не люлю
мне си шарп по нраву. это красота |
|||||||
14
mishaPH
модератор
26.08.15
✎
22:05
|
(0) У меня есть живей пример, уже 1.5 последних года. Система ERP на джаве и т.п. На которую мы переходим..
я с тобой полностью согласен. |
|||||||
15
jsmith82
26.08.15
✎
22:16
|
а куба чо, жива?
|
|||||||
16
Славен
26.08.15
✎
22:17
|
После сапа, 1с божественна
|
|||||||
17
Asmody
26.08.15
✎
22:25
|
Именно. 1С:Предприятие - пожалуй лучший фреймворк для быстрого создания бизнес-приложений. По продуктивности ближайшие аналоги где-то совсем неблизко. Работает это всё, местами, не очень, но во-первых, таких мест немного, а во-вторых, не бывает систем без багов.
|
|||||||
18
oleg_km
26.08.15
✎
22:35
|
Параллельно пишу на шарпе - нет таких проблем. Вы еще с ассемблером сравните
|
|||||||
19
Злопчинский
26.08.15
✎
22:38
|
1С - это мегапусечка...
|
|||||||
20
Zamestas
26.08.15
✎
22:39
|
(2) Не пишите Вы на этой дряни - пользуйте (13,18).
|
|||||||
21
Пикчер
26.08.15
✎
22:57
|
(2) паскакал не яп, а блевотина
|
|||||||
22
Wirtuozzz
26.08.15
✎
23:00
|
1С нормальная штука, с учетом что аналогов то нет. Поэтому хорошо, что 1с Предприятие есть и развивается.
|
|||||||
23
vde69
26.08.15
✎
23:03
|
по сравнению с автолиспом 1с не просто божество а божество божества :)
вообще 1с очень хорошая среда разработки, у нее есть свои скелеты, но для бизнес логики это один из мировых лидеров в плане удобства и функционала. |
|||||||
24
vde69
26.08.15
✎
23:04
|
писал коммерческие проекты на кларионе, автолиспе, паскале.
был постановщиком для с++ 1с - куда круче всего этого :) |
|||||||
25
H A D G E H O G s
26.08.15
✎
23:05
|
(12) Это всего лишь структура, с которой delphi прозрачно работает.
|
|||||||
26
H A D G E H O G s
26.08.15
✎
23:06
|
Ну, граждане, кто осилит (2) ?
|
|||||||
27
H A D G E H O G s
26.08.15
✎
23:06
|
(21) Сперва добейся.
|
|||||||
28
vde69
26.08.15
✎
23:08
|
(26) на сколько я помню в дельфях есть 2 взаимоисключающих метода выделения и операций с памятью, мне кажется, что дело в этом...
|
|||||||
29
Zamestas
26.08.15
✎
23:09
|
(26) +Где именно валится - не в CopyMemory(@RawData[0],TVarData(inData).VOleStr,DataSize);
случаем? |
|||||||
30
H A D G E H O G s
26.08.15
✎
23:10
|
(28) чего?
|
|||||||
31
H A D G E H O G s
26.08.15
✎
23:11
|
(29) Нет, валится на строке
outDataAsString:=String(outData); |
|||||||
32
Пикчер
26.08.15
✎
23:18
|
(31) ну ты памяти выделил на один тип, а просишь другой
|
|||||||
33
vde69
26.08.15
✎
23:18
|
(30)я про работу с кучей, у тебя используется GetMem которая имеет ограничения
(31)по сколько валится на преобразовании типов, значит в outData содержится объект который не может быть преобразован в строку, нужно посмотреть значения массива |
|||||||
34
viraboy
26.08.15
✎
23:20
|
(0) Программистам которые на других языках не волокут и в 1С многого не светит. минимум скуль
|
|||||||
35
H A D G E H O G s
26.08.15
✎
23:21
|
(32) И?
|
|||||||
36
H A D G E H O G s
26.08.15
✎
23:23
|
(33) GetMem не имеет ограничений.
(33) "который не может быть преобразован в строку" - все можно "преобразовать" в строку. |
|||||||
37
vde69
26.08.15
✎
23:23
|
(35) например первый символ массива содержит число больше размера массива
|
|||||||
38
H A D G E H O G s
26.08.15
✎
23:23
|
p.s. Запустите кто-нибудь Дельфи, это вас позабавит.
|
|||||||
39
H A D G E H O G s
26.08.15
✎
23:23
|
(37) Ты застрял в 90-х.
|
|||||||
40
Zamestas
26.08.15
✎
23:25
|
(38) Нету у меня дельфи - и ставить религия не позволяет.
Длина outData перед приведением к строке какая? |
|||||||
41
Пикчер
26.08.15
✎
23:26
|
(35) и на типизацию дай памяти. на точки кавычки. Что за хрень все байтами мерить не 90 е же
|
|||||||
42
H A D G E H O G s
26.08.15
✎
23:26
|
(40) 16 байт.
|
|||||||
43
Пикчер
26.08.15
✎
23:31
|
(42) я же говорю паскакал. где еще два
|
|||||||
44
Zamestas
26.08.15
✎
23:35
|
(42) А если
DataSize:=Length(inData)*2+3; Вылетает? |
|||||||
45
H A D G E H O G s
26.08.15
✎
23:36
|
(44) Вылетает. Но так делать нельзя.
|
|||||||
46
H A D G E H O G s
26.08.15
✎
23:37
|
(43) В C++ проблема будет точно такая -же. Скорее всего.
|
|||||||
47
Zamestas
26.08.15
✎
23:37
|
(45) Мля да там DataSize везде пляшет.
|
|||||||
48
Zamestas
26.08.15
✎
23:39
|
(47) Скорее Setlength(RawData,DataSize+1);
|
|||||||
49
Лефмихалыч
26.08.15
✎
23:39
|
(0) ты прямо Христофор Доминикович Колумб...
|
|||||||
50
H A D G E H O G s
26.08.15
✎
23:39
|
(48) Гадание не поможет. Только отладчик.
|
|||||||
51
Американец1
26.08.15
✎
23:44
|
При конвертации string в массив байтов ты потерял длину строки, которая хранится по отрицательному смещению.
|
|||||||
52
Zamestas
26.08.15
✎
23:44
|
(50) Ну дяди OleVariant в String на дельфях как то так пихают:
http://www.foxbase.ru/delphi/vzaimnye-preobrazovaniya-olevariant-i-string.htm |
|||||||
53
H A D G E H O G s
26.08.15
✎
23:46
|
(51) Ура. Опыт?
|
|||||||
54
Американец1
26.08.15
✎
23:46
|
(53) Огромный
|
|||||||
55
H A D G E H O G s
26.08.15
✎
23:48
|
Собственно, пример я привел к тому, что BSTR строки хранят свою длину в 4 байтах до указателя, и слава яйцам, что 1С ограждает нас от таких знаний.
Самое забавное, что Дельфи в отладчике ориентируется на C++ строку и нормально ее показывает. |
|||||||
56
Американец1
27.08.15
✎
00:06
|
Так сработает:
// CopyMemory(TVarData(outData).VOleStr,@RawData[0],DataSize); TVarData(outData).VOleStr := PChar(WideString(PChar(@RawData[0]))); Там еще забавные грабли есть. BSTR хранит длину в байтах, а string в символах. Можно нарваться если кастить бездумно. Например так не сработает. Обрежет строку наполовину TVarData(outData).VOleStr := PChar(string(PChar(@RawData[0]))); |
|||||||
57
H A D G E H O G s
27.08.15
✎
00:10
|
(56) Передай OleVariant по сети, говорили они. Это удобно, в нем все есть, говорили они...
|
|||||||
58
Американец1
27.08.15
✎
00:10
|
//GetMem(TVarData(outData).VOleStr,DataSize);
Это лишнее. Тем более, что никто потом не освобождает. |
|||||||
59
H A D G E H O G s
27.08.15
✎
00:12
|
Я сделал так:
if TVarData(currentElement^.Data).VType = varOleStr then begin // В переменной - строка, ее храним отдельно datasize := sizeof(Integer); // Длина строки CopyMemory(@DataLength, position, datasize); position := ptr(THandle(position) + datasize); datasize := DataLength * 2; GetMem(DataPointer, datasize + 6); CopyMemory(DataPointer, @datasize, 4); // Длина строки для WideString DataPointer := ptr(THandle(DataPointer) + 4); datasize := datasize + 2; CopyMemory(DataPointer, position, datasize); // Длина строки для WideString TVarData(currentElement^.Data).VOleStr := DataPointer; position := ptr(THandle(position) + datasize); end; |
|||||||
60
H A D G E H O G s
27.08.15
✎
00:13
|
(58) Это мне поток eureka скажет, пока не до этого.
|
|||||||
61
H A D G E H O G s
27.08.15
✎
00:13
|
поток -> потом
|
|||||||
62
Американец1
27.08.15
✎
00:13
|
У тебя утечка памяти.
|
|||||||
63
Американец1
27.08.15
✎
00:14
|
Мой способ короче :)
|
|||||||
64
H A D G E H O G s
27.08.15
✎
00:15
|
(62) Дельфи, когда будет убивать переменную currentElement^.Data - должна ее почистить.
|
|||||||
65
Американец1
27.08.15
✎
00:17
|
(64)
Не почистит. Компилятор не знает как и чем ты выделял память. Если явно вызывал GetMem должен явно и освобждать. |
|||||||
66
H A D G E H O G s
27.08.15
✎
00:18
|
Нигде, кстати, не нашел, что WideString работает со строкой, как с BSTR строкой.
Вот, кстати, http://www.delphibasics.ru/WideString.php путают WideString (BSTR) и AnsiString (String от Delphi) |
|||||||
67
H A D G E H O G s
27.08.15
✎
00:18
|
(65) Счаст проверим.
|
|||||||
68
H A D G E H O G s
27.08.15
✎
00:19
|
(67) Че ему знать, он видит OleVariant в которой есть указатель на BSTR строку. Должен ее почистить.
|
|||||||
69
Американец1
27.08.15
✎
00:21
|
(66) По факту это так. Для WideString память выделяется с виндовой кучи SysAllocStringLen.
(68) Если попытается - слетит. Для BSTR вызывается SysFreeString. А ты выделил через GetMem. Это разные кучи (heap) |
|||||||
70
Американец1
27.08.15
✎
00:22
|
procedure Test();
var inData,outData:OleVariant; DataSize:Integer; RawData:Array of byte; outDataAsString:string; outDataAsStringW:WideString; begin inData:= 'Текстовая строка'; DataSize:=Length(inData)*2+2; //2 байта на символ + 2 байта на 2 "нулевых" символа в конце Setlength(RawData,DataSize); CopyMemory(@RawData[0],TVarData(inData).VOleStr,DataSize); TVarData(outData).VType:=varOleStr; TVarData(outData).VOleStr := PChar(WideString(@RawData[0])); outDataAsString:=String(OutData); outDataAsString:=String(TVarData(outData).VOleStr); end; |
|||||||
71
H A D G E H O G s
27.08.15
✎
00:23
|
(69) Понятно.
|
|||||||
72
H A D G E H O G s
27.08.15
✎
00:23
|
(69) У BSTR есть 2 нулевых байта в конце?
|
|||||||
73
Американец1
27.08.15
✎
00:25
|
(72) Да есть
|
|||||||
74
H A D G E H O G s
27.08.15
✎
00:26
|
Да, утекло 38 байт.
procedure Test(); var inData,outData:OleVariant; DataSize:Integer; RawData:Array of byte; outDataAsString:string; DataPointer:Pointer; begin inData:='Текстовая строка'; DataSize:=Length(inData)*2+2; //2 байта на символ + 2 байта на 2 "нулевых" символа в конце Setlength(RawData,DataSize); CopyMemory(@RawData[0],TVarData(inData).VOleStr,DataSize); GetMem(DataPointer,DataSize+4); CopyMemory(DataPointer,@DataSize,4); DataPointer:=ptr(THandle(DataPointer)+4); CopyMemory(DataPointer,@RawData[0],DataSize); TVarData(outData).VType:=varOleStr; TVarData(outData).VOleStr:=DataPointer; outDataAsString:=String(outData); end; |
|||||||
75
H A D G E H O G s
27.08.15
✎
00:27
|
Ладно, спасибо большое про "Для WideString память выделяется с виндовой кучи SysAllocStringLen"
Чувствую, сношался бы с этим. |
|||||||
76
H A D G E H O G s
27.08.15
✎
00:27
|
(75) И вот хрен где это найдешь.
|
|||||||
77
Американец1
27.08.15
✎
00:29
|
Кстати, не два нулевых байта, а два нулевых симбола (4 байта)
Это позволяет иметь нулевые символы в середине BSTR строки |
|||||||
78
Американец1
27.08.15
✎
00:29
|
(75) Было приятно вспомнить.
|
|||||||
79
H A D G E H O G s
27.08.15
✎
00:34
|
(77) Точно?
|
|||||||
80
H A D G E H O G s
27.08.15
✎
00:42
|
||||||||
81
Американец1
27.08.15
✎
00:43
|
(79) Точно
A string of Unicode characters. May contain multiple embedded null characters. https://msdn.microsoft.com/en-us/library/windows/desktop/ms221069(v=vs.85).aspx Но если миксить с Delphi string то строка обрежется до первого ноля. |
|||||||
82
Американец1
27.08.15
✎
00:47
|
(80) null terminator опциональный для BSTR. Его может и не быть.
В твоем случае это не null terminator, а нулевой символ. Сделай String(@RawData[0]) и увидишь |
|||||||
83
H A D G E H O G s
27.08.15
✎
00:57
|
(82) неа.
Сделай String(@RawData[0]) и увидишь Я вижу это не потому что там нулевой символ, а потому что Дельфи привело это к типовой структуре String. type PStrRec = ^StrRec; StrRec = packed record // Заголовок строки 8 байт refCnt: Longint; // 4 байта – счетчик ссылок length: Longint; // 4 байта – длина строки end; Но String считает длину строки в символах, а BSTR в байтам, в получается, что Дельфи получило строку в 2 раза больше (префикс BSTR попал в поле length) и выползло за пределы строки. |
|||||||
84
Американец1
27.08.15
✎
00:59
|
Ok. А теперь посмотри
WideString(@RawData[0]); |
|||||||
85
H A D G E H O G s
27.08.15
✎
01:04
|
(84) гхм..
"Не могу узреть под таким углом" |
|||||||
86
H A D G E H O G s
27.08.15
✎
01:09
|
Все, я окончательно затупил.
В 4 байтах перед @RawData[0] вообще содержится мусор, и на него не ориентируется WideString(@RawData[0]), раз показывает "приемлимую" строку, так? |
|||||||
87
Американец1
27.08.15
✎
01:10
|
А так :)
WideString(PChar(@RawData[0])); В этом случае байты сначала кастятся в С-style sting (PChar) До первого нуля. Потом С string кастится в string(WideString) которая хранит длину без учета терминатора |
|||||||
88
H A D G E H O G s
27.08.15
✎
01:11
|
Значит WideString(@RawData[0]) идет до нулевых символов, так?
Она останавливается, когда встречает 2 нулевых байта, и предыдущий нулевой включает в значущую строку? |
|||||||
89
H A D G E H O G s
27.08.15
✎
01:17
|
Ладно, сколько там у вас по Североамериканско-Восточному? 18:17? Пора домой. А мне - спать.
|
|||||||
90
Американец1
27.08.15
✎
01:29
|
(88) Да, именно так. Вызывается С-style Length, которая идет до первого ноля.
Спок ночи. |
|||||||
91
Снежный человек
27.08.15
✎
02:11
|
Надо 1СИконы.Делать и по Улица.Ходить, благодарить Братьев за пищу.
|
|||||||
92
Трик
27.08.15
✎
07:25
|
Надо на мисте уже под форум делать по другим языкам :).
|
|||||||
93
ifso
27.08.15
✎
07:28
|
(92) или лучше падаждем гуглопромтовского автоперводчика, не?)
|
|||||||
94
Трик
27.08.15
✎
08:15
|
@ H A D G E H O G s
а зачем тебе дельфи? И на чем еще пишешь помимо? :) |
|||||||
95
rphosts
27.08.15
✎
08:16
|
(0) +100500, мне очень нравилось что Нуралиев финансирует в т.ч. развитие всяких механизмов потребность в которых не особо и велика но иногда они реашют!
|
|||||||
96
spectre1978
27.08.15
✎
08:17
|
(94) ну попробуй напиши на 1С, скажем, открытие бинарника (EXE, DLL) и показ его на форме в 16-ричном виде
|
|||||||
97
spectre1978
27.08.15
✎
08:18
|
+ (96) или софт сбора данных с сотни датчиков, среди которых есть подключенные по Ethernet, по RS422 и RS485
|
|||||||
98
Трик
27.08.15
✎
08:20
|
(97) две большие разницы подрабатывает ли 1сник еще просто прогом в органзации или совокупляет 1с с чем то:).
|
|||||||
99
spectre1978
27.08.15
✎
08:25
|
(98) я не вижу разницы. Есть задачи по автоматизации, можешь - решаешь, получаешь бабло. Мне все равно. Я вполне могу сегодня с PLC в цеху махаться, а завтра бухам расчеты в ЗУП смотреть.
|
|||||||
100
spectre1978
27.08.15
✎
08:28
|
и дельфа очень даже годный инструмент. А ребятам - ежу и американцу - респект. Сейчас прочитал - прямо студенческие годы вспомнил... Так же и я когда-то ковырялся в системном программировании, сейчас, правда, это надо все реже и реже
|
|||||||
101
aka AMIGO
27.08.15
✎
08:29
|
(96) попробуй напиши на 1С, скажем, открытие бинарника (EXE, DLL) и показ его на форме в 16-ричном виде
зачем это нужно? 1С - язык объектно-ориентированный, названия приложений 1С говорит само за себя: БУ, ЗиК, ЗУП, ТиС и др.пр. И прекрасно выполняет означенные функции внутри приложений: БухУчет, работа с ПС, представление ХО в удобочитаемом (и даже привычном для бухов) виде. Если бы язык 1С был ориентирован на программистов, тогда - да, можно было-бы на нём создать операционную систему, вместо винды, к примеру, и забавляться играми.. Ничего этого не нужно для пользователей, на которых и ориентированы эти 1с-приложения. Пытаться приклеить сбоку несовместимые разработки, и ворчать, что 1С - такая-растакая, вас не понимает - в конце концов - смешно. |
|||||||
102
spectre1978
27.08.15
✎
08:30
|
(101) попробуй напиши на 1С, скажем, открытие бинарника (EXE, DLL) и показ его на форме в 16-ричном виде
зачем это нужно? . Это был ответ на вопрос . (94) а зачем тебе дельфи? |
|||||||
103
aka AMIGO
27.08.15
✎
08:31
|
(102) принято :)
|
|||||||
104
rphosts
27.08.15
✎
08:35
|
(101) скорее предметно-ориентированный и заточенный под написание учётных систем
|
|||||||
105
oleg_km
27.08.15
✎
08:35
|
Не понял только в чем задача? Может подойдут более высокоуровневые функции, типа SysAllocString или _com_util::ConvertStringToBSTR(lcRes)?
|
|||||||
106
Трик
27.08.15
✎
08:54
|
(104) угу 1с 8.х даже более того - проблемно-ориентированный язык.
|
|||||||
107
Трик
27.08.15
✎
08:58
|
(102) собственно я и хотел у автора узнать чего он конкретно клеет к 1с :). теоретические примеры я и сам могу придумать :)
|
|||||||
108
detec
27.08.15
✎
09:19
|
1С 8.3 по возможностям и скорости разработки действительно опережает аналоги. Я весной этого года создал тему на международном форуме по Java, где пытался сравнить JavaFX и 1С 8. Модератор форума назвал 1С 8 "впечатляющим инструментом", хотя, конечно, раньше о ней не слышал.
Проблема 1С 8 в одном - это экосистема. Т.е. работа с непосредственными пользователями и заказчиками, которые платят в упавших национальных валютах, а не в долларах. И платящих, по международным меркам, гроши. Поэтому лично я, кривясь и морщась, всё же решил переходить в будущем на технологии Java. |
|||||||
109
Господин ПЖ
27.08.15
✎
09:30
|
дельфи кака
я когда ее код читаю - глаза слезятся c# рулит |
|||||||
110
itlikbez
27.08.15
✎
09:36
|
(109) Зачем ты читаешь код? Ты что? компьютер?
|
|||||||
111
Господин ПЖ
27.08.15
✎
09:37
|
(110) наркоман, лови уже сам себя
|
|||||||
112
Злопчинский
27.08.15
✎
09:46
|
Предлагаю Американец1 и H A D G E H O G s забанить за злостные издевательства над одинэсниками.. ;-)
|
|||||||
113
Александр с АвтоВАЗа
27.08.15
✎
09:47
|
ИМХО
Работал в Delphi, C++, немного знаю PHP Какое-то время пытался работать с Oracle 1С занимаюсь последние 10 лет По поводу 1С могу сказать только то, что она предназначена для небольших организаций. Вполне оправдывает себя в плане автоматизации небольших организаций - бух. учет, производство и мн. другие предметные области. У 1С только 2 ограничения: 1) для больших организаций она никак не катит, в этом случае разрабатывается специальное ПО, например на базе Oracle, SAP. В банковской системе тоже используется не 1С 2) область распространения 1С - только Россия, и несколько стран СНГ, такие как Беларусь и Казахстан |
|||||||
114
ДенисЧ
27.08.15
✎
09:48
|
@ля больших организаций она никак не катит@
обоснуй |
|||||||
115
Александр с АвтоВАЗа
27.08.15
✎
09:51
|
(114) назовите хоть 1 крупную организацию, с численностью от 3-5 тысяч человек, в которой на 1С держится полностью вся автоматизация - производство, бух. учет. Я лично такой не знаю
Также не знаю ни одного банка, в которой бы использовалась 1С |
|||||||
116
ДенисЧ
27.08.15
✎
09:52
|
(115) Если ты такой не знаешь - это не значит, что их нет.
А про банки - тут есть HR Охотница за головами (вроде так). Скажи ей, что 1с в банках не нужна. |
|||||||
117
ДенисЧ
27.08.15
✎
09:53
|
Кроме того, я знаю как минимум 1 банк с 1с
|
|||||||
118
Rovan
гуру
27.08.15
✎
09:53
|
+(101) Фирма 1С выпускает так же множество игр... можно узнать на чем там их пишут :-)
Сама 1С платформа вроде написана на С++. |
|||||||
119
Американец1
27.08.15
✎
09:53
|
(112) Tcc. Я только зарегистрировался.
|
|||||||
120
Oftan_Idy
27.08.15
✎
09:54
|
(115) Есть такой ларек, называется Газпром. Вся его бухгалтерия работает на 1С. В Сап выгружаются только отчеты для иностранных инвесторов
|
|||||||
121
Александр с АвтоВАЗа
27.08.15
✎
09:54
|
(117) ну если только это банк, находящийся на 100-ой и выше в рейтинге страны
|
|||||||
122
Oftan_Idy
27.08.15
✎
09:54
|
(118) разработка игры в 1С сдохла уже давно
|
|||||||
123
Александр с АвтоВАЗа
27.08.15
✎
09:55
|
(120) бух. учет автоматизировать реально. А само производство Газпрома работает не на 1С же
|
|||||||
124
Господин ПЖ
27.08.15
✎
09:55
|
(117) банк рехнулся и ведет там основную деятельность?
купленный актив путь хоть на счетах ведется |
|||||||
125
oleg_km
27.08.15
✎
09:55
|
(122) А они разве разрабатывали игры? Они же вроде были издателями и распространителями?
|
|||||||
126
Господин ПЖ
27.08.15
✎
09:56
|
>разработка игры в 1С сдохла уже давно
они занимались изданием |
|||||||
127
Rovan
гуру
27.08.15
✎
09:56
|
+(113) Правда ?
А вот у нас довольно большая фирма - несколько тысяч сотрудников, пользователей 1С сейчас примерно 150, к концу года будет примерно 300. Запускаем ERP. |
|||||||
128
Александр с АвтоВАЗа
27.08.15
✎
09:56
|
(118) назовите хоть 1 игру 2015-ого года?
|
|||||||
129
Александр с АвтоВАЗа
27.08.15
✎
09:56
|
(127) несколько тысяч - это от 5 и выше?
|
|||||||
130
Славен
27.08.15
✎
09:57
|
(115) эхх.. мля знаю две компании по 10-15 тыров человек где зуп считается на 1с
|
|||||||
131
vde69
27.08.15
✎
09:57
|
(115) непосредственно банковский софт не на 1с не по причине масштабируемости, основная причина использования всяких диасофтов - лицеензирование и проблеммы перехода.
Технических проблем написать на 1с банк (не большой) просто нет... Лично я писал учет факторинга (примерно то же самое, что банк). (116) я работал в банке, 1с там ОЧЕНЬ нужна :) |
|||||||
132
Славен
27.08.15
✎
09:58
|
(127) Шинный?
|
|||||||
133
шаэс
27.08.15
✎
09:59
|
(127) т.е. будет только ЕРП и никаких больше учетных систем?
|
|||||||
134
Lyekka
27.08.15
✎
09:59
|
(113) За область распространения скажет вот этот список
https://1c-dn.com/partners/partners/ |
|||||||
135
Александр с АвтоВАЗа
27.08.15
✎
10:01
|
(134) одно дело - область распространения, другое дело - объем реализации 1с в этих странах, внедрение и сопровождение
|
|||||||
136
Александр с АвтоВАЗа
27.08.15
✎
10:06
|
но 1С довольно хорошо продвигает свое программное обеспечение во многих областях в России, и это очень хорошо. Говоря проще, пока есть 1С, у программиста 1С есть работа, всегда будут "хотелки" и вопросы по программному обеспечению со стороны пользователей - от обычного рабочего, который набивает документы, до управляющего, которому необходимо видеть отчетность, касающейся деятельности предприятия
|
|||||||
137
Гёдза
27.08.15
✎
10:09
|
Разве делфя еще жива?
|
|||||||
138
Александр с АвтоВАЗа
27.08.15
✎
10:09
|
И в этом есть плюс программиста 1С в России - Сишники и Дельфийцы жестче привязаны к конкретным организациям, а у программиста 1С довольно разнообразный выбор - страхование, различного рода производство, хозрасчетная и бюджетная бухгалтерия, оптовая и розничная торговля, ресторанный бизнес и многое другое
|
|||||||
139
detec
27.08.15
✎
10:10
|
(136) Работа в ближайшее десятилетие будет. Вопрос в том, сколько за неё готово платить постсоветское общество.
|
|||||||
140
Александр с АвтоВАЗа
27.08.15
✎
10:10
|
(137) За границей программист 1С работы себе не найдет, а Дельфией без особых проблем. В России же наоборот - программисту по Делфи работу себе будет найти потяжелее, особенно в провинции
|
|||||||
141
Господин ПЖ
27.08.15
✎
10:11
|
(140) кому это надо - работают удаленно... но естественно не с дельфи - она за пределами снг никому не упала
|
|||||||
142
Кирпич
27.08.15
✎
10:17
|
(0) написал какую то ересь с детскими ошибками. накой оно людям надо в этом разбираться. лучше бы какую нибудь задачу предложил решить.
|
|||||||
143
Господин ПЖ
27.08.15
✎
10:20
|
(138) как раз наоборот... 1с-ники жестко привязаны к учетным системам в пыльных кабинетах бухов
|
|||||||
144
aka AMIGO
27.08.15
✎
10:20
|
(140) был-же в форуме один программист, работал в африке - уж забыл: Конго, кажется. "У нас тут везде кондиционеры" - так нас успокоил, так что 1С-ке комфортно и в африке :)
|
|||||||
145
Американец1
27.08.15
✎
10:21
|
(141) >>не с дельфи - она за пределами снг никому не упала
Действительно, работы на D не очень много. С другой стороны, лично знаю пару человек, которым сделали рабочую визу, потому что не смогли найти дельфистов на местности. |
|||||||
146
mTema32
27.08.15
✎
10:24
|
(143) Я за 8 лет с 1С бухгалтерий и зупом занимался процентов так 10, от общего объема других задач.
Не люблю бухгалтерию. Та еще нуднейшая тягомотина. |
|||||||
147
Господин ПЖ
27.08.15
✎
10:25
|
>С другой стороны, лично знаю пару человек, которым сделали рабочую визу, потому что не смогли найти дельфистов на местности.
и что это меняет? если местные не идут на эту работу - нужен или мега-спец и вы круты или там полная ж.па и никому эта работа не нужна кому потом продать эти навыки? |
|||||||
148
Гёдза
27.08.15
✎
10:25
|
(138) За границей с Дефями? ну-ну
|
|||||||
149
Господин ПЖ
27.08.15
✎
10:26
|
(146) Angry Bird писал? или нейросетями занимался?
|
|||||||
150
Американец1
27.08.15
✎
10:28
|
(147) >>и что это меняет?
Зная дельфи, ты становишься редким специалистом :) |
|||||||
151
Господин ПЖ
27.08.15
✎
10:29
|
(150) на уровне неуловимого джо которого никто не искал
|
|||||||
152
2083
27.08.15
✎
10:48
|
(115) >>> назовите хоть 1 крупную организацию, с численностью от 3-5 тысяч человек, в которой на 1С держится полностью вся автоматизация - производство, бух. учет. Я лично такой не знаю
шараш-монтаж ТрансМашХолдинг, посмотри о компании на досуге |
|||||||
153
mTema32
27.08.15
✎
11:03
|
(149) Нет. Другими видами учета и расчета)
|
|||||||
154
Гёдза
27.08.15
✎
11:06
|
(153) Чем склад/продажи лучше ил хуже бухии? Да ничем
|
|||||||
155
DenIv
27.08.15
✎
11:06
|
(152) в (115) Логика такая: не знаю - значит их нет.
С такими людьми бессмысленно спорить. |
|||||||
156
qeos
27.08.15
✎
11:06
|
Это Delphi 7?
|
|||||||
157
alex4x
27.08.15
✎
11:07
|
Добрый день!
А я вот считаю что 1С - это ужасно глючная и кривая программа, которая из нормальных людей делает кривокодеров 1Сников. Чтобы не заболеть 1Сием нужно постоянно принимать антибиотики в виде программирования на любом другом настоящем языке программирования. Если это не делать, то попадаешь в 1С-Зависимость и становишься рабом Нуралиева. |
|||||||
158
ДенисЧ
27.08.15
✎
11:09
|
(157) Ты уже попрограммровал уже на 1с, похоже.
И твой больной разум не вынес испытания. |
|||||||
159
mTema32
27.08.15
✎
11:09
|
(157) Вбросил, так вбросил!)
|
|||||||
160
эс-образник
27.08.15
✎
11:11
|
(0) +100500. Обычно 1С хаят люди, не очень понимающие в проектировании информационных систем, чей уровень - простая допилка типовых
|
|||||||
161
wizard_forum
27.08.15
✎
11:24
|
(158) а может, его укусил 1Сник :-)
|
|||||||
162
mTema32
27.08.15
✎
11:31
|
(154)>Чем склад/продажи лучше ил хуже бухии?
ИМХО!!! Бухучет мелкому и среднему бизнесу в нашей стране не нужен от слова "совсем". Он нужен не бизнесу, а налоговой. Если бы упростили системы налогообложения у нас, то думаю много контор вообще бы не вели бухгалтерский учет. А другие виды учета хоть как-то помогают управлению реальными делами в бизнесе, а не "лишь бы налоговая не подкопалась". Подчеркну, что это очень ИМХО, ибо не видел контор у которых бухучет как-то реально помогает что-то развивать. Возможно они есть, спорить не буду. |
|||||||
163
Кирпич
27.08.15
✎
11:45
|
HADGEHOGs, ты таки заставил меня разбираться в твоем авнокоде. :) вот тебе как правильно надо.
inData:='Текстовая строка'; DataSize := SysStringByteLen(TVarData(inData).VOleStr) + 2; SetLength(RawData,DataSize); CopyMemory(@RawData[0],TVarData(inData).VOleStr,DataSize); OutData := WideString(PWideChar(@RawData[0])); |
|||||||
164
H A D G E H O G s
27.08.15
✎
11:50
|
(163) Да уже разобрались.
Но спасибо. |
|||||||
165
H A D G E H O G s
27.08.15
✎
11:50
|
(163) Ты мой первичный вариант воспроизводил?
|
|||||||
166
Rovan
гуру
27.08.15
✎
11:52
|
(157) криво-быдло-кодером можно стать в рамках ЛЮБОГО языка программирования ! Это склад ума, а не специфика языка ! :-)
|
|||||||
167
Кирпич
27.08.15
✎
11:53
|
(165) что такое воспроизводил? если запускал, то нет.
|
|||||||
168
rsv
27.08.15
✎
14:32
|
(2) Так и не услышал как 1С это решило ?
|
|||||||
169
rsv
27.08.15
✎
14:32
|
+(168) Решило ли ? И ... решало ли именно это ?
|
|||||||
170
rsv
27.08.15
✎
14:33
|
да ... и причем здесь 1С если она без отрыва от БД не существует .
|
|||||||
171
H A D G E H O G s
27.08.15
✎
14:39
|
(168) 1С это решило просто.
В 1С ты работаешь просто со Строкой, неважно внутри системы, или с BSTR (COM) - строками. В Дельфи ты должен учитывать, что за строка у тебя и как она преобразуется в другую строку, а их дозвизды (pascal, C, BSTR) которые в свою очередь делятся на ansi, multibyte, unicode.. Это был пример, как 1С щадит программиста. |
|||||||
172
rsv
27.08.15
✎
14:41
|
(171) Странно ... что тебе серверок отдаст с тем и будеш работать . Дельфи как клиент не разберет тип данных с сервееа СУБД ?
|
|||||||
173
rsv
27.08.15
✎
14:44
|
В Дельфи пусть компонеты работы с БД все учитывает :)
|
|||||||
174
Serginio1
27.08.15
✎
15:19
|
Сейчас решил для интереса Linq to EF прикрутить к 7 ке
например [Table("SC9691")] public partial class ДляПериодических : КлассИД { public DateTime ДатаДляПериодическихРеквизитов = DateTime.Now; [Key] [Required] [StringLength(9)] override public string ID { get; set; } [Column("CODE", TypeName = "numeric")] [Required] public int Код { get; set; } [Column("DESCR")] [Required] [StringLength(25)] public string Наименование { get; set; } [Column("ISMARK")] public bool ПометкаУдаления { get; set; } [Column("SP9698")] [Required] [StringLength(9)] //Перечисление public string Перечисление { get; set; } [Column("SP9699")] [Required] [StringLength(13)] public string НеопределенныйСправочникId { get; set; } [Column("SP9700")] [Required] public DateTime ДатаСпр { get; set; } [Column("SP9701")] [Required] [StringLength(9)] public string НоменклатураId { get; set; } [Column("SP9702", TypeName = "text")] public string ДлиннаяСтрока { get; set; } virtual public Справочник.Номенклатура Номенклатура { get; set; } [NotMapped] public DateTime ПериодДата { get { return Константы1С.Константы.ДатаДляПериодического(9693, ID, ДатаДляПериодическихРеквизитов); } } [NotMapped] public decimal ПериодЧисло { get { var query = Константы1С.Константы.ЗапросДляПериодическогоЗначения(9694, ID, ДатаДляПериодическихРеквизитов); var res = query.SingleOrDefault(); if (res == null) return 0M; return decimal.Parse(res.Значение, System.Globalization.CultureInfo.InvariantCulture); } } [NotMapped] public Int64 ПериодИнт { get { var query = Константы1С.Константы.ЗапросДляПериодическогоЗначения(9695, ID, ДатаДляПериодическихРеквизитов); var res = query.SingleOrDefault(); if (res == null) return 0; return Int64.Parse(res.Значение, System.Globalization.CultureInfo.InvariantCulture); } } [NotMapped] public Справочник.Номенклатура ПериодСПР { get { var query = Константы1С.Константы.ЗапросДляПериодическогоЗначения(9696, ID, ДатаДляПериодическихРеквизитов); var db = Константы1С.ГлобальныйКонтекст.БД; var query2 = from спр in db.Спр_Номенклатура join конст in query on спр.ID equals конст.Значение.Substring(0, 9) select спр; return query2.SingleOrDefault(); } } [NotMapped] public string ПериодСтр { get { var query = Константы1С.Константы.ЗапросДляПериодическогоЗначения(9697, ID, ДатаДляПериодическихРеквизитов); var res = query.SingleOrDefault(); if (res == null) return null; return res.Значение.Substring(0, 10); } } } |
|||||||
175
Serginio1
27.08.15
✎
15:20
|
Кстати Linq поддерживает и коррелирующие запросы
Например такой запрос var бд = Константы1С.ГлобальныйКонтекст.БД; var query = from Константа in бд.ТаблицаКонстанты where Константа.ID == 9697 orderby Константа.DATE descending, Константа.TIME descending, Константа.DOCID descending, Константа.ROW_ID descending select Константа; // select new Константы1С.ЗначениеПериодического { Значение = Константа.VALUE }).Take(1); var query2= (from спр in бд.Спр_ДляПериодических select new { Наименование=спр.Наименование, ДатаСпр=спр.ДатаСпр, Периодические=(from прериод in query.Where(ю=> ю.OBJID==спр.ID && ю.DATE<=спр.ДатаСпр).Take(1) select new { Значение=прериод.VALUE, Дата=прериод.DATE }).FirstOrDefault() } ); foreach (var элем in query2) { Console.WriteLine("{0}.{1} - {2}", элем.Наименование, элем.ДатаСпр, элем.Периодические); } |
|||||||
176
Serginio1
27.08.15
✎
15:21
|
Генерирут запрос к базе
SELECT 1 AS [C1], [Extent1].[DESCR] AS [DESCR], [Extent1].[SP9700] AS [SP9700], [Limit1].[ROW_ID] AS [ROW_ID], [Limit1].[VALUE] AS [VALUE], [Limit1].[DATE] AS [DATE] FROM [dbo].[SC9691] AS [Extent1] OUTER APPLY (SELECT TOP (1) [Project1].[ROW_ID] AS [ROW_ID], [Project1].[DATE] AS [DATE], [Project1].[VALUE] AS [VALUE] FROM ( SELECT [Extent2].[ROW_ID] AS [ROW_ID], [Extent2].[DATE] AS [DATE], [Extent2].[VALUE] AS [VALUE], [Extent2].[DOCID] AS [DOCID], [Extent2].[TIME] AS [TIME] FROM [dbo].[_1SCONST] AS [Extent2] WHERE (9697 = [Extent2].[ID]) AND ([Extent2].[OBJID] = [Extent1].[ID]) AND ([Extent2].[DATE] <= [Extent1].[SP9700]) ) AS [Project1] ORDER BY [Project1].[DATE] DESC, [Project1].[TIME] DESC, [Project1].[DOCID] DESC, [Project1].[ROW_ID] DESC ) AS [Limit1] |
|||||||
177
itlikbez
27.08.15
✎
15:30
|
(162) Все уже есть. Если ты ИП - пожалуйста, можешь и не вести бухучет. И все, кстати, так и делают.
|
|||||||
178
Serginio1
27.08.15
✎
15:39
|
(171) Открой наконец то для себя .Net. Там тоже этого не было изначально. Хотя и поддерживает интероп
|
|||||||
179
Злопчинский
27.08.15
✎
16:06
|
(177) только не надо забывать, что все доки, относящиеся к ИП после ликвидации ИП надо хранить не менее 4 лет. вроде так.. или как-тотак.. могу и ошибаться
|
|||||||
180
Chieftain
27.08.15
✎
16:59
|
(2) в Delphi 7 без ошибок отрабатывает код из (2)
|
|||||||
181
Зеленый пень
27.08.15
✎
17:07
|
Платформа 1С 8.2 в "толстом" виде - великолепна!
Всё последующее - слишком глючное и громоздкое. Но типовые на БСП - ужас, путь в никуда! |
|||||||
182
Serginio1
27.08.15
✎
17:13
|
(0) А вот наверное не стоит выделять память GetMem(TVarData(outData).VOleStr,DataSize);
через диспетчер памяти Delphi. нужно пользоваться олешными |
|||||||
183
Serginio1
27.08.15
✎
18:47
|
http://forum.vingrad.ru/forum/topic-83740.html
используй SysAllocStringLen |
|||||||
184
Serginio1
27.08.15
✎
18:51
|
||||||||
185
H A D G E H O G s
27.08.15
✎
18:57
|
(183) (184) Я понял это еще прошлой ночью :-)
|
|||||||
186
Serginio1
27.08.15
✎
22:47
|
(185) Вот отличная статья про менеджер памяти Delphi
http://rsdn.ru/article/Delphi/memmanager.xml |
|||||||
187
megabax
27.08.15
✎
22:54
|
(2) На C# сериализация и десериализация делаются в легкую и без гемора. Так что в топку дефли.
|
|||||||
188
Американец1
28.08.15
✎
00:12
|
(186) Статья устаревшая. Нет ничего о WideString.
В отличие от остальных строк, WideString выделяются в виндовой куче и дельфийский менеджер о них ничего не знает. Как изветсно, обычные строки нельзя передавать в DLL (без специальных танцев). Как раз из-за того, что у главного модуля и у DLL отдельные менеджеры памяти. WideString легко передаются в/из DLL. Можно выделять строку в exe и освобождать ее в DLL и наоборот. |
|||||||
189
badboychik
28.08.15
✎
03:48
|
Вопрос к (0) - зачем заниматься мазохизмом с указателями, когда все современные языки все это разруливают сами?
Java, C++, C# - везде есть обертки или вообще запрещена работа с указателями. Это осознанный поиск трудных путей или нежелание учить нормальные технологии? |
|||||||
190
Американец1
28.08.15
✎
03:53
|
(189) При работе с Win API без указателей никак.
Множество функций принимают/возвращают указатели. |
|||||||
191
Лодырь
28.08.15
✎
06:00
|
(181) Если воспринимать БСП именно как библиотеку к одному из языков программирования - она неплоха. Однако у нее есть бросающийся в глаза косяк: Слишком быстрая эволюция, сопряженная с постоянным изменением структуры модулей. Прям бесит, когда методы перестают существовать, или добавляют новые обязательные! параметры и приходится переписывать код который их использует.
Вот если бы она менялась реже и работала побыстрее (загнали бы ее на уровень платформы), тогда бы вообще ей цены не было. А так - библиотека как библиотека. |
|||||||
192
Лодырь
28.08.15
✎
06:04
|
(181) И вдогонку, несмотря на то что некоторые ругают БСП и типовые на ее основе, уверен, что 99% этих ругающих не могут позволить себе писать код аналогичного качества с аналогичным функционалом с нуля. Все таки в 1С сидят разработчики с достаточно высоким средним уровнем и человеко-часов сидит в типовых просто ниипическое количество.
|
|||||||
193
Serginio1
28.08.15
✎
08:20
|
(188) Если бы ты прочитал эту статью, то понимаешь, что при передаче данных которые не используют общий менеджер памяти нужно через SysAllocStringLen и SysFreeString.
Это проблема давно известная. Я уже давал ссылку в 184. |
|||||||
194
Kvant1C
28.08.15
✎
08:56
|
(187) Ну зачем так сразу в топку...
http://ru.fishki.net/picsw/032013/04/dfn/545fa4935c1a8073aec37f1059676c2d.jpg |
|||||||
195
Кирпич
28.08.15
✎
09:05
|
(189) "Это осознанный поиск трудных путей или нежелание учить нормальные технологии?"
:)Автор счастливый человек. Он постоянно ходит какими то кривыми тропами, усеянными граблями и с восторгом открывает для себя прописные истины. Книжки ему читать некогда, потому что еле успевает бороться днем и ночью с утечками памяти и access violation. |
|||||||
196
Jokero
28.08.15
✎
09:06
|
Это все вопрос привычки, мне как программисту Delphi и С++ логика 1С вообще была не понятна, когда начинал. Убогость средств интерфейса напрягает до сих пор. (например отсутствие событий активации элемента, добавления новой строки в ТЧ и прочее)
|
|||||||
197
romix
28.08.15
✎
09:42
|
(0) Есть впечатление, что там на каком-то уровне есть заговор по преднамеренному ухудшению платформы. Например, применению в больших организациях мешают требования выгонять пользователей и дефекты динамического обновления, которых легко могло бы и не быть.
|
|||||||
198
ДенисЧ
28.08.15
✎
09:43
|
(197) о да.
Заговор. Кефир в голову ударил? Как ты обновишь базу, если изменилась структура, без перезапуска пользователей? |
|||||||
199
MM
28.08.15
✎
09:44
|
(197) Нет нужды искать заговор, там где возможно простое разгильдяйство.
|
|||||||
200
detec
28.08.15
✎
09:54
|
(199) Не думаю, что это разгильдяйство. В продакшене обычно DevOPs'ы пишут скрипты для изменения структуры таблиц, копируют значения одних столбцов в новые. Реструктуризация от 1С избавляет от этого гемора и возможности разрушить базу. Но плата за это - монопольный режим и невозможность использовать в крупных организациях/ с внешними пользователями.
Хотя справедливости ради стоит сказать, что в двух банках, где у меня есть счета и доступ в Интернет-банкинг, примерно каждые пару месяцев проводятся регламентные работы и сервис недоступен по нескольку часов. |
|||||||
201
MM
28.08.15
✎
10:40
|
(200) то что динамическое обновление не работает это именно проблема разработчиков и то, что кеши чистить приходится.
А для изменения структуры придуманы Блокировки схем (Sch-M), значит как-то можно не выгонять тех, кто с ЭТИМИ данными не работает. |
|||||||
202
Злопчинский
28.08.15
✎
11:14
|
(196) а меня добивало что в дельфях нельзя было просто так кинуть на форму числовое поле. простое числовое поле. такое как в 1С.
|
|||||||
203
oleg_km
28.08.15
✎
11:45
|
(202) В дельфях можно написать свой тип поля и потом кидать его на форму. Если ты не освоил наследование, то это не значит, что оно не работает
|
|||||||
204
spectre1978
28.08.15
✎
17:51
|
(202) можно. TSpinEdit со вкладки Samples
|
|||||||
205
Злопчинский
28.08.15
✎
18:00
|
(203) я мог (раньше когда-то давно) на ассемблере все что надо написать ;-) но я "программлю" на 1Се, а не на делфях. Именно потому что мне - задолбало уже "писать".. ;-)
|
|||||||
206
spectre1978
28.08.15
✎
19:34
|
(205) Если не выходить за рамки задач учета - с 1С конкурировать действительно сложно. Но даже полшажка в сторону от того что на данный момент реализовано в платформе - вынудят обращаться к другим инструментам. Хотя бы ради того чтобы написать ВК. Так что спор на самом деле бессмысленный. Все хорошо на своем месте и для своих целей.
|
|||||||
207
H A D G E H O G s
28.08.15
✎
19:49
|
(195) пашютиль, да?
|
|||||||
208
Злопчинский
28.08.15
✎
20:08
|
(206) хм... а давайте озвучим какие задачи не-учета автоматизировались или имеет смысл автоматизировать на 1С..?
|
|||||||
209
Ник080808
28.08.15
✎
20:15
|
(208) чат. Почта, органайзер.
|
|||||||
210
orefkov
28.08.15
✎
21:35
|
(171)
>> В 1С ты работаешь просто со Строкой, неважно внутри системы, или с BSTR (COM) - строками. Дьявол в деталях. Ты прекрасно будешь работать со строками 1С, не заботясь о внутренностях и надеясь на 1С, пока не попадется текст с юникодными символами выше 0xFFFF. Тогда и придется ковыряться в "кишках", выясняя, что для символов 1С использует только 2 байта, при этом отнюдь не UTF-16. А современный юникод в два байта может не влезть. Так что "все абстракции дырявы", как писал Спольски. Где-то глубже, где-то мельче. |
|||||||
211
romix
28.08.15
✎
21:48
|
(200) Изменение длины поля (текстовое или числовое), добавление новых полей в документ или справочник, вся работа с перечислениями и предопределенными значениями - вряд ли требует монопольного доступа. А для текущей разработки, пожалуй, больше ничего и не нужно: удаление полей можно очень редко проводить. Удаляемые пункты перечислений можно было бы визуально прятать, а не пол-базы из-за них перелопачивать.
|
|||||||
212
romix
28.08.15
✎
21:50
|
То есть там стоит нехорошее ограничение, которое на самом деле ни в каких ситуациях не нужно, а масштаб внедрений сразу обрезается в разы. Совпадение ли это? Не думаю. (с)(тм)
|
|||||||
213
romix
28.08.15
✎
22:14
|
(198) Я не очень себе представляю, что может испортиться при добавлении реквизитов, например. Или при расширении длины реквизита. Все базы SQL бы и требовали в таких случаях вышибания пользователей из системы, изменение структуры же?
|
|||||||
214
megabax
28.08.15
✎
22:54
|
(194) А если чел не любит кошек но любит собак, значит, он не умеет готовить кошек но умеет собак?
|
|||||||
215
Злопчинский
28.08.15
✎
23:24
|
(209) и чат и почта - в первую очередь транспорт - который вне прикладной оболчки 1С + чисто учетные задачи (спсики писем, адресов, истории и прочее). так что и почту и чат можно отнести к учетным задачам.
чат, конечно в совсем малой степени ибо чат как правило не подразумевает аудитроский след и какую-либо вменяемую историю сообщенйи для решения/анализа чего либо |
|||||||
216
Злопчинский
28.08.15
✎
23:25
|
Органайзер - сомнительно мне что это имеет смысл. только вместе со всей инфраструктурой ИТ-1С-окружения.
|
|||||||
217
Злопчинский
28.08.15
✎
23:29
|
(212) это заговор, однозначно! ;-)
1С: Божествена |
|||||||
218
Ник080808
29.08.15
✎
15:01
|
(215) почта учетная задача, потому что ведется список писем и адресов? тогда под учетные задачи можно подвести и компьютерные игры - ведь там ведется список игроков, их уровни баллы и так далее. Под учетными задачами подразумевается задачи учета хозяйственной деятельности.
|
|||||||
219
Ник080808
29.08.15
✎
15:02
|
(216) еще как имеет смысл. Органайзер на 1с ничем не хуже на другом языке. Более того. с развитием мобильной платформы это вообще бомба)
|
|||||||
220
rsv
29.08.15
✎
15:37
|
(0) Почта в контексте 1С расширение движка для того что бы выборку из своих же таблиц БД рассылать своим же движком .
|
|||||||
221
rsv
29.08.15
✎
15:41
|
(220) - >(218)
|
|||||||
222
Учитель
29.08.15
✎
15:45
|
Я хочу изучить яву скрипт и пчп, я прав?
|
|||||||
224
MM
29.08.15
✎
15:47
|
(210) Интересно, а какие это проблемы? В каком формате 1С строки хранит? 1С не сможет отрисовать 4х байтный юникод или проблемы с преобразованием в верхний/нижний регистр?
Да, и что это за тексты, вроде китайский и японский в 2 байта укладываются, или это клингонский? ) |
|||||||
226
mszsuz
29.08.15
✎
15:49
|
пи-пи-пи, пусть сделают Сообщить() привязанное к главному окну программы, пи-пи-пи, пи-пи-пи, пи-пи-пи
|
|||||||
227
ДенисЧ
29.08.15
✎
15:54
|
(226) переходи на 77 или толстого неуправляемого клиента - там это реализованор
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |