Имя: Пароль:
1C
1С v8
v8: Клиент хочет в форме списка Заказов видеть Реализацию.
,
0 palpetrovich
 
06.06.13
13:16
В форме списка Заказов хочет выдеть Реализацию.
Вижу 3 варианата:
1 в процедуре  СписокПриПолученииДанных делать запрос по текущему открытому списку  //что плохо -  тормоза

2 добавить реквизит в Заказ и покурочить его обработкуПроведения типа так: Если ПризнакЗаписиЗаказаИзРеализации Тогда Возврат; //что плохо - при проведении/распроведении Реализации записывать Заказ + на 1 Заказ может быть много Реализаций

3 послать его с его хотелками

что скажите?
1 ДенисЧ
 
06.06.13
13:17
я бы сделал 1 и 3 в произвольном порядке
2 1Сергей
 
06.06.13
13:17
1 заказ = 1 Реализация?
3 Старик Юзергад
 
06.06.13
13:18
сказать, что задача сложная и срубить больше бабла
4 Старик Юзергад
 
06.06.13
13:19
+(3) используя функцию Максимум().
А когда спросит: задашь встречный вопрос, что не было сказано, какой из...
5 Ненавижу 1С
 
гуру
06.06.13
13:19
сделать РС
6 palpetrovich
 
06.06.13
13:21
(1) 1-й вариант конечно можно дополнить возможностью отключения "показа"
(2) та отож, гвоорил я ему
(5) это вариация п.1 ...хотя чуть быстрее быудет
7 palpetrovich
 
06.06.13
13:22
(3) за что тут рубить-то?

зы: а "Свойства" тут использовать не получиться?
8 patapum
 
06.06.13
13:22
(0) вариант 4. выяснить, зачем, понять, что еще хочется туда же, нарисовать клевый АРМ
9 Галахад
 
гуру
06.06.13
13:23
Сделай 1. Потом заработай на оптимизации. :-)
10 H A D G E H O G s
 
06.06.13
13:23
(0)
СписокПриПолученииДанных делать запрос по текущему открытому списку  //что плохо -  тормоза

Это все из за того, что руки не там отпочковались.

(5) Вариант. Ну или добавить реквизит "Заказ", индексированный в Реализацию, че бы нет?
11 Irbis
 
06.06.13
13:23
3 раза выполнить п. 3, если не уйдет выполнить п.1 за большие деньги.
12 kosts
 
06.06.13
13:24
Сделай запрос при получении данных. Борьбу с тормозами оставь на заказчика в виде галочки показать/скрыть реализацию.
13 H A D G E H O G s
 
06.06.13
13:24
Есть еще неиндексированный Сделка, только он составной и не всегда подходит.
14 Рэйв
 
06.06.13
13:26
Сделай информационный блок текста на форме и показывай данные на активную строку. При активации запросом находи реализации и формируй инфо строку.

Тормозить не должно вроде
15 palpetrovich
 
06.06.13
13:27
(10) та ладно, научи как в  "СписокПриПолученииДанных"  сделать так, что-б запрос выполнился ОДИН раз

(14) не, он хочет именно в СПиске
16 Рэйв
 
06.06.13
13:27
+(14)Или можно даже таб. поле замутить и туда сгружать реализации по текущему заказу.
17 Ахиллес
 
06.06.13
13:27
Сделать список Реализаций с Заказами, а клиенту сказать, что это список Заказов с Реализациями. Всё равно клиент тупой и разницу не поймёт.
18 Рэйв
 
06.06.13
13:28
(15)Так если их будет >1 как ты в оду ячейку все поместишь?
19 H A D G E H O G s
 
06.06.13
13:29
(16) Реквизит в реализации решает эту проблему
20 palpetrovich
 
06.06.13
13:29
(18) понятия не имею, думаю правильней будет просто покрасить строку в другой цвет, а если ему захочется уточнить - для этого есть "структура подчитенности"
21 H A D G E H O G s
 
06.06.13
13:29
(18) Красным цветом ячейка. При активации - расшифровка.
22 Рэйв
 
06.06.13
13:29
(19)Так по идее в ней и так должен быть ДокументОснование заполненный заказом
23 H A D G E H O G s
 
06.06.13
13:30
(15) Запрос выполняется 1 раз. Че не так?
24 palpetrovich
 
06.06.13
13:30
(19) каким образом? ...вот табПоле в Заказе - это да
25 Ахиллес
 
06.06.13
13:32
(24) Может просто объяснишь клиенту чем журнал документов от отчёта отличается? И не надо будет конфигу раком ставить.
26 palpetrovich
 
06.06.13
13:33
(23)
Процедура СписокПриПолученииДанных(Элемент, ОформленияСтрок)
   КвоЗходовВСписокПриПолученииДанных = КвоЗходовВСписокПриПолученииДанных + 1;
   сообщить("КвоЗходовВСписокПриПолученииДанных = " + КвоЗходовВСписокПриПолученииДанных);
КонецПроцедуры
КвоЗходовВСписокПриПолученииДанных = 0;

КвоЗходовВСписокПриПолученииДанных = 1
КвоЗходовВСписокПриПолученииДанных = 2
27 H A D G E H O G s
 
06.06.13
13:33
(22) Невсегда. Есть еще ведение учета по счетам.
28 palpetrovich
 
06.06.13
13:33
//КвоЗходовВСписокПриПолученииДанных = 1
//КвоЗходовВСписокПриПолученииДанных = 2
29 H A D G E H O G s
 
06.06.13
13:34
(26) Че это?
30 H A D G E H O G s
 
06.06.13
13:34
Я и так знаю, что ПриПолученииДанных отрабатывает каждый раз при прокрутке списка
31 H A D G E H O G s
 
06.06.13
13:35
И это хорошо.
32 H A D G E H O G s
 
06.06.13
13:36
(24) Что тебя смущает в индексированном реквизите
"ЗаказПокупателя" в документе РеализацияТоваровиУслуг
?
33 palpetrovich
 
06.06.13
13:37
(29) без прокрутки в данном случае - это приоткрытии
в Реализации:
ДокументОснование - не индексирован
Сделка - индексирован

как мне это поможет?
34 Ardi
 
06.06.13
13:37
У меня "приВыводе" накурочено куча запросов.
И ничего, терпят. Только в журнале выставлен период - 1 день.
А один запросик "ПриПолученииДанных" вообще летать будет.
35 palpetrovich
 
06.06.13
13:39
+ 33 все равно мне в ПриПолученииДанных сначала надо получить списокЗказов, а потому уже скормит его запросу по реализациям
36 palpetrovich
 
06.06.13
13:39
(34) "период - 1 день"  вряд-ли  будут рады
37 H A D G E H O G s
 
06.06.13
13:40
(35) Да, так и есть
38 H A D G E H O G s
 
06.06.13
13:40
(33) Ищи по ДокументОснование, если будет долго (вряд ли) -сделай его индексированным.
39 palpetrovich
 
06.06.13
13:42
(38) почему не по Сделке? ...в данном случае ДокОснование и Сделка - одно и то-же
40 H A D G E H O G s
 
06.06.13
13:43
(39) Сделку могут потереть юзеры.
41 Ardi
 
06.06.13
13:44
(40) А док. основание может быть пустым.
42 palpetrovich
 
06.06.13
13:46
я ща ересь скажу :)
а запрос к "ОформленияСтрок" можно сделать?
43 H A D G E H O G s
 
06.06.13
13:46
(41) Судя по тому, что его нет в типовых и он добавлен автором - нет, ибо автор знает, что делает.
44 H A D G E H O G s
 
06.06.13
13:46
(42) Нет. Собирай ссылки циклом.
45 palpetrovich
 
06.06.13
13:46
(41) ну, это они сами себе злобные буратины в таком случае
46 H A D G E H O G s
 
06.06.13
13:47
(41) А ты бы не позорился и запросики из ПриВыводе убрал.
47 H A D G E H O G s
 
06.06.13
13:47
(45) Дада, сами. Угу. Знаем.
48 Конфигуратор1с
 
06.06.13
13:49
(0) запрос на сервере очень нормуль работает
49 palpetrovich
 
06.06.13
13:49
вот почему при первом заходе по (26) в СписокЗаказов попадает только одно значение, а при втором - все
СписокЗаказов = Новый СписокЗначений;
   Для Каждого ЭлементОформления Из ОформленияСтрок Цикл
       СписокЗаказов.Добавить(ЭлементОформления.ДанныеСтроки.Ссылка);
   КонецЦикла;
50 PiterPrg
 
06.06.13
13:50
(15) Дык кешировать надоть. Я еще на клюшках с кешем (из списка значеий) делал.
А теперь-то с индексами по таб значений- сам Бог велел.
Создаешь таблицузначений с колонками СправочникСсылка и отображаемое значение, по СправочникСсылка делаешь индекс

При получении данных ищешь в своей табЗн,

если нашел - проставляешь значение,

если не нашел - записываешь ссылку в отдельный список.

Когда все элементы ОформниеСтрок кончились -
делаешь запрос (по твоему составленному списку)

Снова пробигаешь по оформлениям строк - выводишь то, чего небыло при первом проходе.

Потом можно сделать кнопку обновить (по которой просто очищаешь табзнач)
Можно очищать ТЗ и при смене родителя
51 Ardi
 
06.06.13
13:51
(46) Дадут денег, уберу.
52 palpetrovich
 
06.06.13
13:53
(43) нет, ничего не добавлял, просто это УТ для Украины
53 rintik
 
06.06.13
13:55
Может лучше не в таблице, а при активизации строки где нить в углу ссылки на документы реализации, скорее всего зак это просит для удобства перехода в док реализации, а если нужна табличка заказы с реализациями, проще отчет написать, и не грузить систему лишний раз?
54 palpetrovich
 
06.06.13
14:01
лан, спасибо всем, делаю п.1
если будут жалобы - переделаю на РС
Независимо от того, куда вы едете — это в гору и против ветра!