|
Как программно добавить данные в РегистрыНакопления? | ☑ | ||
---|---|---|---|---|
0
Kamich
28.03.13
✎
15:03
|
Добрый день.
Как программно добавить данные в в РегистрНакопления. P.S. Не из Документа, а из "Обработки". Пишу такую процедуру выводит ошибку: Движения=РегистрыНакопления.Продажи.СоздатьНаборЗаписей(); Движения1=Движения.Добавить(); Движения1.Период = ТекущаяДата(); Движения1.Номенклатура=Наименование; Движения1.Количество=Количество; Движения1.Сумма=Сумма; |
|||
1
Naumov
28.03.13
✎
15:04
|
нам отгадать ошибку?
регистратор где? |
|||
2
andreymongol82
28.03.13
✎
15:05
|
Движения1.Регистратор = <Какой-то документ>
Хотя зачем такая обработка? |
|||
3
Kamich
28.03.13
✎
15:09
|
(2) Регистр должен быть обязательно Документом,а справочник -товары пройдет?:
|
|||
4
kosts
28.03.13
✎
15:09
|
Должны быть заполнены все измерения
|
|||
5
andreymongol82
28.03.13
✎
15:10
|
(3) Нет не подойдет. У РН регистратор толлько документ
|
|||
6
spiller26
28.03.13
✎
15:11
|
(3) Блин какой Справочник. Посмотри у данного РН какие регистраторы.
|
|||
7
andreymongol82
28.03.13
✎
15:11
|
(0) Кстати, кто отбор будет делать?
|
|||
8
Bigcalm
28.03.13
✎
15:13
|
НаборЗаписей = ДокОбъект.Движения.Регистр
НаборЗаписей.Прочитать(); НоваяСтрока = НаборЗаписей.Добавить() НоваяСтрока.блабла = блабла ... НаборЗаписей.Записать() |
|||
9
spiller26
28.03.13
✎
15:14
|
(0) Что нужно то в общем, забить начальные данные в РН или что?
|
|||
10
Kamich
28.03.13
✎
15:18
|
(9) В общем идея такая.
Есть Справочник Продукт. Есть Документ Установить цены(которые устанавливает цены в РегистрыСведений); Есть Документ Поступление(РегистрысВедений.Продажи); Есть обработка, где идет выбор товара(Справочники.Продукт), так же цена,количество, сумма. По идеи после нажатия по кнопке в форме Обработки "ПРОДАТЬ",то данные поступают в РегистрыСведений.Продажи.Расход. Все ли правильно идет, туда ли данные должны поступать в этом случае?! |
|||
11
mikecool
28.03.13
✎
15:20
|
"Есть Документ Поступление(РегистрысВедений.Продажи); " - это к 1 апрелю готовишься?
|
|||
12
mikecool
28.03.13
✎
15:21
|
(10) по кнопке сделай заполнение пдокумента продажи и автопроведение его и не думай ни о чем больше
|
|||
13
scanduta
28.03.13
✎
15:21
|
(0) Задача неправильно поставлена изначально. Если тебе нужно сделать такой изврат . ТО можешь указать в качестве регистратора документ, являющийся регистратором для этого регистра. Движения добавятся но при перепроведении затруться
Правильный вариант: Формируй программно доккумент поступление и проводи его , движения в таком случае сами сформируются и все будет в шоколаде |
|||
14
palpetrovich
28.03.13
✎
15:25
|
Kamich, это часом не нетленка? конфигурация реальная или "почиться"?
|
|||
15
Kamich
28.03.13
✎
15:26
|
(12) (13) В Документе Поступления движения,сформулированы программно.
Но вот в обработке вы предлагается сделать это по кнопке, могли привести пример. И в общем схема поступления-продажи верна? |
|||
16
Kamich
28.03.13
✎
15:26
|
(14) Самописка
|
|||
17
mikecool
28.03.13
✎
15:27
|
(15) какая схема? не увидел никакой схемы, сплошной набор букв
|
|||
18
Kamich
28.03.13
✎
15:29
|
(17) Схема--> (10)
|
|||
19
palpetrovich
28.03.13
✎
15:30
|
(15) программно в обработке примерно так
НовыйОбъектПоступление = Документы["Поступление"].СоздатьДокумент(); // заполняешь все реквизиты НовыйОбъектПоступление.Записать(РежимЗаписиДокумента.Проведение); |
|||
20
scanduta
28.03.13
✎
15:31
|
(18) читай (13) там написано что вместо движений програмно надо формировать документ и проводить его движения в таком случае сами сформируются и все будет в шоколаде
|
|||
21
hhhh
28.03.13
✎
15:32
|
(18) в документе Поступление товары поступают к нам. А продажи это совсем наоборот. Товары уходят.
Поэтому непонятно в скобках Документ Поступление(РегистрысВедений.Продажи); |
|||
22
andreymongol82
28.03.13
✎
15:34
|
(16) Посмотри в типовой документ реализацияТоваровУслуг, Формируй его программно, будь мужиком
|
|||
23
Kamich
28.03.13
✎
15:36
|
(22) Все дело в том,что кнопка ПРОДАТЬ расположена в "Обработки.Форма".
|
|||
24
Lex2k2k
28.03.13
✎
15:36
|
(2) не прав, но мысль в правильном направлении.
НЕ Движения1.Регистратор = <Какой-то документ> А Движения.Отбор.Регистратор.Установить(<Сылка на Какой-то документ>); Движения.Прочитать(); И уже после Движения1 = Движения.Добавить(); |
|||
25
Kamich
28.03.13
✎
15:36
|
(22) Я же уже писал
|
|||
26
Lex2k2k
28.03.13
✎
15:36
|
Движения.Отбор.Регистратор.Установить(<Сылка на Какой-то документ>, Истина - забыл);
|
|||
27
Kamich
28.03.13
✎
15:39
|
(26) Или мне лучше это все пихать в регистрыбухгалтерии?
По кнопке ПРОПЛАТИТЬ я еще ни разу не делал,ведь это кнопка находится не в форме Документа,а форме Обработки |
|||
28
palpetrovich
28.03.13
✎
15:40
|
(27) тебе по-ходу еще рано пихать ...без обид
|
|||
29
Kamich
28.03.13
✎
15:41
|
(28) Я не профи.
Ведь каждый из Вас был таким же. Поэтому, если вы имеете опыт. То лучше подскажите, не то зачем Вы тут?!Простите,за грубость |
|||
30
andreymongol82
28.03.13
✎
15:41
|
(24) В (7) я как раз об этом и спрашивал ТС
|
|||
31
Maxus43
28.03.13
✎
15:41
|
вот смеётесь, смеётесь, а вырастет 2-й Маня и всё, мерседесы, милионы... а вы так и будете дальше утт смеятсья...)
|
|||
32
Lex2k2k
28.03.13
✎
15:41
|
(27) Блин, ну вот твой код:
Движения=РегистрыНакопления.Продажи.СоздатьНаборЗаписей (); Движения.Отбор.Установить(<Ссылка на регистратор>,Истина); Движения.Прочитать(); Движения1=Движения.Добавить(); Движения1.Период = ТекущаяДата(); Движения1.Номенклатура=Наименование; Движения1.Количество=Количество; Движения1.Сумма=Сумма; |
|||
33
spiller26
28.03.13
✎
15:42
|
(27) в РБ (РегистрыБухгалтерии) тоже регистраторы
|
|||
34
Lex2k2k
28.03.13
✎
15:43
|
Пардон
Движения.Отбор.Регистратор.Установить(<Ссылка на регистратор>,Истина); регистратор - в строке забыл |
|||
35
andreymongol82
28.03.13
✎
15:43
|
(32) Движения1.Период = ТекущаяДата() - логичнее тут дату регистратора брать
|
|||
36
hhhh
28.03.13
✎
15:44
|
ну и номенклатуру тоже логично из регистратора.
|
|||
37
andreymongol82
28.03.13
✎
15:44
|
(29) Литература по 1С какая есть?
|
|||
38
Maxus43
28.03.13
✎
15:44
|
(29) Просто не путай помощь в вопросах, с которыми действительно не можешь разобраться, и то как ты тут обосновался и каждый час новая тема, по которым не было бы вопросов после прочтения книги того же радченко, с чего тут многие и начинали
|
|||
39
Lex2k2k
28.03.13
✎
15:46
|
(35) не спорю. У него скопировал.
Еще забыл Движения1.Активность = Истина; |
|||
40
Kamich
28.03.13
✎
15:47
|
(38) Окей
|
|||
41
Maxus43
28.03.13
✎
15:48
|
(40) а лучше курсы в 1с пройти, сразу отпадут вопросов море.
Я тебя не выгоняю отсюда, просто говорю почему такая реакция на такие темы |
|||
42
hhhh
28.03.13
✎
15:48
|
(38) все повседневные события из нашей жизни в 1С отражаются документами. Приняли тебя на работу - это документ приема, уволили - документ увольнения, напился пьяный - документ выговор.
Обработки - это просто для удобства, работа с документами. |
|||
43
hhhh
28.03.13
✎
15:49
|
(42) к (40)
|
|||
44
Kamich
28.03.13
✎
15:49
|
(37) М.Г.Радченко
|
|||
45
Kamich
28.03.13
✎
15:52
|
(39) Все правильно? Движения=РегистрыНакопления.Продажи.СоздатьНаборЗаписей();
Движения.Отбор.Регистратор.Установить(Документы.ПоступлениеТовара,Истина); Движения.Прочитать(); Движения1=Движения.Добавить(); Движения1.Период = ТекущаяДата(); Движения1.Активность = Истина; Движения1.Номенклатура=Наименование; Движения1.Количество=Количество; Движения1.Сумма=Сумма; Движения.Записать(); |
|||
46
Lex2k2k
28.03.13
✎
15:53
|
(45) Да, как то так
|
|||
47
scanduta
28.03.13
✎
15:54
|
(45) Еще раз скажу не делай движения в РН программно, это неправильный метод..... Но потом сам на своих ошибках научишся
|
|||
48
andreymongol82
28.03.13
✎
15:54
|
(45) Почти
Только вот "Документы.ПоступлениеТовара" это что? |
|||
49
scanduta
28.03.13
✎
15:54
|
Все движения по РН и РБ и РР должны идти от документа
|
|||
50
andreymongol82
28.03.13
✎
15:55
|
(45) Еще вид движения забыл. так что не взлетит
|
|||
51
Kamich
28.03.13
✎
15:55
|
(46) Выводит ошибку
|
|||
52
andreymongol82
28.03.13
✎
15:56
|
(51) см. (48) (50)
|
|||
53
andreymongol82
28.03.13
✎
15:56
|
(49) Скажи это "Корректировке записей регистров" ;)
|
|||
54
Kamich
28.03.13
✎
15:58
|
(52) (50)
Значит через кнопку он должен создавать документ Расход,и вносить записи в РегистрыНакоплений? |
|||
55
Lex2k2k
28.03.13
✎
15:58
|
(51) Какую?
|
|||
56
scanduta
28.03.13
✎
15:59
|
(54) Именно
|
|||
57
andreymongol82
28.03.13
✎
15:59
|
(44) Ее надо читать, а не под монитор подкладывать.
(54) ДА! Создается документ расход, записывается в редиме проведение, документ расхода делает движения. |
|||
58
Lex2k2k
28.03.13
✎
15:59
|
(48) Да, кстати. "Документы.ПоступлениеТовара" Это что? какого типа? и еслть ли этот тип в регистраторах регистра?
|
|||
59
scanduta
28.03.13
✎
15:59
|
Причем через "обработку проведения" документа
|
|||
60
Kamich
28.03.13
✎
16:00
|
(56) ...Получает через СоздатьДокумент,Записать,Провести,Такая схема?
|
|||
61
Serginio1
28.03.13
✎
16:00
|
Нужно добавить значение пролей
Процедура УстановитьДопЗначенияРегистров(Тз,Регистратор,ВидДвижения="") Экспорт Тз.ЗаполнитьЗначения(Регистратор.Дата,"Период"); Тз.ЗаполнитьЗначения(Регистратор,"Регистратор"); Тз.ЗаполнитьЗначения(истина,"Активность"); Если ВидДвижения="" Тогда Тз.ЗаполнитьЗначения(ВидДвиженияНакопления.Расход,"ВидДвижения"); Иначе Тз.ЗаполнитьЗначения(ВидДвижения,"ВидДвижения"); КонецЕсли; Тз.ЗаполнитьЗначения(Регистратор.МоментВремени(),"МоментВремени"); КонецПроцедуры |
|||
62
Kamich
28.03.13
✎
16:02
|
(58) Да ,Документы.ПоступлениеТовара является регистратор в РегистрыНакопления.Продажа.
Получается мне нужно создать новый документ Что -то типа Документы.Торговля, и по нажатии по кнопки создается документ в Документ.Торговля и вносятся записи в РегистрыНакопления.Продажа? |
|||
63
Lex2k2k
28.03.13
✎
16:02
|
39) Все правильно? Движения=РегистрыНакопления.Продажи.СоздатьНаборЗаписей();
Движения.Отбор.Регистратор.Установить(Документы.ПоступлениеТовара - тут должна быть ссылка на существующий документ регистратор (его тип должен быть в списке регистраторов регистра) ,Истина); Движения.Прочитать(); Движения1=Движения.Добавить(); Движения1.Период = ТекущаяДата(); Движения1.Активность = Истина; Движения1.Номенклатура=Наименование; Движения1.Количество=Количество; Движения1.Сумма=Сумма; Движения.Записать(Истина); - Истину не забудь, а то не перезапишется. |
|||
64
Lex2k2k
28.03.13
✎
16:03
|
(62) Естественно.
|
|||
65
Lex2k2k
28.03.13
✎
16:06
|
(62) у тебя будет ссылка на докумен.
Еще (если ты его создаешь) тебе надо его ДокОбъект.Записать(РежимЗаписиДокумента.Проведение); |
|||
66
Kamich
28.03.13
✎
16:06
|
(64) Понятно...
Ладно Всем спасибо, P.s.Поймите я начинающий в программировании 1С и для меня на данный момент это целый океан) |
|||
67
Lex2k2k
28.03.13
✎
16:07
|
ДокОбъект - для Установить( преобразовать естественно в ссылку
|
|||
68
Kamich
28.03.13
✎
16:07
|
Всем спасибо за терпение)))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |