Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
Mufasaxx
0 / 0 / 0
Регистрация: 09.05.2016
Сообщений: 31
1

Заполнение регистра сведений

10.04.2018, 23:25. Просмотров 518. Ответов 17
Метки нет (Все метки)

Добрый день.
Есть документ "Поступление материалов", информация с которого должна автоматически заполняться в регистр сведений, информация находится в табличной части документа.
Делал через набор записей, но проблема в том, что информация перезаписывается. Прошу помощи
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
&НаКлиенте
Процедура ПриЗакрытии()
    СТР = Элементы.ТабличнаяЧасть1.ТекущиеДанные; 
Пр1(СТР.Материал, СТР.Цена);    
КонецПроцедуры
 
 &НаСервере
 Процедура Пр1(Материал,Цена)
     Запись = РегистрыСведений.РегистрСведений1;
    НаборЗаписей = Запись.СоздатьНаборЗаписей();
     Для каждого Строка из Объект.ТабличнаяЧасть1 цикл
 
         НоваяЗапись = НаборЗаписей.Добавить();
         НоваяЗапись.Период = ТекущаяДата();
         НоваяЗапись.Материал = Строка.Материал;
         НоваяЗапись.Цена = Строка.Цена;
         КонецЦикла ;
    
 
 
     НаборЗаписей.Записать();
      
КонецПроцедуры
Знаю, что надо как-то установить отбор, но не получается
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2018, 23:25
Ответы с готовыми решениями:

Автоматическое заполнение документа из регистра сведений
Здравствуйте. Проблема с заполнением документа. В нем много полей в ТЧ, но по заданию в ручную...

Заполнение табличной части документа из регистра сведений
Доброго времени суток , столкнулся с такой проблемой Как заполнить табличную часть документа из...

Заполнение данными из регистра сведений. Отбор по двум измерениям
Подскажите пожалуйста. В переодическом регистре сведений есть два измерения (контрагент,...

Форма регистра сведений
Есть регистр сведений который не связан с документом, а заполняется вручную. (там есть ресурс...

Получение из регистра сведений
Подсккажите как из регистра сведений получить предпоследнюю и последнюю записи

17
GreenkA
Форумчанин
Эксперт 1С
3004 / 1925 / 520
Регистрация: 25.06.2009
Сообщений: 6,817
11.04.2018, 00:58 2
Mufasaxx, зачем вы так делаете? Сделайте движения в обработке проведения документа. При чем можно воспользоваться "Конструктором движений". Новые записи в регистре будут появляться при проведении нового документа Поступления. Не надо один и тот же документ менять
1
Mufasaxx
0 / 0 / 0
Регистрация: 09.05.2016
Сообщений: 31
11.04.2018, 01:18  [ТС] 3
Добавлено через 40 секунд
GreenkA, Дело в том, что данные из регистра сведений будут потом использоваться для расчёта себестоимости и подставляться автоматически, хотелось бы сделать всё же в регистре сведений, но благодарю за идею
0
_ЕГОР_
Тест
Эксперт 1С
378 / 160 / 55
Регистрация: 26.02.2010
Сообщений: 1,206
11.04.2018, 07:32 4
Mufasaxx, Так вам собственно тоже самое и говорят. Суть документа - делать движения. Движения делаются при проведении документа, вы же написали при закрытии. Это раз, два - можно не писать проведение, так как его можно автоматически настроить - т.е. без написания кода, нажимаете кнопку провести, и данные сами попадают в регистры.
1
11.04.2018, 07:32
Mufasaxx
0 / 0 / 0
Регистрация: 09.05.2016
Сообщений: 31
11.04.2018, 12:39  [ТС] 5
_ЕГОР_, сделал так, как вы говорите. Удобно, только данные перезаписывать нельзя, как это можно решить?
0
GreenkA
Форумчанин
Эксперт 1С
3004 / 1925 / 520
Регистрация: 25.06.2009
Сообщений: 6,817
11.04.2018, 13:15 6
Цитата Сообщение от Mufasaxx Посмотреть сообщение
только данные перезаписывать нельзя
что вы имеете ввиду?
1
_ЕГОР_
Тест
Эксперт 1С
378 / 160 / 55
Регистрация: 26.02.2010
Сообщений: 1,206
11.04.2018, 13:28 7
Mufasaxx, ну запретите проводить, если он уже проведен
1
Mufasaxx
0 / 0 / 0
Регистрация: 09.05.2016
Сообщений: 31
11.04.2018, 14:54  [ТС] 8
GreenkA, если я уже провёл один документ с материалом Товар1, а потом хочу провести новый документ с тем же товаром1 но по другой цене, то даёт ошибку, что запись с таким именем уже есть
0
_ЕГОР_
Тест
Эксперт 1С
378 / 160 / 55
Регистрация: 26.02.2010
Сообщений: 1,206
11.04.2018, 14:56 9
Регистратор добавляется в регистр?
1
Mufasaxx
0 / 0 / 0
Регистрация: 09.05.2016
Сообщений: 31
11.04.2018, 15:03  [ТС] 10
_ЕГОР_, записи без проблем добавляются в регистр накопления, только надо перезаписывать. Возможно, это надо поправить в обработке проведения
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Процедура ОбработкаПроведения(Отказ, Режим)
    //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
 
    // регистр Цены
    Движения.Цены.Записывать = Истина;
    Для Каждого ТекСтрокаТабличнаяЧасть1 Из ТабличнаяЧасть1 Цикл
        Движение = Движения.Цены.Добавить();
        Движение.Материал = ТекСтрокаТабличнаяЧасть1.Материал;
        Движение.Цена = ТекСтрокаТабличнаяЧасть1.Цена;
    КонецЦикла;
 
    //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры
0
_ЕГОР_
Тест
Эксперт 1С
378 / 160 / 55
Регистрация: 26.02.2010
Сообщений: 1,206
11.04.2018, 15:05 11
Mufasaxx, советую добавить в регистр период и документ регистратор
1
Mufasaxx
0 / 0 / 0
Регистрация: 09.05.2016
Сообщений: 31
11.04.2018, 15:08  [ТС] 12
_ЕГОР_, период добавил, как ему присвоить значение стандартного реквизита Дата? А зачем документ регистратор?
1C
1
2
3
4
5
6
Для Каждого ТекСтрокаТабличнаяЧасть1 Из ТабличнаяЧасть1 Цикл
        Движение = Движения.Цены.Добавить();
        [B]Движение.Период = Объект.Дата;[/B]
        Движение.Материал = ТекСтрокаТабличнаяЧасть1.Материал;
        Движение.Цена = ТекСтрокаТабличнаяЧасть1.Цена;
    КонецЦикла;
0
_ЕГОР_
Тест
Эксперт 1С
378 / 160 / 55
Регистрация: 26.02.2010
Сообщений: 1,206
11.04.2018, 15:08 13
так как у вас не работает?
1
Mufasaxx
0 / 0 / 0
Регистрация: 09.05.2016
Сообщений: 31
11.04.2018, 15:10  [ТС] 14
_ЕГОР_, если обращаюсь через Движение.Период = Объект.Дата, то пишет ошибку "Переменная не определена"
В период надо именно не текущую дату, а дату проведения документа
0
_ЕГОР_
Тест
Эксперт 1С
378 / 160 / 55
Регистрация: 26.02.2010
Сообщений: 1,206
11.04.2018, 15:12 15
У чего дата не определена? Вы в регистр добавили измерение период?
0
Mufasaxx
0 / 0 / 0
Регистрация: 09.05.2016
Сообщений: 31
11.04.2018, 15:17  [ТС] 16
_ЕГОР_, я сделал просто регистр периодическим, убрать это и добавить измерение "Период"?
0
_ЕГОР_
Тест
Эксперт 1С
378 / 160 / 55
Регистрация: 26.02.2010
Сообщений: 1,206
11.04.2018, 15:17 17
измерение то в любом случае нужно куда дата документа будет записываться
1
Mufasaxx
0 / 0 / 0
Регистрация: 09.05.2016
Сообщений: 31
11.04.2018, 15:25  [ТС] 18
GreenkA, _ЕГОР_, благодарю. Вы очень помогли.
0
11.04.2018, 15:25
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.04.2018, 15:25

Индексировать у регистра сведений
Зубры, объясните - нафига нужен этот признак в регистре сведений у реквизита, ресурса, измерения? ...

Данные из регистра сведений
Запрос = Новый Запрос(); Запрос.Текст ="ВЫБРАТЬ ...

Выбрать запись из регистра сведений
Добрый день! На форме обработки есть поле выбора. При нажатии на кнопку выбора появляется форма...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.