Имя: Пароль:
1C
1С v8
Прошу помощи по регистру сведений
0 Tolia_2016
 
14.09.16
10:26
Здравствуйте уважаемые форумчане!
Не бейте новичка, вопрос для вас простой видимо.
Мне нужно создать регистр сведений такого вида:
Иванов Федор|500|300|200
Иванов Федор|300|3300|2080
Иванов Федор|90|0|4400
...

Ивпнов Федор - это ссылка на справочник клиенты.

РС непериодический и независимый. В хелпах про РС пишут что уникальность строки у него по набору измерений, т.е. некая контрольная сумма?
Пишу:

Выборка по спр. клиенты Цикл

//Очистка РС
НаборЗаписей =РегистрыСведений.ЗаказыКлиентов.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Клиент.Установить(Выборка.Ссылка);
НаборЗаписей.Записать();    

Пока Результат.Следующий() Цикл //выборка по данным клиента
НоваяЗапись = НаборЗаписей.Добавить();          
НоваяЗапись.Клиент = Клиент.Ссылка;              
НоваяЗапись.Сумма1 = Результат.Сумма1;
НоваяЗапись.Сумма2 = Результат.Сумма2;  
НоваяЗапись.Сумма3 = Результат.Сумма3;

НаборЗаписей.Записать();
КонецЦикла;
Ну и ругается: Запись с такими ключевыми полями существует! (
Смотрю в типовой УТ 10.3 - такой же РС по сути(Контактная информация), такой же код! Там работает, а у меня нет.
Вообще что хочу. Есть клиент, у него есть заказы. Т.е. просто вводится цена/сумма/количество. Чисто информативно! Т.е. регистр накопления не стал использовать - приход не вводится!
В конфе у меня обработка с режимом рабочего стола. Наверху справочник клиенты, внизу таблица значений. В спр. клиенты в ПриАктивизацииСтроки выгружаем в таблицу содержимое РС по отбору по тек. клиенту. Таким образом перемещаясь по клиентам видим все его заказы.
Только вот записать данные в РС не получается... Вообще, правильная реализация задачи? Ну и по РС подскажите пожалуйста.
Спасибо!
1 Господин ПЖ
 
14.09.16
10:28
чистит одно, пишет другое
2 Господин ПЖ
 
14.09.16
10:28
да и вообще зачем все это при живом менеджере записи
3 Fuas4
 
14.09.16
10:31
Я бы в измерения добавил еще заказ покупателя. Мне кажется, все равно рано или поздно кто-то захочет жмакать по этим цифрам и проваливаться в заказ
4 Tolia_2016
 
14.09.16
10:33
(1) Так чистит при проходе по клиенту, а потом(хочется что бы) вписывает все заказы по нему
5 hhhh
 
14.09.16
10:34
(0) в регистре сведений должно быть четко одна запись по каждому набору измерений. У вас если одно измерение "Клиент", тогда по каждому клиенту должна быть жостко одна строка в регистре.

А вы пишете:

Пока Результат.Следующий() Цикл//выборка по данным клиента

НоваяЗапись = НаборЗаписей.Добавить();          
НоваяЗапись.Клиент = Клиент.Ссылка;              
НоваяЗапись.Сумма1 = Результат.Сумма1;
НоваяЗапись.Сумма2 = Результат.Сумма2;  
НоваяЗапись.Сумма3 = Результат.Сумма3;

по одному клиенту загоняете сразу охрененную кучу строк.
6 ovrfox
 
14.09.16
10:35
Все просто, ресгитр сведений должен иметь уникальный ключ.
Ключ определяется всеми полями, которые отнесли к измерениям. Т.е. в твоем случае измерение одно (Клиент) а записей больше.
Можно добавить просто номер записи как второе измерение, или заказ как второе измерение. Главное, чтобы ключ стал уникальным.
Тогда все получится.
7 Tolia_2016
 
14.09.16
10:36
(5) А в УТ Измерение Объект(СправочникСсылка.Организации) и смотрю регистр, там куча:
НашаФирма|1|2|3
НашаФирма|1|3|4
НашаФирма|2|2|6
НашаФирма2|4|2|3
НашаФирма2|1|4|3
и т.д.
8 Tolia_2016
 
14.09.16
10:37
(6) !
9 Tolia_2016
 
14.09.16
10:39
(6) Создать измерение Ключ? Как его определить всеми полями?
Почему в УТ никаких ключей нету?
10 hhhh
 
14.09.16
10:39
(7) какой регистр смотришь в ут.
11 Tolia_2016
 
14.09.16
10:40
(10) КонтактнаяИнформация
12 Tolia_2016
 
14.09.16
10:40
Кажется я понял...
13 Господин ПЖ
 
14.09.16
10:41
>Создать измерение Ключ?

не надо ничего создавать

комбинация измерений регистра - это и есть PK
14 Tolia_2016
 
14.09.16
10:41
Измерение то одно у меня... Нужно второе измерение.
15 Господин ПЖ
 
14.09.16
10:42
хотя нет, не PK в чистом виде - нельзя сослаться
16 Господин ПЖ
 
14.09.16
10:42
(14) только не говори что с суммой - это тупо
17 Tolia_2016
 
14.09.16
10:42
Но у меня нету второго измерения! Что придумать? генератор случайного числа в него? )
18 xafavute
 
14.09.16
10:43
юзай оборотный регистр накопления
19 iceman2112
 
14.09.16
10:43
кури РС до просвятления
20 hhhh
 
14.09.16
10:43
(14) пользуйттесь регистрами накопления. Просто и понятно. За регистры сведений возьметесь годика через 2, когда освоитесь в 1с.
21 Tolia_2016
 
14.09.16
10:44
(19) Просвятлился уже, спасибо )
Вопрос какое второе измерение придумать для уникальности
22 Fuas4
 
14.09.16
10:45
(21) Заказ. Или номенклатура, если записи нужны по номенклатуре, а не по всему заказу
23 Fuas4
 
14.09.16
10:46
+(22) Хоте если по номенклатуре, то это уже 3 измерения: клиент, заказ, номенклатура
24 Tolia_2016
 
14.09.16
10:47
Думал уже о сумме ресурсов, но заказы могут быть одинаковыми, вплоть до всех цифр!
(23) Нет никакой номенклатуры! Только справочник клиенты, в том то и дело!
25 lera01
 
14.09.16
10:48
(21) Ну придумай измерение, например, "Сорт пива". Свежо и оригинально!
26 lera01
 
14.09.16
10:49
Или сделай регистр периодическим. Масса идей. Мы ж все равно не знаем, зачем тебе эти извращения.
27 Fuas4
 
14.09.16
10:49
(24) так в измерение надо не номер заказа пихать, а ссылку. Она всегда уникальна. По возможности, в регистрах надо писать только нужную информацию. Бессмысленное измерение для уникальности записи - это костыль
28 Tolia_2016
 
14.09.16
10:50
(26) Это не мне. Я бы физический документ Заказ сделал, приход/расход на его основании, счет и т.д., на РК.
Но, за деньги любые капризы клиента )
29 Tolia_2016
 
14.09.16
10:51
(27) Нету заказа! Представьте notepad. Вбейте в него: Сумма:500, цена: 30.
Всё. Где тут заказ как сущность?
30 lera01
 
14.09.16
10:51
(28) Так это решение тебе клиент посоветовал? Ужас...
31 Tolia_2016
 
14.09.16
10:51
Он не решение мне советовал, а сказал что хочет видеть.
32 Tolia_2016
 
14.09.16
10:53
Выгрузил из Access это всё. Раньше в ней работали. Осталось вот связать клиентов с их заказами.
Предлагал типовые, разное в общем. Хотят видеть именно так. Ну что ж...
33 lera01
 
14.09.16
10:53
Ну так и сделай сущность в виде этого нотепада. Форму с 4 полями, если уж клиенту так этот дизайн нравится.
34 Fuas4
 
14.09.16
10:53
(29) ну я то думал, раз УТ 10.3 и Заказ, то Заказ - это документ "Заказ покупателя". Тогда или (26) или номер записи из (6)
35 Господин ПЖ
 
14.09.16
10:53
(29) а почему в notepad?

почему не в doom на стене из пулемета буквы выбить?
36 Tolia_2016
 
14.09.16
10:56
Дырки на стене хранить - лишнюю память компа расходовать.
37 Fuas4
 
14.09.16
10:58
(36) можно картинки с дырками в отдельную папку складывать, а в регистре только путь к картинке хранить. А при активизации строки картинку показывать. Быстро работает
38 aleks_default
 
14.09.16
11:00
(29)Цена чего? Абстрактная цена абстрактного клиента? такого не бывает. Либо цена позиции заказа, либо сумма заказа.
39 aleks_default
 
14.09.16
11:01
(38)+ Соответственно доп. измерение - либо номенклатура, либо заказ.
40 Tolia_2016
 
14.09.16
11:02
(39) Да логично, логично, согласен! Но...
41 hhhh
 
14.09.16
11:10
(40) им нормальный консультант нужен по ут 10.3. там всё это есть, и заказы и клиенты и еще куча всего. Не надо придумывать никаких диких регистров. Пусть сходят на курсы по 1с.
42 Tolia_2016
 
14.09.16
11:16
Зачем им этого монстра? Вы еще из 8.3 что нибудь предложите )
43 Tolia_2016
 
14.09.16
11:19
Сделал с номером строки. Всем спасибо!!!
44 Fuas4
 
14.09.16
11:21
(43) приходи еще
45 Злопчинский
 
14.09.16
11:25
чисто концептуально: а почему это надо пихать в РС? почему не собственно в самом заказе указать эти значения? тем более заказ-то уже к клиенту привязан...
??
46 Мимохожий Однако
 
14.09.16
11:26
а можно перенести клиента из измерений в ресурсы ))
47 Fuas4
 
14.09.16
11:28
(45) нету заказа. Нетленка там
48 aleks_default
 
14.09.16
11:29
(43)И какую именно информацию показывает твой регистр? Сформулировать сможешь?
49 hhhh
 
14.09.16
11:30
(42) то есть вы хотите на 1с забацать таблицу акцесс? Это бред. Во-первых не нужно, Акцесс и сам с этим прекрасно справляется, а во-вторых 1с не годится для этих целей, фигня получится.
50 Tolia_2016
 
14.09.16
11:33
(48) Номенклатура|кол-во|цена|сумма|дата заказа|||
Номенклатура добавил, естественно пустое поле, но на будущее.
(49)Им доработки в Акцессе понадобились, а я его давно забыл. Почему фигня? Очень даже ничего получилось ))
Обещают еще хотелок, в итоге напишу свою нетленку, буду продавать, разбогатею наконец ))