Имя: Пароль:
1C
1C 7.7
v7: Подскажите как реализовать сохранение ошибки в документе?
0 Ночной Эльф
 
29.01.13
09:05
Всем доброго времени суток.

Имеется 1с 7.7 комплексная. Необходимо сделать так чтобы пользователь мог вводить комментарий ошибки в документ сколько угодно раз и какой угодно должен быть длины комментарий. затем где то все эти комментарии должны сохраняться и в отдельном отчете выводиться этот документ должен выводиться в отчете столько раз сколько раз был введен комментарий ошибки причем каждая новая строка должна отличаться только комментарием который был введен скажем 1 раз 2 раз и 3 раз т.е. этот комментарий должен где то храниться чтобы его в дальнейшем выводить.

Пробовал сделать 2 реквизита типо строка неограниченной длины в одном пишется комментарий, а другой скрытый при записи документа в него добавляется комментарий из 1 реквизита с разделителем, но че то с длиной не то больше 500 символов не записывается если даже поставить галочку многострочный реквизит.
Периодический реквизит тоже не подойдет потому что нужно все комментарии на сегодня а не один какой то.

Как можно это реализовать всем заранее спасибо?
1 andreymongol82
 
29.01.13
09:09
А почему все таки не делать периодическим реквизит и выбирать не последнее к примеру, а последовательно прочитать до текущей даты к примеру через объект "периодический"?
Ну или как вариант справочник с реквизитами типа "Дата", "Документ", "Комментарий"?
2 ЧеловекДуши
 
29.01.13
09:09
Заведи скрытый "Под документ описании ошибки", где в табличной части будешь писать все время новое :)
...
Так же заведи некий справочник "Описание ошибки" и используй его для бесконечной записи комментов.

Но я бы все же делал через документ, так быстрее будет работать, со временем :)
3 ЧеловекДуши
 
29.01.13
09:09
(1)А вы в курсе, куда пишутся периодические реквизиты?
4 Фокусник
 
29.01.13
09:10
(0) >но че то с длиной не то больше 500 символов не записывается если даже поставить галочку многострочный реквизит.

Как проверял, наверное через Сообщить()? :)
5 Ёпрст
 
гуру
29.01.13
09:10
Забить и перестать заниматься х-й, самое верное решение.
6 andreymongol82
 
29.01.13
09:11
(3) В курсе. Поэтому как варинат посоветовал справочник
7 Mikeware
 
29.01.13
09:15
У меня это называлось "свойства документов"
8 Ночной Эльф
 
29.01.13
09:24
Ну проверял через сообщить длину строки

Сообщить(СтрДлина(СкрытыйОшибкаПроверки));

и длина больше 500 не поднималась
9 Ночной Эльф
 
29.01.13
09:29
А вон в чем проблема была с многострочным реквизитом
ФИШКА в том что если поставить галочку что многострочный реквизит неограниченной длины имеет кнопку выбора, то его длина автоматически становится не более 255 даже если стоит галочка многострочный )))
10 andreymongol82
 
29.01.13
09:30
(7) А я обозвал "версии"))).
11 Ночной Эльф
 
29.01.13
09:33
(3) Мне тоже хотелось знать куда они пишутся? ТАк для общего развития
12 1Сергей
 
29.01.13
09:37
(11) в 1SCONST
13 Ёпрст
 
гуру
29.01.13
09:38
(8) :)))))))))))))))))))))))))))))))))))))))))))))))))))

Если че, там > 500 символов, просто сообщить не может отобразить их.
14 dangerouscoder
 
29.01.13
09:45
Делал историю заявки через справочник. Раз в полгода он очищался.
15 Aleksey
 
29.01.13
09:53
писать во внешнюю БД не рассматриваешь?
16 varelchik
 
29.01.13
09:58
(15)+100
А я бы посоветовал здесь же.
Создать отдельную таблицу или несколько.
Я вообще-то так делаю.
17 Ночной Эльф
 
29.01.13
10:01
Вобщем делаю как говорил и раньше просто не ограниченную строку использую. Но тут возник другой вопрос

КАК разделить строку на несколько строк причем не зная количество этих строк? но зная разделитель и затем вывести эту строку?

понятно что надо использовать список значение, но че то не могу найти функцию в 1с которая бы разбивала строки
18 oslokot
 
29.01.13
10:07
(17) просто. через цикл, работая со строками.

то есть сделать нормально, через справочник как правильно тебе советуют, не хочешь?
19 Ночной Эльф
 
29.01.13
10:10
(18) не хочу нагромаждать конфигурацию лишними справочниками, а то еще вдруг от этого откажутся со временем. Да и работать с ним тяжелее ))
20 oslokot
 
29.01.13
10:11
(19) )))))
21 andreymongol82
 
29.01.13
10:11
(19) А так ты типа не загромоздишь код?)))
22 Ночной Эльф
 
29.01.13
10:12
Убедили и правда через справочник проще будет )))
23 Ночной Эльф
 
29.01.13
10:14
Только вот такой вопрос если я сделаю реквизит строка в справочнике неограниченной длины это действительно будет неограниченной длины или будет отсекаться на 256 симвалах?
24 Ёпрст
 
гуру
29.01.13
10:17
(23) ёпт, она где угодно будет строка неогр. длины - хоть в справочнике, хоть в документе. Эти реквизиты хранятся в отдельной табличке.
То, что ты их вывести не можешь - говорит всего лишь о твоей низкой квалификации, а не об "усечении" до 256
25 Mikeware
 
29.01.13
10:18
(10) "версии" (истории изменения) - это несколько иное
26 Mikeware
 
29.01.13
10:19
(17) тебе продать СП?
27 Ёпрст
 
гуру
29.01.13
10:23
Если не умеешь выводить что-то через Сообщить, выводи через текст, хотя бы:

т=СоздатьОбъект("Текст");
т.ДобавитьСтроку(Объект.РеквизитСТекстом);
т.Показать();
28 andreymongol82
 
29.01.13
10:33
(23) Неограниченой
29 varelchik
 
29.01.13
10:37
(19) Я тебе кажу.
Внутри создай левую таблицу (не родную) и делай сней шо хош.
Хоть бинарники храни.
У меня есть свой класс Хранилище типа того что у снеговика.
Мало ли потом решиш что ненуно, а вот ывкосить с базы будет ужо сложнее.
30 andreymongol82
 
29.01.13
10:49
(25) Ну так там и хранилось что-то вроде истории изменения некоторых реквизитов некоторыми пользователями некоторых документов. Так как были личности.