Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
23 ноя 2024, 12:41

Не установлен отбор по регистратору (Регистр накопления: ТоварыНаСкладах)

Автор cozac.eric, 21 сен 2016, 11:58

0 Пользователей и 1 гость просматривают эту тему.

cozac.eric

Процедура ОбработкаПроведения(Отказ, Режим)                                                                             
   
   Рег = РегистрыНакопления.ТоварыНаСкладах;                                                                           
   НаборЗаписей = РегистрыНакопления.ТоварыНаСкладах.СоздатьНаборЗаписей();
   ТЗ_Движения = Ссылка.Товар.Выгрузить();                                                                   
   ТЗ = Новый ТаблицаЗначений;
   ТЗ.Колонки.Добавить("Материал", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));                               
   ТЗ.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число"));                                                     
   ТЗ.Колонки.Добавить("Цена", Новый ОписаниеТипов("Число"));                                                           
   ТЗ.Колонки.Добавить("Сумма", Новый ОписаниеТипов("Число"));                                                            
   ТЗ.Колонки.Добавить("Склад", Новый ОписаниеТипов("СправочникСсылка.Склады"));                                     
   ТЗ.Колонки.Добавить("Организация", Новый ОписаниеТипов("СправочникСсылка.Организация"));                                                             
   ТЗ.Колонки.Добавить("СуммаНДС", Новый ОписаниеТипов("Число"));                                                       
   ТЗ.Колонки.Добавить("Итого",  Новый ОписаниеТипов("Число"));
   Для  Каждого  стр из ТЗ_Движения Цикл
      Строка= ТЗ.Добавить();                     
      Строка.Материал = стр.Номенклатура;   
      Строка.Количество = стр.Количество;
      Строка.Цена = стр.Цена;
      Строка.Сумма = стр.Сумма;
      Строка.Склад = стр.Склады;
      Строка.Организация = стр.Организация;
      Строка.СуммаНДС = стр.СуммаНДС;
      Строка.Итого = стр.Итого;
   КонецЦикла;
   ТЗ.НаборЗаписей.Загрузить();   
   ТЗ.НаборЗаписей.Записать();   
      КонецПроцедуры

cozac.eric


alexandr_ll

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

cozac.eric

Цитата: alexandr_ll от 21 сен 2016, 12:56
Нужна еще такая строка:
НаборЗаписей.Отбор.Регистратор.Установить(Ссылка);
Спасибо
Добавлено: 21 сен 2016, 15:03


Цитата: alexandr_ll от 21 сен 2016, 12:56
Нужна еще такая строка:
НаборЗаписей.Отбор.Регистратор.Установить(Ссылка);
выдаёт следёющую ошибку
{Документ.ПриходнаяНакладная.МодульОбъекта(70)}: Поле объекта не обнаружено (НаборЗаписей)
   ТЗ.НаборЗаписей.Загрузить();   

ilyay

   НаборЗаписей.Загрузить(ТЗ);   
   НаборЗаписей.Записать();   

cozac.eric

Цитата: ilyay от 21 сен 2016, 15:36
   НаборЗаписей.Загрузить(ТЗ);   
   НаборЗаписей.Записать();
Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине:
{Документ.ПриходнаяНакладная.МодульОбъекта(73)}: Ошибка при вызове метода контекста (Записать)
   НаборЗаписей.Записать();   
по причине:
Запись не верна! Период не может быть пустым! (Регистр накопления: Товары на складах; Номер строки: 1)


Что это знчит? Помогите пожалуйста а то я ещё новичок и не сильно разбираюсь
Заранее спасибо

alexandr_ll

Это значит, что в таблице значений, которая используется для записи регистра должна быть колонка «Период», обычно равная дате документа.

cozac.eric

Цитата: alexandr_ll от 21 сен 2016, 16:33
Это значит, что в таблице значений, которая используется для записи регистра должна быть колонка «Период», обычно равная дате документа.
добавил период
ТЗ.Колонки.Добавить("Период", Новый ОписаниеТипов("Дата"));

Строка.Период = стр.Период;   


но в отладчике ошибка следующая
Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине:
{Документ.ПриходнаяНакладная.МодульОбъекта(65)}: Поле объекта не обнаружено (Период)
      Строка.Период = стр.Период;   

alexandr_ll

Строка.Период=Ссылка.Дата;
В табличной части документа реквизита Период нету.

cozac.eric

Цитата: alexandr_ll от 21 сен 2016, 16:58
Строка.Период=Ссылка.Дата;
В табличной части документа реквизита Период нету.
Всё равно не пашет

Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине:
{Документ.ПриходнаяНакладная.МодульОбъекта(50)}: Ошибка при вызове конструктора (ОписаниеТипов)
   ТЗ.Колонки.Добавить("Период", Новый ОписаниеТипов("Ссылка.Дата"));
по причине:
Недопустимое значение параметра (параметр номер '1') (Ссылка.Дата)

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск