| 
    
        
     
     | 
    
  | 
Как программно добавить данные в РегистрыНакопления? | ☑ | ||
|---|---|---|---|---|
| 
    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 
 | 
         
        Всем спасибо за терпение)))     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |