8.х Запись в РегистрНакопления

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Joni_5, 1 июн 2009.

  1. TopicStarter Overlay
    Joni_5
    Offline

    Joni_5

    Регистрация:
    17 окт 2008
    Сообщения:
    35
    Симпатии:
    0
    Баллы:
    1
    Функция:
    Код:
    Функция ВнестиВРегистрДоставки(Документ, Отказ, РежимПроведения) Экспорт
    Результат = Ложь;
    Если (НЕ Документ = Неопределено) И (Документ.Товары.Количество() > 0) <span style='cursor: pointer; color:red' Onclick="window.open('http://www.1c-pro.ru/wiki/index.php/тогда')">Тогда	</span>
    НаборЗаписей = РегистрыНакопления.элк_Доставки.СоздатьНаборЗаписей(); 
    НаборЗаписей.Отбор.Регистратор.Установить();
    НаборЗаписей.Прочитать();
    // Цикл по строкам таблицы значений.
    Спецификация = Новый ТаблицаЗначений;
    Спецификация = Документ.Товары.Выгрузить();
    Для каждого СтрокаТаблицы Из Спецификация Цикл
    
    НоваяЗапись = НаборЗаписей.Добавить();
    НоваяЗапись.ВидДвижения = ?(Документ.Метаданные().Имя = "ПоступлениеТоваровУслуг" ,ВидДвиженияНакопления.Приход,ВидДвиженияНакопления.Расход);
    НоваяЗапись.Регистратор = Документ.ссылка;
    НоваяЗапись.Период = ТекущаяДата();
    НоваяЗапись.ДокументПоступления = Документ.ссылка;
    НоваяЗапись.Номенклатура = СтрокаТаблицы.Номенклатура;
    НоваяЗапись.Характеристика = СтрокаТаблицы.ХарактеристикаНоменклатуры;
    НоваяЗапись.СерииНоменклатуры = СтрокаТаблицы.СерияНоменклатуры;
    НоваяЗапись.Количество = СтрокаТаблицы.Количество; 			
    КонецЦикла;
    НаборЗаписей.Записать(Ложь);
    КонецЕсли;
    
    Возврат Результат;
    КонецФункции
    
    Выдаёт ошибку
    Ошибка при выполнении обработчика - '{ОбщийМодуль.Элком(62)}: Ошибка при вызове метода контекста (Записать): Ошибка записи! Не установлен отбор по регистратору (Регистр накопления: Элк доставки)'
    по причине:
    {ОбщийМодуль.Элком(62)}: Ошибка при вызове метода контекста (Записать): Ошибка записи! Не установлен отбор по регистратору (Регистр накопления: Элк доставки)

    по причине:
    Ошибка записи! Не установлен отбор по регистратору (Регистр накопления: Элк доставки)


    Управление производственным предприятием, редакция 1.2 (1.2.22.3)

    Смотрел здесь http://www.1c-pro.ru/index.php?showtopic=1...amp;#entry26977
    и здесь http://www.1c-pro.ru/lofiversion/index.php/t13985.html
    Непомогло :(
  2. 1Cnica
    Offline

    1Cnica Опытный в 1С

    Регистрация:
    13 фев 2009
    Сообщения:
    416
    Симпатии:
    0
    Баллы:
    26
    а ты в документе прописал движения в модуле объекта?
    что-то типа:

    Код:
    Процедура ОбработкаПроведения(Отказ, Режим)
    //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
    Для Каждого ТекСтрокаЗатраты Из Затраты Цикл
    // регистр ЗатратыУЦМ 
    Движение = Движения.ЗатратыУЦМ.Добавить();
    Движение.Период = Дата;
    Движение.СтатьяЗатрат = ТекСтрокаЗатраты.Ст;
    Движение.Сумма = ТекСтрокаЗатраты.Сум;
    КонецЦикла;
    //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
    КонецПроцедуры
    

    и еще попробуй перепровести документы
  3. basicm
    Offline

    basicm

    Регистрация:
    6 май 2009
    Сообщения:
    13
    Симпатии:
    0
    Баллы:
    1
    А документ записан?
  4. TopicStarter Overlay
    Joni_5
    Offline

    Joni_5

    Регистрация:
    17 окт 2008
    Сообщения:
    35
    Симпатии:
    0
    Баллы:
    1
    Документ записан, но не проведён. Ошибка возникает во время проведения.

    Я вызываю функцию с помощью Подписки на событие.
  5. x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Вот здесь должен быть изначально установлен отбор. Ты же ничего не ставишь, вот он и ругается.
  6. TopicStarter Overlay
    Joni_5
    Offline

    Joni_5

    Регистрация:
    17 окт 2008
    Сообщения:
    35
    Симпатии:
    0
    Баллы:
    1
    Код:
    Функция ВнестиВРегистрДоставки(Документ, Отказ, РежимПроведения) Экспорт
    Результат = Ложь;
    Если (НЕ Документ = Неопределено) И (Документ.Товары.Количество() > 0) <span style='cursor: pointer; color:red' Onclick="window.open('http://www.1c-pro.ru/wiki/index.php/тогда')">Тогда	</span>
    НаборЗаписей = РегистрыНакопления.элк_Доставки.СоздатьНаборЗаписей(); 
    НаборЗаписей.Отбор.Регистратор.Установить(Документ.Ссылка);
    НаборЗаписей.Прочитать();
    // Цикл по строкам таблицы значений.
    Спецификация = Новый ТаблицаЗначений;
    Спецификация = Документ.Товары.Выгрузить();
    Для каждого СтрокаТаблицы Из Спецификация Цикл
    
    НоваяЗапись = НаборЗаписей.Добавить();
    НоваяЗапись.ВидДвижения = ?(Документ.Метаданные().Имя = "ПоступлениеТоваровУслуг" ,ВидДвиженияНакопления.Приход,ВидДвиженияНакопления.Расход);
    НоваяЗапись.Регистратор = Документ.ссылка;
    НоваяЗапись.Период = ТекущаяДата();
    НоваяЗапись.ДокументПоступления = Документ.ссылка;
    НоваяЗапись.Номенклатура = СтрокаТаблицы.Номенклатура;
    НоваяЗапись.Характеристика = СтрокаТаблицы.ХарактеристикаНоменклатуры;
    НоваяЗапись.СерииНоменклатуры = СтрокаТаблицы.СерияНоменклатуры;
    НоваяЗапись.Количество = СтрокаТаблицы.Количество; 			
    КонецЦикла;
    НаборЗаписей.Записать(Ложь);
    КонецЕсли;
    
    Возврат Результат;
    КонецФункции
    
    ВО КАК!!!!

    Корочь вот эта строчка моя ошибка

    Код:
    НаборЗаписей.Отбор.Регистратор.Установить(Документ.Ссылка);
    

    Всем пасиба! Начинаюший :unsure:
  7. x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    это скорее всего можно не писать. т.к. НЗ уже подчинен регистратору
  8. PavelBaryshev
    Offline

    PavelBaryshev Опытный в 1С

    Регистрация:
    9 сен 2008
    Сообщения:
    316
    Симпатии:
    0
    Баллы:
    26
    Код:
    Для Каждого ТекСтр Из ТЗЧеков Цикл
    ОбъектЧек = ТекСтр.Ссылка.ПолучитьОбъект();
    Тов = ОбъектЧек.Товары;
    Для каждого Стр Из Тов Цикл
    НаборЗаписей = РегистрыНакопления.ПродажаРозничнаяПоКонтрагентам.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Регистратор.Установить(ОтчетОРозничныхПродажах.Ссылка);
    Движение = НаборЗаписей.Добавить();
    Движение.Дата = ОтчетОРозничныхПродажах.Дата;
    Движение.Период = ОтчетОРозничныхПродажах.Дата;
    Движение.КассаККМ = ОтчетОРозничныхПродажах.КассаККМ;
    Движение.Количество = Стр.Количество;
    Движение.Контрагент = ТекСтр.Ссылка.Контрагент;
    Движение.Номенклатура = Стр.Номенклатура;
    Движение.Организация = ОтчетОРозничныхПродажах.Организация;
    Движение.Регистратор = ОтчетОРозничныхПродажах.Ссылка;
    Движение.Сумма = Стр.Сумма;
    Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
    НаборЗаписей.Записать();
    КонецЦикла;
    
    КонецЦикла;
    

    Подскажите в чем ошибка, почему запись не добавляется?
  9. PavelBaryshev
    Offline

    PavelBaryshev Опытный в 1С

    Регистрация:
    9 сен 2008
    Сообщения:
    316
    Симпатии:
    0
    Баллы:
    26
    Всем спасибо, разобрался.

Поделиться этой страницей