Форум программистов, компьютерный форум, киберфорум
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.95/120: Рейтинг темы: голосов - 120, средняя оценка - 4.95
 Аватар для nastena_r_v
47 / 47 / 1
Регистрация: 03.05.2012
Сообщений: 266
1C 8.x

Добавление данных из справочника в регистр сведений

10.05.2016, 20:23. Показов 28098. Ответов 63
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте всем, вопрос конечно я думаю для профи - легкий, но для новичка (для меня) - не понятен.*
Конфигурация УПП. Есть справочник Должности и регистр сведений ДолжностныеКомпетенцииРабтоников. В справочнике в табличное поле добавляются данные о компетенциях,эти данные записываются в регистр сведений, если допустим уже созданную строку изменить, то в регистре она соответственно тоже изменится, а не добавится новая. Регистр был не периодический, сделала периодичным в пределах дня. Вопрос: как сделать, чтоб при изменении строки с данными компетенции в справочнике, в регистр сведений добавлялась новая строка, а не изменялась предыдущая.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.05.2016, 20:23
Ответы с готовыми решениями:

Табличная часть справочника и регистр сведений
Здравствуйте. Пытаюсь при закрытии элемента справочника записать значения из табличной части в регистр сведений. 1. Записывает...

Регистр сведений «Списанные материалы из эксплуатации». Почему регистр сведений, а не регистр накопления?
Существует Регистр сведений «Списанные материалы из эксплуатации». Регистр сведений предназначен для отражения данных, необходимых при...

Регистр сведений. Добавление записи
Есть независимый, непериодический регистр сведений. Добавляю запись Стр=Справочники.ВерсииФайлов.НайтиПоНаименованию(ЦН); //Сообщить...

63
Эксперт 1С
 Аватар для GreenkA
3066 / 2013 / 526
Регистрация: 25.06.2009
Сообщений: 6,964
09.06.2016, 09:26
Студворк — интернет-сервис помощи студентам
nastena_r_v, покажите код заполнения этого табличного поля в справочнике Должности, может вы там отбор по Должности не делаете?
0
 Аватар для nastena_r_v
47 / 47 / 1
Регистрация: 03.05.2012
Сообщений: 266
13.06.2016, 21:00  [ТС]
GreenkA, Вот по всем процедурам, где есть изменения:
1C
1
2
3
4
5
6
7
8
9
10
11
12
Процедура ПриОткрытии()
        
    ЗаполнитьТаблицуКомпетенций();  
    
    СтрокаТП = ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные;
    Если СтрокаТП <> Неопределено Тогда
        Если СтрокаТП.Действие = Перечисления.ВидыДействияСНачислением.Прекратить Тогда
            СтрокаТП.Очистить();
        КонецЕсли;
    КонецЕсли;
                
КонецПроцедуры // ПриОткрытии
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Процедура ЗаполнитьТаблицуКомпетенций()
    ТабличноеПоле1.Очистить();
    Запрос = Новый Запрос("ВЫБРАТЬ
                          | ДолжностныеКомпетенцииРаботниковСрезПоследних.Должность,
                          | ДолжностныеКомпетенцииРаботниковСрезПоследних.Период,
                          | ДолжностныеКомпетенцииРаботниковСрезПоследних.Действие,
                          | ДолжностныеКомпетенцииРаботниковСрезПоследних.Периодичность,
                          | ДолжностныеКомпетенцииРаботниковСрезПоследних.Компетенция КАК Компетенция,
                          | ДолжностныеКомпетенцииРаботниковСрезПоследних.Компетенция1 КАК Компетенция1
                          |ИЗ
                          | РегистрСведений.ДолжностныеКомпетенцииРаботников.СрезПоследних(, ) КАК ДолжностныеКомпетенцииРаботниковСрезПоследних
                          |ГДЕ
                          | ДолжностныеКомпетенцииРаботниковСрезПоследних.Действие <> ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Прекратить)");
    Запрос.УстановитьПараметр("Должность", Ссылка);
    Выборка = Запрос.Выполнить().Выбрать();    Пока Выборка.Следующий() Цикл
        ЗаполнитьЗначенияСвойств(ТабличноеПоле1.Добавить(), Выборка);       
    КонецЦикла;
                          
КонецПроцедуры
1C
1
2
3
4
5
6
Процедура ТабличноеПоле1ПриОкончанииРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования)
    ТекущаяСтрока = ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные;
    Если ТекущаяСтрока <> Неопределено Тогда
        ТекущаяСтрока.МеткаИзменения = Истина;
    КонецЕсли;
КонецПроцедуры
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Процедура ПриЗаписи(Отказ)
     ИзмененныеСтрокиТаблицы = ТабличноеПоле1.НайтиСтроки(Новый Структура("МеткаИзменения",Истина));
    Для к = 0 по ИзмененныеСтрокиТаблицы.Количество() - 1 Цикл
        НоваяЗапись = РегистрыСведений.ДолжностныеКомпетенцииРаботников.СоздатьМенеджерЗаписи();
        НоваяЗапись.Компетенция = ИзмененныеСтрокиТаблицы[к].Компетенция;
        НоваяЗапись.Компетенция1 = ИзмененныеСтрокиТаблицы[к].Компетенция1;
        НоваяЗапись.Периодичность = ИзмененныеСтрокиТаблицы[к].Периодичность;
        НоваяЗапись.Действие = ИзмененныеСтрокиТаблицы[к].Действие;
        НоваяЗапись.Период = ИзмененныеСтрокиТаблицы[к].Период;
        //НоваяЗапись.Период = ТекущаяДата();
        НоваяЗапись.Должность = Ссылка;
        НоваяЗапись.Записать();
    КонецЦикла;  
    
КонецПроцедуры
0
Эксперт 1С
 Аватар для GreenkA
3066 / 2013 / 526
Регистрация: 25.06.2009
Сообщений: 6,964
14.06.2016, 00:18
nastena_r_v, вы параметр запроса выставляете - Должность, но в самом запросе этого отбора нет.
1
 Аватар для nastena_r_v
47 / 47 / 1
Регистрация: 03.05.2012
Сообщений: 266
14.06.2016, 08:32  [ТС]
Точно. Я не обратила внимания на этого =) Спасибо
1C
1
2
3
4
5
6
7
8
9
10
11
    Запрос = Новый Запрос("ВЫБРАТЬ
                          | ДолжностныеКомпетенцииРаботниковСрезПоследних.Должность,
                          | ДолжностныеКомпетенцииРаботниковСрезПоследних.Период,
                          | ДолжностныеКомпетенцииРаботниковСрезПоследних.Действие,
                          | ДолжностныеКомпетенцииРаботниковСрезПоследних.Периодичность,
                          | ДолжностныеКомпетенцииРаботниковСрезПоследних.Компетенция КАК Компетенция,
                          | ДолжностныеКомпетенцииРаботниковСрезПоследних.Компетенция1 КАК Компетенция1
                          |ИЗ
                          | РегистрСведений.ДолжностныеКомпетенцииРаботников.СрезПоследних(, Должность = &Должность) КАК ДолжностныеКомпетенцииРаботниковСрезПоследних
                          |ГДЕ
                          | ДолжностныеКомпетенцииРаботниковСрезПоследних.Действие <> ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Прекратить)");
параметр запроса вставить в параметры виртуальной таблицы или в условия?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.06.2016, 08:32

Регистр сведений. Ошибка получения данных
Подскажите в чем ошибка? Код из общего модуля Функция РозничнаяЦенаРубли(АктуальнаяДата, ЭлементТовары) Экспорт Отбор =...

Вывод в табличную часть справочника данных из регистра сведений
Здравствуйте! Есть справочник и РС. Надо в табличную часть справочника вывести данные из РС, причем, он должен записывать только те...

Регистр сведений. Регистр накоплений
Здравствуйте! Нужна помощь в создании (и настройки работы) регистра сведений и регистра накопления. Я с трудом могу понять как они...

Регистр сведений
Нужна помощь в оптимизации запроса... есть запрос: Запрос = Новый Запрос; Запрос.Текст = &quot; |ВЫБРАТЬ ...

Регистр сведений
Здравствуйте все!!! Подскажите вот что. Я создал три регистра: ЦеныНоменклатуры, РегистрСведений1 и КурсДенег. Но в разделе...


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

Или воспользуйтесь поиском по форуму:
64
Ответ Создать тему
Новые блоги и статьи
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru