Имя: Пароль:
1C
 
Кто пользовался ЗначениеВ(Из)СтрокуВнутр? Какие есть подводные камни?
0 Анютик
 
01.06.07
15:11
Как долго перегоняет туда-обратно? Что быстрее - поиск по Табличной части документа по значению поля или преобразование изстрокивнутр?
1 Max_Minsk
 
01.06.07
15:29
(0) В зависимости от объема данных. Второй вопрос совсем не понял.
2 Анютик
 
01.06.07
15:32
ну в общем, надо как-то в одной строке  табличной части документа хранить еще одну таблицу. идеи пока две - одна - писать во внутр строку, вторая - делать доп таблицу и связывать по гуиду. При отображении этой самой вложенной таблички придется оттбирать значения из доп таблицы по этому самому гуиду. Вот меня и интересует - что быстрее будет работать - развернуть значение из строки или отбор по доп таблице:) Сразу скажу, счет вложенных строк на миллионы не идет, максимум 10-12, я полагаю.
3 Max_Minsk
 
01.06.07
15:41
Отбор по-моему намного проще и логичнее.
4 Анютик
 
01.06.07
15:48
(3) ну я бы не сказала, что проще...и насчет логичнее есть сомнения. Смотри, придется хранить в обеих таблицах гуид по 36 символов. как думаешь, балготворно отразиться на размере базы? к тому же вторую таблицу целиком. А тут таблица одна. Где бы про механизм обращения в(из) внутреннего значения почитать? как в потрохах все это работает
5 Terv
 
01.06.07
15:50
(2) самая большая проблема такого решения... это отсутствия авто контроля ссылочной целостности...
6 Анютик
 
01.06.07
15:51
(5) какого именно?:) про две таблицы?
7 Денежко
 
01.06.07
15:51
Да и отчеты потом ...перебором чтоле
8 Анютик
 
01.06.07
15:53
(7) какие отчеты?! они, вроде, по регистрам собираются, а не по докам. По докам вообще не правильно собирать...или я что-то путаю?
9 Анютик
 
01.06.07
15:54
+8 бывают случаи, но они редко. и не моем варианте
10 snc
 
01.06.07
16:06
Если обмен данными предполагается, то надо сначала его протестить - вдруг там обнаружатся подводные камни.
11 Анютик
 
01.06.07
16:07
(10) именно он. а там какие могут быть? я же объект уже в самой 1с конвертить буду
12 snc
 
01.06.07
16:09
Либо символы неправильные:
v8: Я тащусь от функции ЗначениеВСтрокуВнутр, позор.
Либо что-то еще. Я не тестировал.
13 Херрес
 
01.06.07
16:10
В типовых делают доп. таблицу. Вот только связывают не по гуиду а по номеру строки род. таблицы. Следовательно так и надо делать.
Почему потребовались именно гуиды ?
14 Херрес
 
01.06.07
16:15
(0) ну а если конвертить в строку - подводные камни
а) ссылочная целостность не работает
б) запросы по подчинённой таблице работать не будут
в) может долго распаковываться большая подчинённая таблица. Да и полученная строка явно будет именть сильно избыточную длину, значит база опухнет

вообще такое решение вполне в стиле 7.7
15 Анютик
 
01.06.07
16:20
(12) спасибо, почитаю
(13) почему нет - объясню:) мы удалили строку в основной таблице, соответственно, должен номер, по которому идет связь с подчиненной изменится, а то она у нас переподчинится и получится вообще сплошная абракадабра. Это придется отслеживать ручками, так как сделать ссылку на строку табличной части нельзя. Вывод?:) гуиды уникальны - хоть удаляй, хоть добавляй.
16 Анютик
 
01.06.07
16:20
+15 для 13 - пример из типовой по 8-ке дай? посмотрю
17 Херрес
 
01.06.07
16:41
(15) тем не менее в типовых гуиды не используют а обходятся такой простой конструкцией

       // Инициализируем значение "КлючСтроки" для установки связи данной таблицы с таблицей
       // "ДанныеПоСФ".
       // Значение должно быть уникальным в пределах таблицы ДополнительныеСведения
       НеУстановлено = Истина;
       Кандидат = ДанныеПоСФ.Количество();

       Пока НеУстановлено Цикл
           Если ДанныеПоСФ.Найти(Кандидат, "КлючСтроки") = Неопределено Тогда
               // Уникальное значение ключа
               ЭлементыФормы.ДанныеПоСФ.ТекущиеДанные.КлючСтроки = Кандидат;
               НеУстановлено = Ложь;

           Иначе
               // Такое значение ключа уже использовано
               Кандидат = Кандидат + 1;

           КонецЕсли;

       КонецЦикла;
18 Freddy
 
01.06.07
16:53
(0) Пусть представление некоторого элемента:
{"#",fee1806a-227a-40f5-a518-ffb25620e0fb,27:8b78d27d8c5f1670419a59715fb3edf5}
Если базу в которой есть запомненные где-либо ссылочные значения в виде строки выгрузить и загрузить, то будет кирдык. Ибо почему-то меняются цифры между "," и ":". В данном примере 27.
19 Freddy
 
01.06.07
16:54
(17) Ключ строки в типовых - это не номер строки, а просто автоинкрементируемый общий реквизит двух таблиц :)
20 Анютик
 
01.06.07
17:11
(17) это откуда? какая конфа?
21 Анютик
 
01.06.07
17:12
(18) очень интересно, попробую:)
22 Херрес
 
01.06.07
17:19
(20) это БП, документ ВводНачальныхОстатковНДС
23 Анютик
 
01.06.07
17:21
(22) замечательно, посмотрю
24 DrWatson
 
01.06.07
17:24
(20) УПП, Ввод остатков НДС, например
25 Анютик
 
01.06.07
17:27
(24) нету УПП:( ну да не суть
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.