Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
13 дек 2024, 06:51

Уникальный идентификатор

Автор tigratius, 02 сен 2014, 13:09

0 Пользователей и 1 гость просматривают эту тему.

tigratius

Есть следующая процедура, с помощью нее выгружаем данные

Процедура СобратьДанныеПоПоступлениям()

Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ДатаНачала",  Объект.ДатаНачала);
Запрос.УстановитьПараметр("ДатаКонца", ?(Не ЗначениеЗаполнено(Объект.ДатаКонца), ТекущаяДата(), КонецДня(Объект.ДатаКонца)));
Запрос.Текст =
"ВЫБРАТЬ
|   ПоступлениеТоваровУслугТовары.Ссылка КАК тзПоступленияСсылка,
| ПоступлениеТоваровУслугТовары.Ссылка.Дата КАК тзПоступленияДатаДокумента,
| ПоступлениеТоваровУслугТовары.Ссылка.Партнер.Код КАК тзПоступленияКодПоставщика,
| ПоступлениеТоваровУслугТовары.Ссылка.Партнер.Наименование КАК тзПоступленияПоставщик,
| ПоступлениеТоваровУслугТовары.Номенклатура.Код КАК тзПоступленияКодНоменклатуры,
| ПоступлениеТоваровУслугТовары.Номенклатура.Наименование КАК тзПоступленияНоменклатура,
| ПоступлениеТоваровУслугТовары.Количество КАК тзПоступленияКоличество,
| ПоступлениеТоваровУслугТовары.Цена КАК тзПоступленияЦена,
|   ПоступлениеТоваровУслугТовары.СуммаНДС КАК тзПоступленияСуммаНДС,
| ПоступлениеТоваровУслугТовары.СуммаСНДС КАК тзПоступленияСуммаСНДС
|ИЗ
| Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
|ГДЕ
| ПоступлениеТоваровУслугТовары.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаКонца
| И ПоступлениеТоваровУслугТовары.Ссылка.Проведен = ИСТИНА
|УПОРЯДОЧИТЬ ПО
| тзПоступленияДатаДокумента";

РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
Стр = тзПоступления.Добавить();
Стр.тзПоступленияДатаДокумента = Выборка.тзПоступленияДатаДокумента;
Стр.тзПоступленияКодПоставщика = Выборка.тзПоступленияКодПоставщика;
Стр.тзПоступленияПоставщик = Выборка.тзПоступленияПоставщик;
Стр.тзПоступленияКодНоменклатуры = Выборка.тзПоступленияКодНоменклатуры;
Стр.тзПоступленияНоменклатура = Выборка.тзПоступленияНоменклатура;
Стр.тзПоступленияКоличество = Выборка.тзПоступленияКоличество;
Стр.тзПоступленияЦена = Выборка.тзПоступленияЦена;
Стр.тзПоступленияСуммаНДС = Выборка.тзПоступленияСуммаНДС;
Стр.тзПоступленияСуммаСНДС = Выборка.тзПоступленияСуммаСНДС;
Стр.тзИдентификатор = Выборка.тзПоступленияСсылка.УникальныйИдентификатор();
КонецЦикла;
               
//тзПоступления.Загрузить(Запрос.Выполнить().Выгрузить());

КонецПроцедуры


В результате получаю в колонке тзПоступленияСсылка вроде как уникальный идентификатор, но он почему то совпадает у некоторых записей

19.08.2014 УТ-00000026 1 00-00000027 a 30          205    938,14         6150        e0c72bd8-2cff-11e4-a3db-005056a806ea
20.08.2014 УТ-00000082 2 00000000233 b 2000 183    33272,73 366000 6b17e628-286d-11e4-aca3-005056a844f9
20.08.2014 00-00000065 3 00000000213 c 300         545    14863,64 163500    6b17e629-286d-11e4-aca3-005056a844f9
22.08.2014 УТ-00000045 4 00000000219 d 10000 6,95    10601,69 69500 ea058885-2c4f-11e4-affe-005056a82355
22.08.2014 УТ-00000045 4 УТ-00000019 e 300         17,28 790,78 5184 ea058885-2c4f-11e4-affe-005056a82355
26.08.2014 УТ-00000082 2 00000000233 f 3200 182    52945,45 582400 629805f3-2d14-11e4-a4a9-005056a86b60
29.08.2014 000000294  5 УТ-00000030 g 6500 60    35454,55 390000 dac43cca-31a1-11e4-9edd-005056a806ea
01.09.2014 000000294  5 УТ-00000030 g 6150 60   33545,45 369000 dac43ccc-31a1-11e4-9edd-005056a806ea


В чем может быть причина? Или неправильно беру идентификатор.

Slin

одно и то же поступление
skype: slin-dev

tigratius

Цитата: Slin от 02 сен 2014, 13:19
одно и то же поступление

А как-нибудь можно вытащить на каждую запись в строке отдельный идентификатор?

Kironten

Цитата: tigratius от 02 сен 2014, 14:23
Цитата: Slin от 02 сен 2014, 13:19
одно и то же поступление

А как-нибудь можно вытащить на каждую запись в строке отдельный идентификатор?
Строки табличных частей документа не имеют собственного уида. Только сам документ.

tigratius

Цитата: Kironten от 02 сен 2014, 15:08
Цитата: tigratius от 02 сен 2014, 14:23
Цитата: Slin от 02 сен 2014, 13:19
одно и то же поступление

А как-нибудь можно вытащить на каждую запись в строке отдельный идентификатор?
Строки табличных частей документа не имеют собственного уида. Только сам документ.

Печаль. Вся эта канитель нужна было для того, чтобы сравнивать с записями в другой базе. А если на каждую строку нет уида, то походу никак и не сравнить.

LexaK

сначала по уникальному идентификатору строки
в табличной части документа ВСЕГДА есть и автоматически заполняется НомерСтроки
что в паре с ГУИДом документа дает однозначный ключ строки, т.е.
Ссылка + НомерСтроки, это уникальный идентификатор строки табличной части документа.

теперь другой вопрос по поводу сравнения данных документов, если у вас распределенка все изменения автоматом "ходят туда-сюда", если вы просто выгружаете/загружаете какие-то документы
то можно лучше повторить загрузку/выгрузку,
сравнение может не сработать, в случае когда в одонм из сравниваемых документов просто взяли поменяли порядок сторок в ТЧ, т.е. товары теже, но в другом порядке, ваше сравнение покажет что это разные документы.

если помогло нажмите: Спасибо!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск