|
Идентификатор строки табличной части | ☑ | ||
---|---|---|---|---|
0
triviumfan
11.04.18
✎
15:28
|
Доброго дня.
Есть задача по выгрузке данных на сайт. Документация API гласит, чтобы я передавал работы заказ-наряда в таком виде:
где PackageWorkType:
Так вот 100 раз спросил у разработчиков, что мне передавать в качестве id в PackageWork, так они 100 раз ответили "идентификатор строки табличной части". Я уточняю, может номер строки/индекс? Нет, им нужен идентификатор! Подскажите, что они от меня хотят? У сего объекта (строкатабличнойчасти) нет никаких идентификаторов! PS: У меня лишь одна мысль - добавить реквизит ТЧ с типом "УникальныйИдентификатор". |
|||
1
Cyberhawk
11.04.18
✎
15:30
|
Правильно, в 1С у строк ТЧ никаких идентификаторов нет - их можно перемещать туда-сюда, номер строки благополучно будет меняться
|
|||
2
Cyberhawk
11.04.18
✎
15:31
|
Но идентификатором может являться прикладной столбик этой ТЧ, если обеспечивается его уникальность и неизменность
|
|||
3
Cool_Profi
11.04.18
✎
15:31
|
Мне такая ситуация тоже попалась - добавил в документ гуид.
|
|||
4
triviumfan
11.04.18
✎
15:34
|
(2) (3) Блин.. так не хотелось добавлять ещё один реквизит ТЧ, у меня итак их целый вагон... ясно, спасибо :(
Заполнять программно при добавление строки? |
|||
5
H A D G E H O G s
11.04.18
✎
15:38
|
(4) Посмотреть как в типовых заполняется у заказаклиента.
|
|||
6
Cool_Profi
11.04.18
✎
15:40
|
(4) Я заполняю приЗаписи, мне этого достаточно
|
|||
7
H A D G E H O G s
11.04.18
✎
15:43
|
(6) недостаточно
|
|||
8
H A D G E H O G s
11.04.18
✎
15:44
|
если это инкрементные идентификаторы. Если uid - норм
|
|||
9
mikilula
11.04.18
✎
15:45
|
Спасибо за нужную информацию!
|
|||
10
Cool_Profi
11.04.18
✎
15:45
|
(7) Ещё раз - _мне_ достаточно. Призаписи разумеется, в модуле объекта, а не формы.
|
|||
11
Cyberhawk
11.04.18
✎
15:46
|
(8) Чего-то инкрементным недостаточно "ПриЗаписи"?
|
|||
12
H A D G E H O G s
11.04.18
✎
15:47
|
(11) Пользователь удалил строку с максимальным идентификатором
|
|||
13
Cool_Profi
11.04.18
✎
15:49
|
(12) У меня, к сожалению, гуид.
А даже, если удалид в случае целой - будет дырка, никто не умрёт |
|||
14
Cyberhawk
11.04.18
✎
15:49
|
(12) А как в типовых разруливают, где-то хранят максимальное значение / счетчик или отлавливают удаление строки из ТЧ (включая программное)?
|
|||
15
H A D G E H O G s
11.04.18
✎
15:51
|
(14) хранят максимальное значение
в шапке дока |
|||
16
Сияющий в темноте
11.04.18
✎
15:53
|
Если вместо строки табличной части использовать элемент справочника,то проблема решается очень просто,элемент заказ и подчиненные ему элементы с данными
|
|||
17
Cyberhawk
11.04.18
✎
15:54
|
И правда, глянул в метаданные УТ 11.3: у заказа клиента есть реквизит "МаксимальныйКодСтроки" с пояснением "Служебный реквизит для хранения максимального кода строки". Однако...
А чо он не индексируется? |
|||
18
Cyberhawk
11.04.18
✎
15:54
|
(16) Элемент справочника пользователь берет и меняет на другой элемент справочника. Строка та же или новая?
|
|||
19
H A D G E H O G s
11.04.18
✎
16:00
|
(17) А чо он не индексируется?
зачем? |
|||
20
Cyberhawk
11.04.18
✎
16:07
|
(19) Я хз, может там это макс. значение запросами насилуют во всей конфе )
|
|||
21
triviumfan
11.04.18
✎
17:10
|
А вообще странно, чем им номер строки не катит, ведь он тоже уникален в пределах ТЧ. В типовых он используется как вспомогательный служебный реквизит в связи с особенностями управляемого приложения.
А у меня то выгрузка на сайт! Беру ссылку на документ - сериализую в JSON - выгружаю! Id PackageWork уникален! Что им надо?! |
|||
22
triviumfan
11.04.18
✎
17:11
|
(21) "в типовых...", - я про "код строки"
|
|||
23
triviumfan
11.04.18
✎
17:12
|
где PackageWork из шапки |
|||
24
Buster007
11.04.18
✎
17:15
|
(22) удалил и добавил новую строку. Номер строки одинаковые, а строки уже разные
|
|||
25
triviumfan
11.04.18
✎
17:28
|
(24) И? Сайт посчитает, что это та же строка и перезаполнит объект.
|
|||
26
mr_K
11.04.18
✎
17:28
|
Я так понимаю, если не нужна обратная синхронизация (выгрузка только туда и один документ выгружается 1 раз), то передай туда произвольный гуид, не сохраняя его в базе.
|
|||
27
triviumfan
11.04.18
✎
17:41
|
(26) Да я думаю этого тоже будет достаточно, правда чем все-таки номер строки не фонтан?)
|
|||
28
Buster007
11.04.18
✎
17:41
|
(25) если у тебя все строки сразу синхронизируются, нафига тогда нужен УИД?
Если нет, то поменяй местами строки, и у тебя будет полная ерунда |
|||
29
lodger
11.04.18
✎
17:43
|
(27) отсортируют, перетасуют - номер изменится. они хотят ключ уникальности.
|
|||
30
triviumfan
11.04.18
✎
17:43
|
(28) Я хз как они парсят всю мою фигню, что я передал. Общий язык найти не можем. Накой им УИД - не понятно =\
|
|||
31
Cyberhawk
11.04.18
✎
17:44
|
(30) Ну передавай им номер строки. Все равно вся ТЧ каждый раз полностью передается
|
|||
32
Serg_1960
11.04.18
✎
20:46
|
Номер строки можно считать валидным в период между изменениями объекта. Ваш кэп.
В старых конфигурациях использовались реквизиты строки КлючСтроки и КлючСвязи. Смысл, надеюсь, понятен? А если нет - гуглите на форуме. |
|||
33
Serg_1960
11.04.18
✎
20:54
|
(30) "100 раз спросил у разработчиков..." - лучше один раз спроси "Уникальность идентификатора строки нужна в пределах документа или в базе в целом?". Если по базе, то добавляй реквизит и заполняй его через Новый УникальныйИдентификатор()при создании строки.
|
|||
34
Serg_1960
11.04.18
✎
20:57
|
(31) Не исключено, что в базе-приёмнике нет документов как таковых, а только записи, например, как в бухгалтерских проводках. Тогда становиться понятным чего они автора мучают :)
|
|||
35
Лефмихалыч
11.04.18
✎
21:45
|
(0) номер строки передавать пробовал? Что происходит?
Там с той стороны могут сидеть какие-нить с писюнами вместо пальцев, которые не знают, что такое объектные и необъектные данные. Договориться с такими не получится. ТОлько генерить им фэйковый какой-нить ИД |
|||
36
Cyberhawk
11.04.18
✎
21:54
|
(33) "Если по базе, то добавляй реквизит и заполняй его через Новый УникальныйИдентификатор" // Склеить УИД ссылки + номер строки ТЧ кажется что вполне подойдет :) Ну, мы ж не знаем, нахера им он, что они будут с ним делать, будет ли обратная передача и все такое.
(34) Скорее всего так и есть. Но требование получать эти ИД из источника кажутся странными, если обратная передача не предполагается, а прямая передача всегда всей ТЧ целиком. |
|||
37
Лефмихалыч
11.04.18
✎
22:13
|
(36) там может быть на стороне той БД констрэйинт, который требует уникальности записей в каких-нибудь пределах.
Это надо у приимающей стороны просто взять и спросить, что будет, если в разных пакетах ИД строк будут одинаковые. Если ответ "ничего", то и передавать что угодно. Если "второй пакет мы не примем", тогда надо выдумывать ИДшники |
|||
38
triviumfan
11.04.18
✎
23:05
|
Спасибо за комментарии, продолжу мучать разрабов сайта
|
|||
39
Cyberhawk
11.04.18
✎
23:06
|
(37) А "с писюнами вместо пальцев" это как? ))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |