|
Отбор в регистре сведений по двум регистраторам? | ☑ | ||
---|---|---|---|---|
0
dborovsky
03.06.13
✎
12:50
|
Добавляю новые записи в регистр, подчиненный двум регистраторам: документ Заказ и ПрейскурантЦенПоставщиков. К примеру хочу я добавить записи только для первого регистратора. Могу ли я так сделать?
Делаю следующее, но постоянно показывает ошибку: Ошибка записи! Не установлен отбор по регистратору (Регистр сведений: Поставщики: цены) НаборЗаписейРегистрЦеныПоставщиков = РегистрыСведений.исЦеныПоставщики1.СоздатьНаборЗаписей(); номерЗаписи = 0; НаборЗаписейРегистрЦеныПоставщиков.Отбор.Регистратор.Установить(Документы.ПрейскурантЦенПоставщиков); Для Каждого текСтрока Из тзЦеныПоставщики Цикл НаборЗаписейРегистрЦеныПоставщиков.Прочитать(); НоваяЗаписьРегистрЦеныПоставщиков = НаборЗаписейРегистрЦеныПоставщиков.Добавить(); НоваяЗаписьРегистрЦеныПоставщиков.Регистратор = Документы.исЗаказ; НоваяЗаписьРегистрЦеныПоставщиков.Период = текСтрока.Дата; НоваяЗаписьРегистрЦеныПоставщиков.Номенклатура = текСтрока.Номенклатура; НоваяЗаписьРегистрЦеныПоставщиков.Контрагент = текСтрока.Контрагент; НоваяЗаписьРегистрЦеныПоставщиков.Валюта = текСтрока.Валюта; НоваяЗаписьРегистрЦеныПоставщиков.Цена = текСтрока.Цена; НаборЗаписейРегистрЦеныПоставщиков.Записать(); Сообщить("ЦеныПоставщиков - "+номерЗаписи); номерЗаписи = номерЗаписи + 1; КонецЦикла; |
|||
1
zak555
03.06.13
✎
12:52
|
это ты в документе заказ хочешь добавить ?
|
|||
2
zak555
03.06.13
✎
12:52
|
> становить(Документы.ПрейскурантЦенПоставщиков);
тут должна быть ссылка на существующий документ в БД |
|||
3
Ёпрст
03.06.13
✎
12:53
|
>>>> зачетная трава: НаборЗаписейРегистрЦеныПоставщиков.Отбор.Регистратор.Установить(Документы.ПрейскурантЦенПоставщиков);
|
|||
4
Рэйв
03.06.13
✎
12:54
|
НаборЗаписейРегистрЦеныПоставщиков.Записать();
в цикле у тебя претирает все предыдущее..Не говоря уж о бреде который упомянули выше |
|||
5
dborovsky
03.06.13
✎
12:54
|
покажите пример, пожалуйста
|
|||
6
dborovsky
03.06.13
✎
12:55
|
бред выше это что именно?
|
|||
7
zak555
03.06.13
✎
12:56
|
(5) ты лучше логику объясни
|
|||
8
Рэйв
03.06.13
✎
12:56
|
(5)Берешь конкретную ссылку.Устанавливаешь по ней отбор регистратора. Добавляешь записи в цикле(причем регистратор должен быть равен отбору).Вне цикла делаешь .записать()
.Прочитать необязательно |
|||
9
Maxus43
03.06.13
✎
12:57
|
(6) НоваяЗаписьРегистрЦеныПоставщиков.Регистратор = Документы.исЗаказ;
чего этим хотел сказать нашему электронному другу? он не понимает |
|||
10
zippygrill
03.06.13
✎
12:58
|
НаборЗаписейРегистрЦеныПоставщиков.Отбор.Регистратор.Установить(Документы.ПрейскурантЦенПоставщиков); - норм :)
|
|||
11
1Сергей
03.06.13
✎
12:58
|
(10) Думаешь Документы - это вовсе не список менеджеров?
|
|||
12
Рэйв
03.06.13
✎
12:59
|
(10)Аха..
"На деревню дедушке.."(С) |
|||
13
dborovsky
03.06.13
✎
12:59
|
это старый код НоваяЗаписьРегистрЦеныПоставщиков.Регистратор = Документы.исЗаказ, не успел закоментировать
|
|||
14
Mitriy
03.06.13
✎
12:59
|
жуть...
|
|||
15
Maxus43
03.06.13
✎
13:00
|
(13) выкладывай код реальный, иначе мы о разном говорим все
|
|||
16
dborovsky
03.06.13
✎
13:02
|
НаборЗаписейРегистрЦеныПоставщиков = РегистрыСведений.исЦеныПоставщики1.СоздатьНаборЗаписей();
номерЗаписи = 0; НаборЗаписейРегистрЦеныПоставщиков.Отбор.Регистратор.Установить(Документы.ПрейскурантЦенПоставщиков.ПолучитьСсылку()); НаборЗаписейРегистрЦеныПоставщиков.Прочитать(); Для Каждого текСтрока Из тзЦеныПоставщики Цикл НоваяЗаписьРегистрЦеныПоставщиков = НаборЗаписейРегистрЦеныПоставщиков.Добавить(); НоваяЗаписьРегистрЦеныПоставщиков.Период = текСтрока.Дата; НоваяЗаписьРегистрЦеныПоставщиков.Номенклатура = текСтрока.Номенклатура; НоваяЗаписьРегистрЦеныПоставщиков.Контрагент = текСтрока.Контрагент; НоваяЗаписьРегистрЦеныПоставщиков.Валюта = текСтрока.Валюта; НоваяЗаписьРегистрЦеныПоставщиков.Цена = текСтрока.Цена; Сообщить("ЦеныПоставщиков - "+номерЗаписи); номерЗаписи = номерЗаписи + 1; КонецЦикла; НаборЗаписейРегистрЦеныПоставщиков.Записать(); |
|||
17
zippygrill
03.06.13
✎
13:03
|
(11) не спорю:)
|
|||
18
Рэйв
03.06.13
✎
13:04
|
(16)>>Документы.ПрейскурантЦенПоставщиков.ПолучитьСсылку()
и какую ссылку получил? Дату и номер озвуч |
|||
19
zippygrill
03.06.13
✎
13:04
|
(16) зачем это?
НаборЗаписейРегистрЦеныПоставщиков.Отбор.Регистратор.Установить(Документы.ПрейскурантЦенПоставщиков.ПолучитьСсылку()); НаборЗаписейРегистрЦеныПоставщиков.Прочитать(); |
|||
20
Рэйв
03.06.13
✎
13:04
|
хотя оно тебя на этом месте просто пошлет.
|
|||
21
Mitriy
03.06.13
✎
13:05
|
(20) в этом не пошлет...
|
|||
22
Рэйв
03.06.13
✎
13:06
|
(16)не...Рано тебе еще в регистры записи программно добавлять.
Подучиться надо. Книжки почитать, примеры порешать. Понимания процесса отсутствует напрочь. |
|||
23
dborovsky
03.06.13
✎
13:06
|
т.е. в отборе должен быть конкретный документ?
|
|||
24
Рэйв
03.06.13
✎
13:08
|
(21)А..ну да.
Я как то никогда не пользовался методом .получитьссылку() от менеджера:-) |
|||
25
Рэйв
03.06.13
✎
13:08
|
(23)Бинго!
Уже есть прогресс:-) |
|||
26
Mitriy
03.06.13
✎
13:09
|
(23) удивительное рядом, правда?
|
|||
27
dborovsky
03.06.13
✎
13:09
|
скиньте ссылку где про это конкретно написано, как правильно в отбор добавлять по регистратору. Везде читал, четко и просто написано - http://help1c.com/faq/view/884.html
|
|||
28
Рэйв
03.06.13
✎
13:11
|
||||
29
Рэйв
03.06.13
✎
13:11
|
там про все основное есть.Тебе пока хватит.
|
|||
30
dborovsky
03.06.13
✎
13:11
|
или приведите пример как нужно было правильно сделать? Без БИНГО
|
|||
32
zippygrill
03.06.13
✎
13:13
|
(28) одинаковая книжка :)
|
|||
33
Рэйв
03.06.13
✎
13:14
|
(32) :-) Классика
|
|||
35
Mitriy
03.06.13
✎
13:16
|
(27) да, там четко и просто написано ВыбранныйРегистратор...
|
|||
37
dborovsky
03.06.13
✎
13:20
|
у меня это уже давно есть. Вот читаю - Если регистр сведений подчинен регистратору, то для добавления записей в него необходимо создать набор записей этого регистра с установленным отбором по нужному регистратору, заполнить этот набор записей и записать его:
И приводится пример: НаборЗаписей.Отбор.Регистратор.Установить(ВыбранныйРегистратор); Т.е имеется ввиду конкретный документ? Я изначально подумал, что просто тип значения. Здесь же не написано ссылка и т.д.? |
|||
38
Рэйв
03.06.13
✎
13:21
|
(37)Регистратор - это всегда подразумевается конкретная ссылка.
|
|||
39
dborovsky
03.06.13
✎
13:22
|
а пример можете конкретно привести?
|
|||
40
Maxus43
03.06.13
✎
13:23
|
(39) ты сам пример показал в (27). что там непонятно то?
|
|||
41
Maxus43
03.06.13
✎
13:24
|
в примитивном виде -
НаборЗаписейРегистрЦеныПоставщиков.Отбор.Регистратор.Установить(Документы.ПрейскурантЦенПоставщиков.найтиПоНомеру("НомерДокаТутПиши")); |
|||
42
dborovsky
03.06.13
✎
13:29
|
проблема в том, что у меня еще ни одного документа не создано. Я загружаю из файла. Мне лучше просто создать какой нибудь документ и указать его в качестве регистратора?
|
|||
43
Maxus43
03.06.13
✎
13:30
|
(42) а потом документ перепроведёшь и всё исчезнет? в сам док данные загружай. Он сам должен двигать
|
|||
44
Рэйв
03.06.13
✎
13:31
|
(42)А по другому у тебя и не получится. В регистраторе должна лежать конкретная ссылка из базы.
|
|||
45
dborovsky
03.06.13
✎
13:33
|
в док проблематично, у меня 40 тыс записей. Не хотелось бы этим заниматься.
|
|||
46
Рэйв
03.06.13
✎
13:39
|
(45)Какая разница по скорости , ты будешь писать движения в ручную или это будет делать документ? Документ - правильнее.
|
|||
47
dborovsky
03.06.13
✎
13:40
|
уже делаю, ясно, спасибо)))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |