Имя: Пароль:
1C
1С v8
Вложенная ТаблицаЗначений
, ,
0 Юзер123
 
naïve
17.09.15
16:39
Доброго времени.

Еще раз).

Начал переписывать обработки с 8.2 для упр форм.
Появился вопрос.
Возможно ли сделать "Вложенную таблицу" в табличной части обработке.

Т.е.  1 из колонок Таб части обработки - ссылка на определенное количество строк вложенной таблицы.

Обработка загрузки спецификаций.  

Таб часть обработки:

Флаг , Номенклатура , Ссылка на комплектующие.
1 Mort
 
17.09.15
16:40
Две связанные ТЧ.
2 Юзер123
 
naïve
17.09.15
16:41
как их связать?  что бы отображались только нужные комплектующие
3 Юзер123
 
naïve
17.09.15
16:42
О можно же добавить колонку с типом ТабЗначений))
4 Юзер123
 
naïve
17.09.15
16:43
или не взлетит?
5 Mort
 
17.09.15
16:46
На форме можно. В ТЧ нет.
6 Юзер123
 
naïve
17.09.15
16:46
(4)  не взлетит.  Т.е. надо сделать еще 1 таблицу и связать ее с мое по Номенклатуре?
7 Юзер123
 
naïve
17.09.15
16:47
(5) не совсем понимаю как связать(
8 Dmitriy_76
 
17.09.15
16:51
(7) отборами
9 Юзер123
 
naïve
17.09.15
16:53
(8) отборами в чем? в форме? вторую таблицу на форму надо переносить?
10 Phace
 
17.09.15
17:08
(9) Примеров полно в типовых, смотри, например в УНФ поле "КлючСвязи" в документе "ПриемНаРаботу".
11 Юзер123
 
naïve
18.09.15
08:12
(10) спасибо сейчас буду смотреть
12 Апош
 
18.09.15
08:20
13 Юзер123
 
naïve
18.09.15
08:30
(12)  обе таблицы должны быть на форме?
14 Провинциальный 1сник
 
18.09.15
08:34
Не понял. А в чем проблема хранить таблицу значений в ячейке таблицы значений?
15 Юзер123
 
naïve
18.09.15
08:35
(14) так не выходит.  Можно выбрать тип реквизита "ТаблицаЗначений" но этот реквизит на форму не переносится.
16 Апош
 
18.09.15
08:36
(13) формы вообще могут не быть
17 Апош
 
18.09.15
08:38
(14) у него ТЧ
18 Юзер123
 
naïve
18.09.15
08:39
(16) Еще раз.

Есть главная таблица. в ней поля
ФлагВкл ,  Номенклатура , Комплектующие.

Комплектующие  = табЗначений  . По клику на колонку должен открываться список комплектующих данной номенлкатуры.
19 Юзер123
 
naïve
18.09.15
08:41
(16) ваш скрин (12)  похож на то что нужно
20 Апош
 
18.09.15
08:41
(18) есть две таблицы.
продукция: продукт, ключ
комплектующие: запчасть, ключ
21 Юзер123
 
naïve
18.09.15
08:43
22 Апош
 
18.09.15
08:44
(21) там несколько про ОФ
23 Юзер123
 
naïve
18.09.15
08:47
(22) есть где посмотреть или почитаться то что я ищу?
24 Апош
 
18.09.15
08:48
(23) бери принцип оттуда и ныряй в пучину СП
25 Юзер123
 
naïve
18.09.15
08:50
(24) Ок)
26 Юзер123
 
naïve
18.09.15
09:51
И так. есть 2 таблицы . Связанные по Уникальному ИД. 1 таблица есть на форме. Второй нет.

Как отображать отобранные по ИД данные пользователю в определенный момент подскажите пож-та.
27 Апош
 
18.09.15
10:40
&НаКлиенте
Процедура ПродукцияПриАктивизацииСтроки(Элемент)
    Если Элемент.ТекущиеДанные<>Неопределено Тогда
        ЭтотОбъект.Элементы.Материалы.ОтборСтрок=Новый ФиксированнаяСтруктура("Ключ", Элемент.ТекущиеДанные.Ключ);
    КонецЕсли;
КонецПроцедуры
28 Юзер123
 
naïve
18.09.15
10:45
(27) Это работает если таблица Материалы на форме лежит.
так он ее даже не видит через

ЭтотОбъект.Элементы. ...
29 Юзер123
 
naïve
18.09.15
10:46
ЭтотОбъект.Материалы может?
30 Апош
 
18.09.15
10:46
(28) это ты верно подметил
31 Юзер123
 
naïve
18.09.15
10:46
тогда отбор не работает.
32 Юзер123
 
naïve
18.09.15
10:47
(30) т.е.  Таблица должна быть на форме в любом случае?.
33 Апош
 
18.09.15
10:50
(32) только в том случае, если ты хочешь показать её юзеру
34 Юзер123
 
naïve
18.09.15
10:53
https://i.gyazo.com/0fc047856be40748c678881e834b8869.png


Хочу что бы таблица показывалась только по клику.
35 Апош
 
18.09.15
10:53
(34) кто я такой, чтобы тебе запрещать?
36 Nuobu
 
18.09.15
10:54
(34) ОбработкаВыбора()
37 Апош
 
18.09.15
10:54
интересно, а что внутре у дбфки?
38 Юзер123
 
naïve
18.09.15
10:54
(35) я совета прошу( как это сделать. если в любом случае таблица будет болтаться на форсе. или это уже надо с видимостью играть?
39 Юзер123
 
naïve
18.09.15
10:55
Что то такое
40 Юзер123
 
naïve
18.09.15
10:55
41 Апош
 
18.09.15
10:55
(38) ты выразил желание ваще-т. пускай будут две, тебе жалко что ли?
42 Юзер123
 
naïve
18.09.15
10:55
(36) обработчик стоит на изменение 3-тьей колонки.  по двойному клику вызывается.

Или Вы что имеете в виду?
43 Апош
 
18.09.15
10:56
а можно было б перегнать дбфку в дерево...
44 Апош
 
18.09.15
10:57
(42) и по этому самому волшебному клику ты уже знаешь ключ для второй таблицы
45 Юзер123
 
naïve
18.09.15
10:58
(43) да
на изначально в  таблице 2 будет овер 10000 комплектующих)
46 Юзер123
 
naïve
18.09.15
10:58
по сути это просто для юзера.  Ибо загрузить спецификации можено и без этого. просто разобраться хочу.
47 Юзер123
 
naïve
18.09.15
11:37
еще 1 вопрос по теме.  

Есть ли возможность с сервера задать пользователю вопрос?.
В описании СП написано что доступно с клиента только.

Смысл в том что записывать сразу не надо . Надо спросить пользователя зафиксировать транзакцию или нет.

Т.е. надо вызвать функцию с клиента , а потом вернуть результат на сервер.
48 Апош
 
18.09.15
11:40
спроси его заранее, не намеревается ли он когда-нибудь в будущем фиксировать транзакции
49 Юзер123
 
naïve
18.09.15
11:43
(48) возможно что в базе на момент записи нет материалов.
50 Апош
 
18.09.15
11:45
(49) это ни разу не головная боль юзера
51 Апош
 
18.09.15
11:47
а неплохо так...
база: слушай, друг, у меня тут данных добавилось, писать будем?
юзер: да фиг знает, мож, матерьялов не хватает. ща, погодь (щёлкает калькулятором)... да, фиксируем. давай следующего
52 Nuobu
 
18.09.15
11:52
(49) Юзер сказал зафиксировать, значит зафиксировать.
53 Юзер123
 
naïve
18.09.15
11:53
не в том дело.  Данные перебрасываются из внешней не 1с-ной базы.  Т.е. левая база первична.  возможно какие то новые Позиции были внесены в ту базу.  И при загрузке идет проверка.

В 8.2 выдавался вопрос мол зафиксировать транзакцию или нет.
54 Nuobu
 
18.09.15
11:54
(53) Так загрузи всё "в обработку", пусть юзер посмотрит и скажет "Фиксируй".
А база скажет - шишь. И всё.
55 Юзер123
 
naïve
18.09.15
11:58
(54) много лишнего  получается.  смотри.

1. загружается из ДБФ.  Потом проверяется а там около 2 к позиций номенклатуры.   Потом Записывается примерно столько же по времени сколько и проверяется.
56 Nuobu
 
18.09.15
11:58
(55) В чем проблема спросить перед загрузкой?
57 Юзер123
 
naïve
18.09.15
11:59
вопрос то остается.  Можно как то вопрос задавать узеру?
58 Юзер123
 
naïve
18.09.15
11:59
(56)  в том что в ДБф хранятся те самые спецификации как я спрошу перед загрузкой не зная что грузим)
59 Nuobu
 
18.09.15
12:01
(58) Потом проверяется а там около 2 к позиций номенклатуры
не зная что грузим)

Как ты узнал, что грузим без чтения файла?
60 Юзер123
 
naïve
18.09.15
12:03
(59)   мне кажется что не совсем понимаем друг друга.  
Алгоритм логичен). вопрос в том , Можно ли вопрос  с сервера задать юзеру?. н продолжать дальше или нет выполнять обработку.
61 Юзер123
 
naïve
18.09.15
12:04
(56) ваш ответ на (55) .  не понял...
62 Nuobu
 
18.09.15
12:07
(60) Нет, нельзя.
(61) Потом проверяется а там около 2 к позиций номенклатуры.  

После проверки можно спросить?
Ну, разбить проверку и запись на две отдельные процедуры и по очереди их вызвать, если юзер подтвердил.

Потом Записывается примерно столько же по времени сколько и проверяется.
63 Юзер123
 
naïve
18.09.15
13:59
(62) как бы это красиво обыграть. ?

Я пишу в процедуре на сервере   НачатьТранзакцию()..
бла бла бла


..

Потом возвращаюсь на клиент и спрашиваю Зафиксировать??..

Если да , то на сревере пишу ЗафиксироватьТранзакцию()..

https://i.gyazo.com/680f02a9ef7f4c4a14daeb9d4a207e5a.png

https://i.gyazo.com/ba293dfc9dbf79f48516f4f6a5afa1a8.png
64 Апош
 
18.09.15
16:30
похоже, ты отождествляешь понятия транзакция и изменение данных БД
65 Провинциальный 1сник
 
21.09.15
07:38
(17) Легко и просто можно хранить любой сериализуемый объект в строковом реквизите. ЗначениеВСТрокуВнутр и все дела. А для редактирования этой вложенной таблицы нарисовать отдельную форму.