Имя: Пароль:
LIFE
 
OFF: 1С - это годная вещь. Вы даже не знаете насколько.
0 H A D G E H O G s
 
26.08.15
21:37
1. 1С: Божествена 100% (1)
2. 1С: Предать анафиме 0% (0)
Всего мнений: 1

Ночи доброй.

Давненько тем не заводил, некогда. Но напишу.

Часто слышу упреки в адрес 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
(77) Все таки 2 байта:
http://s020.radikal.ru/i701/1508/95/ef561f5791d5.png
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 или толстого неуправляемого клиента - там это реализованор
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс