Имя: Пароль:
1C
1С v8
Сравнить текст и вывести "что изменилось"
,
0 Минона
 
29.01.13
12:44
Юзеры хотят видеть "что изменилось" в тексте (например Комментария).
Есть важный текст, который приходит на почту при каждом изменении. Теперь хотят не только текст видеть, но и что именно в нем изменилось.

Какими средствами это лучше организовать?
Знаю что можно через Word, но письмо формируется у "клиента", а клиенты у юзеров разные.
Средствами 1С возможно?

Хотелось бы видеть не тупо "строка изменена", а красным - удаленное слово, синим - изменное слово, зеленым - добавленное. Это как пример.
1 Wobland
 
29.01.13
12:45
средствами 1С это возможно
2 Wobland
 
29.01.13
12:46
только нужен ли такой геморрой
3 Минона
 
29.01.13
12:47
ну если готовое, то почему геморрой?
4 Wobland
 
29.01.13
12:48
(3) а где готовое?
5 Минона
 
29.01.13
12:48
(4) собсна и я этот вопрос задаю
6 lefthander
 
29.01.13
12:48
(4) :) надо полагать автор ждет от нас готовое
7 Wobland
 
29.01.13
12:51
(5) у меня нет. геморрой
8 hhhh
 
29.01.13
12:54
(5) ну там в предприятии слева меню Файл-Сравнить файлы

вроде на самом видном месте. Неужели у вас полная потеря зрения в ваши 113 лет?
9 Wobland
 
29.01.13
12:55
(8) юзеры хотят. каждые пять минут
10 Минона
 
29.01.13
12:56
(8) Цитирую из (0):
[Хотелось бы видеть не тупо "строка изменена"]

так что ваше зрение проверьте
11 Wobland
 
29.01.13
12:57
(10) нене, своё проверь. там как раз не тупо
12 Wobland
 
29.01.13
12:58
о, текст на почту ж приходит. значит, можно автоматом в файл писать. готово!
13 Wobland
 
29.01.13
12:59
(12) только кнопки СделатьВсё не будет
14 Fragster
 
гуру
29.01.13
13:00
присылать изменения не вариант?
15 Eugene_life
 
29.01.13
13:00
(13) Значит, этот вариант не подходит. :)
16 Минона
 
29.01.13
13:01
(11) смотрите сами:
http://s1.ipicture.ru/uploads/20130129/b55z5Pl3.gif
17 hhhh
 
29.01.13
13:02
(10) а на синтакс помощник напрягите всё-таки зрение. Вот там то же самое

СравнениеФайлов (FileCompare)
Свойства:

ВторойФайл (SecondFile)
ИгнорироватьПустоеПространство (IgnoreWhiteSpace)
ПервыйФайл (FirstFile)
СпособСравнения (CompareMethod)
УчитыватьРазделителиСтрок (EOLSensitive)
УчитыватьРегистр (CaseSensitive)

Методы:

ПоказатьРазличия (ShowDifferences)
ПоказатьРазличияМодально (ShowDifferencesModally)
Сравнить (Compare)

Конструкторы:

По умолчанию

Описание:

Предназначен для сравнения и определения различий между двумя файлами с учетом их структуры.

Доступность:

Толстый клиент.
18 Минона
 
29.01.13
13:04
2(17) см. (16)
никаких подробностей 1С не дает
19 hhhh
 
29.01.13
13:04
(13) ну там практически только набор кнопок:

Ctrl-A, Ctrl-C, Ctrl-N, Ctrl-V, Ctrl-S.

и всё получится.
20 Reset
 
29.01.13
13:05
Ребят, она по словам хочет, а не по строчкам
21 Reset
 
29.01.13
13:06
Не прдставляю что должно быть после сравнения

Мама мыла раму
Мама раму мыла

"мыла" и "раму" удалены или добавлены?
22 hhhh
 
29.01.13
13:07
(18) ну это вам искуственный интеллект нужен, а не 1с. Это будет где-то в 23-м веке. Мы не доживем. До 113-ти бы дотянуть.
23 Конфигуратор1с
 
29.01.13
13:07
(21) изменены
24 ХочуСказать
 
29.01.13
13:08
(20) ворд в помощь
25 ХочуСказать
 
29.01.13
13:08
(21) 1С-ки даже мелкософт офису не обучены?
26 Lama12
 
29.01.13
13:08
(20) Разбить строку на много строк по словам.
Присоединяюсь к (21).
Пусть точно скажут, на примерах что должно быть и в каких ситуациях.
27 ХочуСказать
 
29.01.13
13:08
(25) -> (22)
28 Reset
 
29.01.13
13:08
Можно конечно все слова в стобик вытянуть, но все равно лучше чем (16) не выйдет
29 Конфигуратор1с
 
29.01.13
13:08
средствами 1с я так понимаю берете сравнение файлов, получаете  строки, которые отличаются, а потом уже их анализируете программно. Гемморой
30 Минона
 
29.01.13
13:09
(16)+
Вот как делает Word
http://s2.ipicture.ru/uploads/20130129/UZ41M1X6.gif
31 Reset
 
29.01.13
13:09
(28) можно к (26), не видел поста когда писал ;)
32 Минона
 
29.01.13
13:10
(22) вам бы опыта побольше, а потом уже в советчики соваться.
пример в (30) не видели никогда?
33 Reset
 
29.01.13
13:11
(24)(25) Если есть версия использовать word, изложи ее без ненужного ехидства :)
34 Lama12
 
29.01.13
13:11
(23) А Word говорит что удалено и вставлено.
35 Reset
 
29.01.13
13:11
(24) И адресоваться к ТСу просьба, у нет такой задачи
36 Reset
 
29.01.13
13:12
*(35) "у меня"
37 ХочуСказать
 
29.01.13
13:12
(33) c дятлами как не разговаривай,
все равно не поймут
38 forforumandspam
 
29.01.13
13:13
39 Минона
 
29.01.13
13:13
Ещё раз - я писал в (0) что про Word знаю. Но беда в том что письмо формируется у "клиента" и стараемся избежать Word.
Если есть варианты иные, 1С-ные.
40 Reset
 
29.01.13
13:13
(37) Про "дятлов"- это про меня чтоль?
41 Reset
 
29.01.13
13:14
(37) Какой-то тупой наезд на пустом месте, фу ;]
42 forforumandspam
 
29.01.13
13:18
(39) Ссылку смотрела?
43 forforumandspam
 
29.01.13
13:20
44 orefkov
 
29.01.13
13:46
КомандаСистемы("kdiff.exe """ + ПутьКФайлу1 + """ """ + ПутьКФайлу1 + """");
45 luns
 
29.01.13
13:47
46 samozvanec
 
29.01.13
14:37
(39) учитывая все твои требования, предлагаю следующее:

1. сделай им кнопку "Сравнить"
2. по этой кнопке тебе на почту падает письмо с файлом, который нужно сравнить.
3. далее ты ищешь предыдущую версию файла, оба печатаешь, выделяешь маркером что и как хочешь, делаешь заметки на полях, сканируешь, отправляешь обратно
4. профит
47 samozvanec
 
29.01.13
14:38
+(46) если так хочется в 1с, можешь сделать кнопку там, но тогда и последнюю версию файла придется самой искать
48 Минона
 
29.01.13
15:32
(38) (43) (44) (45)
kdiff это молодцы, но хотелось без сторонних приблуд, ибо письмо на клиенте формируется

(46) цирк уехал, а клоуны все дрочат?
49 sapphire
 
29.01.13
15:33
(0) xslt/html+css
50 Минона
 
29.01.13
15:37
(49) пааападробнее
51 Минона
 
29.01.13
15:42
типовой Документооборот кстати тоже Word юзает
52 samozvanec
 
29.01.13
15:55
(48) никто никуда не уехал. парси текст, сравнивай, кто мешает?
53 samozvanec
 
29.01.13
15:56
+(52) вот тебе даже подробности: бей текст на слова в массив, удаляй знаки препинания, перебирай
54 Минона
 
29.01.13
15:57
(53) всё не так просто
посмотрите как-нибудь в Word - как это работает
55 samozvanec
 
29.01.13
16:03
(54) что я там, код посмотрю?
56 Минона
 
29.01.13
16:06
(55) расслабься.
57 samozvanec
 
29.01.13
16:10
(56) я наоборот напрячься пытаюсь после обеда. в сон клонит до сих пор. ты определись, что ты хочешь. сторонние компоненты не предлагать? есть даже майкрософтовская Microsoft File Compare, встроенная в винду. стандартных средств в 1с нет. если так хочется в 1с, можно кодом. алгоритмы гуглятся, выбирается наиболее подходящий
58 Минона
 
29.01.13
16:12
(57) в (30) пример результат, который хотелось бы (желательно как Word делает)
но отвязаться от всего кроме 1С

на 1С ни кто не писал, поэтому остается смотреть в сторону Word
59 luns
 
29.01.13
16:20
(58) тогда напиши алгоритм на 1С. выводи в табличный документ
алгоритм здесь: wiki:Diff
60 viktor_vv
 
29.01.13
16:28
(58) Так тебе надо сам алгоритм сравнения или представление результата ?
61 Минона
 
29.01.13
17:05
готовое решение хотелось-бы,
но и алгоритм неплохо
62 FIXXXL
 
30.01.13
04:31
(61) у тебя правый вариант главный в твоем примере про Ворд?
63 Alex375
 
30.01.13
05:18
Что вы все на Word пиняете? В Word ведется полное сохранение КАЖДОГО действия - нажали кнопку, записал. На основании этой информации Word уже и отражает изменения в тексте. В 1С есть только исходная и новая строка и нет действий по переходу от одного состояния в другое. Эти вещи нельзя сравнивать! Так как в 1С нет данных о действиях перехода, то и показать, что же добавлено, а что удалено не сделаешь. Точнее сделать конечно можно, но алгоритмы очень не простые будут.
64 Wobland
 
30.01.13
05:32
(63) то есть, если достаточно долго заниматься правкой, то документ из одного слова будет заниматья десятки мегабайт?
65 WASSUP_NIGGA
 
30.01.13
05:54
В 1С - Файл - Сравнить файлы
Не в 1С - WinMerge
66 Alex375
 
30.01.13
06:07
(63) почти :) Система там тоже не так проста: если какие-то изменения полностью затираются, тогда они и не хранятся.
67 Feunoir
 
30.01.13
06:10
(0) Кажется мне, что готового тут ничего не предложат. Но нечто похожее есть в обработке "Поиск и замена дублирующихся элементов". Там есть режим поиска по похожим значениям реквизитов. В том алгоритме можешь попытаться разобраться и сделать по аналогии.
68 Галахад
 
гуру
30.01.13
06:42
Какая-то простенькая задача. Нужно всего-то организовать хранение слов пообъектно.
Т.е. к каждому слову свой ID. В измененном документе всего лишь
выполнять поиск по ID и в лоб сравнивать.
Чо париться-то? :-)
69 forforumandspam
 
30.01.13
06:48
Минона , ты (38) смотрел?
70 mzelensky
 
30.01.13
07:53
(68) ну-ну! Давай, реализуй "хранение слов пообъектно" для пару тысяч договоров! Интересно как ты все это хранить будешь.
71 mzelensky
 
30.01.13
07:55
(0) я предлагаю другой подход. Если вас устраивает функционал ворда (т.е. он там уже есть), но привязываться к нему вы не хотите, то можно заказать внешнюю библиотеку (DLL-ку короче говоря), которая будет реализовывать нечто подобное.
А из 1С-ки юзать эту библиотеку.

Единственное я не понял - вы говорите файл генерится на КЛИЕТЕ. Клиент тонкий или вэб клиент? Или что-то вообще другое подразумеваете?!
72 mzelensky
 
30.01.13
07:58
"Есть важный текст, который приходит на почту при каждом изменении....
но письмо формируется у "клиента", а клиенты у юзеров разные."

Я так и не понял что у кого формируется и что кому приходит. 1) От кого кому приходят письма?
2) НА чьей стороне необходимо делать проверку?
3) Какой вид работы 1С-ки юзается (толстый, тонкий, веб)?!
73 Лефмихалыч
 
30.01.13
08:30
(0) может присылать только важную инфу, которая меняется, а все неважное не присылать?
74 mzelensky
 
30.01.13
08:36
(73) Понятие "важности" у всех разное. Для одного слово "быстро верните деньги" важно, а для другого не очень :)
75 Галахад
 
гуру
30.01.13
08:39
(70) А чо? Если поддерживать уникальность в пределах документа,
для ID хватит 6 знаков.
Т.е. количество информации вырастет всего в 3-4 раза.
Фигня. :-)
76 Лефмихалыч
 
30.01.13
08:54
77 WASSUP_NIGGA
 
30.01.13
09:08
(76) программа 80х годов? Вам не помешает глянуть WinMerge
78 Минона
 
30.01.13
10:19
(69) какой-то сайт, который ничего не делает

(63) в Word есть пункт в меню "Сравнить" и просто можно дать 2 файла. Смотри в "Документооборот" как делается.

(71) толстый клиент. имеется в виду что сервер один, а клиентов много и не угадаешь у кого что стоит из софта. хотя Word должен быть у всех, но не факт
у кого заказать DLL ?
79 Минона
 
30.01.13
10:21
(76) ну да, пример из Word такой же.
80 forforumandspam
 
30.01.13
11:55
(78) В (43) указана работа этого сайта. Ты с упорством настоящего дятла пытаешься игнорировать помощь.
81 Галахад
 
гуру
30.01.13
11:56
(80) Ну и зачем мешать дятлу?
82 forforumandspam
 
30.01.13
11:59
(81) И в правду, зачем? Пусть дальше долбится.
83 mikecool
 
30.01.13
12:04
так автор мужик, судя по (39)
84 Галахад
 
гуру
30.01.13
12:07
Бородатая женщина.
85 Минона
 
30.01.13
12:52
(80) так зачем мне сайт то?
86 forforumandspam
 
30.01.13
14:03
(85) Чтобы решить задачу из (0).
87 Минона
 
01.02.13
14:09
Ну чтож, в итоге из советов выбрать нечего.
Про алгоритмы спасибо, почитаем конечно, но реализовывать на 1с с нуля очень не хочется.

Спасибо всем!
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.