Имя: Пароль:
1C
1С v8
Что платформа пытается сделать с UID в тексте реквизитов?
0 Dirk Diggler
 
27.03.20
11:11
У меня переписанная УТ 10.3 и начал я замечать, что элементы справочника Номенклатура очень долго стали открываться, по 3-5-7 секунд. Замер производительности не показал ничего вообще, пауза возникает между отработкой кода внизу модуля формы элемента и ПередОткрытием(). ПолучитьОбъект() для номенклатуры тоже быстро работает, я был в задумчивости. Потом методом тыка нашел - дело оказалось в нескольких текстовых реквизитах, добавленный мной элементу справочника. Если в них набить UID других элементов(а у меня именно так) - то элемент открывается долго. А вот если заменить обычным текстом такой же длины - то все летает.

Соот-но вопрос.
Что это за фигня и как можно вылечить от задумчивости? Кроме переноса реквизитов в РС.

Платформа есличо 8.3.16.1148
1 lodger
 
27.03.20
11:18
это тот момент когда форма с данными сериализуется и десериализуется, чтобы нарисоваться на клиенте.
писать в 1с.
смирится.
писать UID так, чтобы они не были похожи на UID. пробел в начале?
2 Dirk Diggler
 
27.03.20
11:21
(1) тогда теряется смысл в этом поле. Смысл понятен, короче, перепишем на РС, скорее всего.
3 mikecool
 
27.03.20
11:23
(1) а причем тут сериализуется и десериализуется? автор же пишет - строки такой же длины нормально переносятся формой
4 Жан Пердежон
 
27.03.20
11:33
какой тип в реквизита?
5 Dirk Diggler
 
27.03.20
11:35
(4) Строка. Неограниченной длины. Если изменить на 1000 символов - практически ничего не меняется. Точно так же как и участие в поиске и истории данных. Изменения есть, но незначительные. Радикально влияет замена текста с уидами на обычный..
6 МихаилМ
 
27.03.20
11:37
попробуйте отключить сжатие
7 arsik
 
гуру
27.03.20
11:58
Странно. Не должно так влиять, что внутри текстового поля. Возможно подписка какая то есть?
Пропробуй:
1) включить отладку на клиенте и на сервере
2) включить замер производительности
3) Открыть номенклатуру
4) Посмотреть в замере, возможно что  то вызывается еще.
8 mikecool
 
27.03.20
12:01
(5) а зачем неогр длина, если там уид? может хватит 36?
9 Dirk Diggler
 
27.03.20
12:11
(7) писал же, в замере всё чотко
(8) там их много, уидов
10 arsik
 
гуру
27.03.20
12:28
(9) Ну ты не указал, включил ли ты отладку на сервере.
11 arsik
 
гуру
27.03.20
12:31
+(10) Просто ситуация из (0) какая то бредовая, не может из-за содержимого текстового поля отличатся логика платформы. На нее может быть завязана только логика конфигурации.
12 Жан Пердежон
 
27.03.20
12:43
(5) как и в какой момент реквизит заполняется?
13 Cyberhawk
 
27.03.20
12:44
(5) "Радикально влияет замена текста с уидами на обычный" // Что такое "обычный"?
14 Dirk Diggler
 
27.03.20
13:03
(13) обычный - это когда там просто ручками набито. что угодно. не содержащее УИД.
(12) руками заполняется
15 Cyberhawk
 
27.03.20
13:06
(14) Платформу откати или обнови
16 vi0
 
27.03.20
13:07
(9) что значит много уидов?
когда сравниваешь медленный вариант с уидами и быстрый с произвольным текстом
то какая фактическая длина в первом и во втором случае?
17 Dirk Diggler
 
27.03.20
13:07
(16) одинаковая, порядка 1500 символов
18 vi0
 
27.03.20
13:11
(17) а что за произвольный текст? что именно там?
19 Dirk Diggler
 
27.03.20
13:13
(18) там:

Фыфывфывафыафывпафвпамasdjklfhajdfgsdfghslkdfgjs;lDFBGKM,s’;>DFBL,’sFdgl.’;adflga;ldsjgfkajhdrtq83947561384657y1k3j46tnsdgm,nsdf.gb,sazgФыфывфывафыафывпафвпамasdjklfhajdfgsdfghslkdfgjs;lDFBGKM,s’;>DFBL,’sFdgl.’;adflga;ldsjgfkajhdrtq83947561384657y1k3j46tnsdgm,nsdf.gb,sazgФыфывфывафыафывпафвпамasdjklfhajdfgsdfghslkdfgjs;lDFBGKM,s’;>DFBL,’sFdgl.’;adflga;ldsjgfkajhdrtq83947561384657y1k3j46tnsdgm,nsdf.gb,sazgФыфывфывафыафывпафвпамasdjklfhajdfgsdfghslkdfgjs;lDFBGKM,s’;>DFBL,’sFdgl.’;adflga;ldsjgfkajhdrtq83947561384657y1k3j46tnsdgm,nsdf.gb,sazgФыфывфывафыафывпафвпамasdjklfhajdfgsdfghslkdfgjs;lDFBGKM,s’;>DFBL,’sFdgl.’;adflga;ldsjgfkajhdrtq83947561384657y1k3j46tnsdgm,nsdf.gb,sazgФыфывфывафыафывпафвпамasdjklfhajdfgsdfghslkdfgjs;lDFBGKM,s’;>DFBL,’sFdgl.’;adflga;ldsjgfkajhdrtq83947561384657y1k3j46tnsdgm,nsdf.gb,sazgФыфывфывафыафывпафвпамasdjklfhajdfgsdfghslkdfgjs;lDFBGKM,s’;>DFBL,’sFdgl.’;adflga;ldsjgfkajhdrtq83947561384657y1k3j46tnsdgm,nsdf.gb,sazgФыфывфывафыафывпафвпамasdjklfhajdfgsdfghslkdfgjs;lDFBGKM,s’;>DFBL,’sFdgl.’;adflga;ldsjgfkajhdrtq83947561384657y1k3j46tnsdgm,nsdf.gb,sazgФыфывфывафыафывпафвпамasdjklfhajdfgsdfghslkdfgjs;lDFBGKM,s’;>DFBL,’sFdgl.’;adflga;ldsjgfkajhdrtq83947561384657y1k3j46tnsdgm,nsdf.gb,sazgФыфывфывафыафывпафвпамasdjklfhajdfgsdfghslkdfgjs;lDFBGKM,s’;>DFBL,’sFdgl.’;adflga;ldsjgfkajhdrtq83947561384657y1k3j46tnsdgm,nsdf.gb,sazgФыфывфывафыафывпафвпамasdjklfhajdfgsdfghslkdfgjs;lDFBGKM,s’;>DFBL,’sFdgl.’;adflga;ldsjgfkajhdrtq83947561384657y1k3j46tnsdgm,nsdf.gb,sazgФыфывфывафыафывпафвпамasdjklfhajdfgsdfghslkdfgjs;lDFBGKM,s’;>DFBL,’sFdgl.’;adflga;ldsjgfkajhdrtq83947561384657y1k3j46tnsdgm,nsdf.gb,sazgФыфывфывафыафывпафвпамasdjklfhajdfgsdfghslkdfgjs;lDFBGKM,s’;>DFBL,’sFdgl.’;adflga;ldsjgfkajhdrtq83947561384657y1k3j46tnsdgm,nsdf.gb,sazgФыфывфывафыафывпафвпамasdjklfhajdfgsdfghslkdfgjs;lDFBGKM,s’;>DFBL,’sFdgl.’;adflga;ldsjgfkajhdrtq83947561384657y1k3j46tnsdgm,nsdf.gb,sazgФыфывфывафыафывпафвпамasdjklfhajdfgsdfghslkdfgjs;lDFBGKM,s’;>DFBL,’sFdgl.’;adflga;ldsjgfkajhdrtq83947561384657y1k3j46tnsdgm,nsdf.gb,sazgФыфывфывафыафывпафвпамasdjklfhajdfgsdfghslkdfgjs;lDFBGKM,s’;>DFBL,’sFdgl.’;adflga;ldsjgfkajhdrtq83947561384657y1k3j46tnsdgm,nsdf.gb,sazgФыфывфывафыафывпафвпамasdjklfhajdfgsdfghslkdfgjs;lDFBGKM,s’;>DFBL,’sFdgl.sdfsdfanjfdgkljhxzdvbkjhxzgk;u134p90857128930467yw4ot;lkjsrnmgdskugfljhzdf’;
20 Dirk Diggler
 
27.03.20
13:13
Можно провести эксперимент. Запишите вот это в дополнительное описание номенклатуры:

9ea51bc9-5d87-11e2-b199-902b346f5219;b56b8ed6-f673-11e5-b979-d850e6bf91f5;f21b8a23-bd8c-11e4-9d12-d850e6bf91f5;2ce57ded-cff2-11e5-8f40-d850e6bf91f5;c1580eb3-ae76-11e2-8fa6-902b346f5219;5dccc778-37cc-11e2-a021-9094e4036182;f21b8a25-bd8c-11e4-9d12-d850e6bf91f5;c331f99b-527d-11e3-ad30-902b346f5219;2ce57df1-cff2-11e5-8f40-d850e6bf91f5;4ebfcf9f-6267-11e3-8d8f-902b346f5219;f74a6b09-a9f9-11e4-abec-d850e6bf91f5;adda0245-4d87-11e5-ae4a-d850e6bf91f5;352b557f-8164-11e2-bc4f-902b346f5219;adda0247-4d87-11e5-ae4a-d850e6bf91f5;f74a6b0b-a9f9-11e4-abec-d850e6bf91f5;f74a6b0d-a9f9-11e4-abec-d850e6bf91f5;f74a6b0d-a9f9-11e4-abec-d850e6bf91f5;f47b7d27-d5c2-11e3-adbe-d850e6bf91f5;69f112bc-c1e8-11e2-b780-902b346f5219;feec0fb4-8169-11e2-bc4f-902b346f5219;69f112be-c1e8-11e2-b780-902b346f5219;33ff1bd5-9ec9-11e3-9f5c-902b346f5219;02c1f769-ad6f-11e2-8fa6-902b346f5219;ec3ab944-8172-11e2-bc4f-902b346f5219;85cb4ae6-7e71-11e3-bab9-902b346f5219;29e2560e-728f-11e2-aa6a-902b346f5219;42131bac-54f2-11e3-a804-902b346f5219;e37be335-77ae-11e4-be82-d850e6bf91f5;ba1c839b-0336-11e3-99df-902b346f5219;e11f6d12-6c0f-11e4-be82-d850e6bf91f5;e11f6d14-6c0f-11e4-be82-d850e6bf91f5;2ea4fb74-9c15-11e6-b1be-d850e6bf91f5;7751ca38-cc7a-11e8-8af6-d850e6bf91f5;100eb924-6937-11e6-88f1-d850e6bf91f5;06100ffb-ce34-11e7-9d77-d850e6bf91f5;b27f6538-f94b-11e8-a166-d850e6bf91f5;9ea51bc9-5d87-11e2-b199-902b346f5219;b56b8ed6-f673-11e5-b979-d850e6bf91f5;f21b8a23-bd8c-11e4-9d12-d850e6bf91f5;2ce57ded-cff2-11e5-8f40-d850e6bf91f5;c1580eb3-ae76-11e2-8fa6-902b346f5219;5dccc778-37cc-11e2-a021-9094e4036182;f21b8a25-bd8c-11e4-9d12-d850e6bf91f5;c331f99b-527d-11e3-ad30-902b346f5219;2ce57df1-cff2-11e5-8f40-d850e6bf91f5;4ebfcf9f-6267-11e3-8d8f-902b346f5219;f74a6b09-a9f9-11e4-abec-d850e6bf91f5;adda0245-4d87-11e5-ae4a-d850e6bf91f5;352b557f-8164-11e2-bc4f-902b346f5219;adda0247-4d87-11e5-ae4a-d850e6bf91f5;f74a6b0b-a9f9-11e4-abec-d850e6bf91f5;f74a6b0d-a9f9-11e4-abec-d850e6bf91f5;f74a6b0d-a9f9-11e4-abec-d850e6bf91f5;f47b7d27-d5c2-11e3-adbe-d850e6bf91f5;69f112bc-c1e8-11e2-b780-902b346f5219;feec0fb4-8169-11e2-bc4f-902b346f5219;69f112be-c1e8-11e2-b780-902b346f5219;33ff1bd5-9ec9-11e3-9f5c-902b346f5219;02c1f769-ad6f-11e2-8fa6-902b346f5219;ec3ab944-8172-11e2-bc4f-902b346f5219;85cb4ae6-7e71-11e3-bab9-902b346f5219;29e2560e-728f-11e2-aa6a-902b346f5219;42131bac-54f2-11e3-a804-902b346f5219;e37be335-77ae-11e4-be82-d850e6bf91f5;ba1c839b-0336-11e3-99df-902b346f5219;e11f6d12-6c0f-11e4-be82-d850e6bf91f5;e11f6d14-6c0f-11e4-be82-d850e6bf91f5;2ea4fb74-9c15-11e6-b1be-d850e6bf91f5;7751ca38-cc7a-11e8-8af6-d850e6bf91f5;100eb924-6937-11e6-88f1-d850e6bf91f5;06100ffb-ce34-11e7-9d77-d850e6bf91f5;b27f6538-f94b-11e8-a166-d850e6bf91f5;
21 Dirk Diggler
 
27.03.20
13:13
И потом текст из (19). И сравните как быстро откроется элемент на какой платформе.
22 vi0
 
27.03.20
13:15
(19) может там много повторяющихся врагментов и они хорошо сжимаются?
23 Dirk Diggler
 
27.03.20
13:17
(22) 10 секунд передавать 2 кб?
И я в (0) писал - ПолучитьОбъект() отрабатывает мгновенно.
24 Dirk Diggler
 
27.03.20
13:20
Мне кажется платформа парсит текстовые реквизиты и пытается, если в тексте содержатся УИД, получить их на сервере. Ну что-то она по сети таскает - это факт, причем последовательно, а не параллельно.

Если выполнить открытие прямо на сервере, где еще и сам SQL сидит - открывается все быстрее в 4-5 раз (мой комп подключен по оптике 100 мбит, и я на канале не единственный).
25 ДенисЧ
 
27.03.20
13:22
Тут где-то недавно в телеге встречал ссылку, как пара бойцов решали, почему у них долго открывалась форма..
Так они там фиддлер прикрутили, ещё что-то... И результаты обмена клиента с сервером смотрели-распаковывали.
Может, и автору стоит попробовалть? ))
26 vi0
 
27.03.20
13:32
(23) я хз, ты проверяй, а не рассуждай
27 vi0
 
27.03.20
13:33
(25) (24) да, это легко проверяется профайлером
28 Dirk Diggler
 
27.03.20
13:51
Момент основных тормозов выделен. Ну мне легче не стало )

http://joxi.ru/YmEXwXQcJjn6gr
29 vi0
 
27.03.20
13:58
(28) и что там подозрительного в красной рамке?
30 arsik
 
гуру
27.03.20
13:58
(28) (21) 8.3.16.1063, MS SQL, толстый клиент, совместимость интерфейса "Версия 8.2", Режим совместимости "Версия 8.3.10" - никаких отличий. Что с уидами, что с произвольной строкой.
31 Dirk Diggler
 
27.03.20
13:59
(29) да, что? )
32 vi0
 
27.03.20
14:00
(31) просто почему ты решил про момент тормозов там?
33 Dirk Diggler
 
27.03.20
14:00
(32) Потому что я дописал уидов еще столько же, и тормоза теперь длятся полминуты. Промазать невозможно.
34 arsik
 
гуру
27.03.20
14:01
(33) Он говорит, что выделенные строки не связаны с уидами в твоемполе
35 H A D G E H O G s
 
27.03.20
14:02
Автор, ты втираешь нам какую-то дичь.
Все работает мгновенно.
36 Dirk Diggler
 
27.03.20
14:03
(35) УТ 10.3? 8.3.16.1148?
37 arsik
 
гуру
27.03.20
14:04
Согласен с (35) - скорее всего где то в конфигурации есть какая то проверка и это не связано с платформой.
38 vi0
 
27.03.20
14:04
(33) что это за профайлер?
39 H A D G E H O G s
 
27.03.20
14:04
(36) Обычная форма?
40 H A D G E H O G s
 
27.03.20
14:06
(28) В моменте "основных тормозов" тебе блокировок понаставил какой то другой процесс, не 1С. Нет ли триггера у тебя какого то в SQL ?
41 Dirk Diggler
 
27.03.20
14:06
(39) да
(38) для экспресса. У меня все это на SBS вертится, в нем профайлер не встроен.
42 Dirk Diggler
 
27.03.20
14:09
(37) Нет проверки. Нету. Код не исполняется в этот момент.
43 H A D G E H O G s
 
27.03.20
14:09
(28) Что говорит sp_who2 на spid c 16 по 25 ?
44 arsik
 
гуру
27.03.20
14:12
(42) Ага. Знаем, знаем. Платформа как начала сама проверять текстовые поля на соответствие с уидом. Нам то не ври.
45 Dirk Diggler
 
27.03.20
14:13
46 Dirk Diggler
 
27.03.20
14:13
(45) все такие. только ид отличается
47 vi0
 
27.03.20
14:14
может что то с полнотекстовым индексом?
48 Dirk Diggler
 
27.03.20
14:19
(44)
ОбщийМодуль.ОбменДаннымиСобытия.Модуль    561    Если НЕ ОбменДаннымиВызовСервера.ОбменДаннымиВключен(ИмяПланаОбмена) Тогда    3    0,035219    8,31
Обработка.ЗначенияСвойствОбъекта.МодульОбъекта    312    НаборЗаписейЗначенияСвойств.Записать();    1    0,025079    5,92
Справочник.Номенклатура.Форма.ФормаСпискаDX.Форма    488    Обновить();    1    0,024420    5,76
ОбщийМодуль.ОбменДаннымиСобытия.Модуль    559    ОбменДаннымиВызовСервера.ПроверитьКэшМеханизмаРегистрацииОбъектов();    3    0,022312    5,26
РегистрСведений.РезультатыОбменаДанными.МодульМенеджера    139    ОбменДаннымиВызовСервера.ЗарегистрироватьУстранениеПроблемы(СсылкаНаИсточник, ТипПроблемы, НовоеЗначениеПометкиУдаления);    1    0,021985    5,19
Обработка.ЗначенияСвойствОбъекта.МодульОбъекта    351    Назначение = Назначение.Родитель;    6    0,021741    5,13
Обработка.ЗначенияСвойствОбъекта.МодульОбъекта    63    Возврат Запрос.Выполнить().Выгрузить();    2    0,015107    3,56
Справочник.Номенклатура.Форма.ФормаЭлементаDX.Форма    426    СтрокаЦен.СпособРасчетаЦены = СтрокаЦен.ТипЦен.СпособРасчетаЦены;    10    0,015031    3,55
ОбщийМодуль.УправлениеСоединениямиИБ.Модуль    133    УправлениеСоединениямиИБПереопределяемый.ЗаполнитьПараметрыБлокировкиСеансов(ПараметрыБлокировки, ТекущаяДата);    1    0,014892    3,51
Справочник.Номенклатура.Форма.ФормаЭлементаDX.Форма    2 607    ЭлементыФормы.ПолеHTMLДокументаРасш.УстановитьТекст(ДополнительныйТекст);    1    0,011653    2,75
49 Dirk Diggler
 
27.03.20
14:19
8% - 3 сотых секунды. Из 40.
50 vi0
 
27.03.20
14:23
неуправляемая форма?
элементы отображаются на форме?
51 Cyberhawk
 
27.03.20
14:24
А выпили-ка поле формы, отображающее содержимое этого твоего реквизита-строки с УИДами
52 arsik
 
гуру
27.03.20
14:24
А вот это уже интересно "ЭлементыФормы.ПолеHTMLДокументаРасш.УстановитьТекст(ДополнительныйТекст);" Закоментируй.
53 Dirk Diggler
 
27.03.20
14:26
(50) Да, обычная. Все отображается нормально
(52) Закомментировал. Без результата.

(51) ща
54 Dirk Diggler
 
27.03.20
14:31
(51) летает ваще )
55 arsik
 
гуру
27.03.20
14:31
(54) Тип у поля какой? Ссылка на что?
56 Dirk Diggler
 
27.03.20
14:32
(55) см (5)
57 arsik
 
гуру
27.03.20
14:33
(56) Я про другое. Свойства поля покажи.
58 Cyberhawk
 
27.03.20
14:33
(54) Ну теперь создай по-новой. Может старое поле формы кривое какое-нибудь было.
59 Dirk Diggler
 
27.03.20
14:33
(58) полей в форме несколько(6 шт), работают все одинаково коряво.
60 Dirk Diggler
 
27.03.20
14:34
(57) дефолтные свойства "ДополнительноеОписаниеНоменклатуры". Так работает и оригинальная форма элемента в УТ 10.3, а родные реквизиты я не трогал.
61 Cyberhawk
 
27.03.20
14:34
Ну вот все и пересоздавай
62 Dirk Diggler
 
27.03.20
14:37
(61) вынес все, одно создал заново. Тормоза вернулись.
63 Cyberhawk
 
27.03.20
14:39
(62) Готовь демо-пример, отправляй на v8
64 Cyberhawk
 
27.03.20
14:40
Многострочный режим еще попробуй убрать
65 Dirk Diggler
 
27.03.20
14:40
(63) принято. будем переписывать на РС...
Всем спасибо.
66 Cyberhawk
 
27.03.20
14:45
(65) Демо-пример все-таки сделай. Не ты отправишь, так кто-нибудь другой.
67 Fragster
 
гуру
27.03.20
14:52
(28) посмотри Прибавление строки на сервере и перепиши с использованием ЗаписьXML.ЗаписатьБезОбработки()
68 Fragster
 
гуру
27.03.20
14:53
а вообще вмесо массива через строку изи хранить этот массив прям в хранилище. и ссылки типизированные будут вместо гуидов
69 arsik
 
гуру
27.03.20
14:53
Подтверждаю. С многострочным режимом элемента формы действительно какой то косяк.
Даже с мусором он открывается медленнее на порядок. С уинами еще медленнее. Виноват флажок автоперенос строк. Проверил.
70 Fragster
 
гуру
27.03.20
14:54
(69) у меня существенно начинало влиять на сотнях строк, притом на УФ сильнее
71 arsik
 
гуру
27.03.20
14:55
(69) Ну и проблема, я так думаю, не в самих уинах, а символах дефиса, что в них используются.
72 arsik
 
гуру
27.03.20
15:03
+(71) Заменил все "-" на "-1-"  и все ";" на ";2;" - стало почти в 2 раза медленнее
73 Fragster
 
гуру
27.03.20
15:06
(72) см (67)
74 Fragster
 
гуру
27.03.20
15:06
ну и да, менять сразу два параметра
75 Fragster
 
гуру
27.03.20
15:07
зачем? кто так измеряет?
76 arsik
 
гуру
27.03.20
15:19
(74) Я по разному пробовал. Просто это один из вариантов. Короче влияет количество всяческих разделителей в строке. Не важно дефис это или знак какой.
77 arsik
 
гуру
27.03.20
15:20
(73) Там совсем про другое.
78 H A D G E H O G s
 
27.03.20
15:23
Это только 8.3.16? В 8.3.15 не наблюдаю такого.
79 arsik
 
гуру
27.03.20
15:26
(78) Хз. Как проверил?
80 Злопчинский
 
27.03.20
17:16
(25) " почему у них долго открывалась форма.."
- это не там где выяснилось что платформа читает кэш сначала а в кэше 50-70 тыс меленьких файликов-форм... Убивают этот кэш - открывается быстро. а потом - все медленнее и медленнее
81 vi0
 
27.03.20
17:32
остался вопрос что там именно с уидами
82 ДенисЧ
 
27.03.20
19:33
(80) Нет. Это когда они 3 тч по 70-90 тыщ элементов гоняли с клиента на сервер и обратно.
83 Cyberhawk
 
27.03.20
19:38
(67) Как твоя ссылка связана с долгим приездом уже записанной в БД строки в поле элемента открываемой формы?
84 Fragster
 
гуру
27.03.20
20:03
(83) забей, я подумал, что он гуиды в массив ссылок разворачивает и обратно
85 arsik
 
гуру
27.03.20
20:15
(81) Они не при чем. Любая длинная строка с большим числом технических символов так будет себя вести.
86 vi0
 
27.03.20
20:32
(85) ясен хрен, что это просто строка
вопрос почему именно на этом составе символов такое поведение
87 arsik
 
гуру
27.03.20
23:34
(86) Да хз что там внутри с переносами происходит. Может анализируются возможные места автопереноса, что бы при изменении размера сразу поле обновить. Явно какая то логическая ошибка. Тем более строковые объекты у 1С какие то хитрые свои используются (на хабре в блоке проскакивало). Все может быть.
88 Сияющий в темноте
 
28.03.20
18:44
поставьте пробелы между гуидами
если строка длинная,то перенос строки ставится неоптимально.