Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
17 Янв 2019, 16:34
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Изменить запись регистра сведений  (Прочитано 9147 раз)

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

Оффлайн СерьезныйЧеловек

  • ***
  • Сообщений: 165
  • РЕПУТАЦИЯ: 12
  • КПД: 7%
  • Регистрация: 2010-08-13
  • Сайт: 
Здравствуйте!
Такой вопрос.У меня есть два документа обучения сотрудников. Один документ планирование обучения при проведении или записи в регистре создает запись в регистре и пишет в него планируюмую дату прохождения обучения. Второй докумет проводится когда человек прошел уже обучения, т.е здесь вводится фактическая дата прохождения обучения. Так вот я выташил запись из регистра созданную первым документом и мне теперь в него нужно внести запись фактической даты прохождения обучения сотрудником. В регистре два поля плановая дата прохождения обучения и фактическая дата прохождения обучения. Как это сделать?


Оффлайн mdv

  • *
  • Сообщений: 16
  • РЕПУТАЦИЯ: 2
  • КПД: 13%
  • Регистрация: 2010-10-29
  • Сайт: 
А регистр сведений какой? Подчиненный регистратору или независимый? Периодический или нет?

Оффлайн СерьезныйЧеловек

  • ***
  • Сообщений: 165
  • РЕПУТАЦИЯ: 12
  • КПД: 7%
  • Регистрация: 2010-08-13
  • Сайт: 
Регистр непериодический, подчиненный регистратору.

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


      Выборка=Запрос.Выполнить().Выбрать();
      Выборка.Следующий();
      //Выборка.КонецОбученияФакт = ТекДата;
           
   
   КонецЦикла;
КонецПроцедуры

Вообщем в регистре два поля одно называется конецобучения, а другое конец обучения факт.
Первое поле заполняется в регистре когда проводится документ планирование обучения сотрудника, второе поле когда проводится документ  прохождение обучения. Так вот я ввожу в документе прохождение обучения сотрудника, там у мне происходит проверка есть ли этот сотрудник в плане или нет, если нет то не проводится, если есть то проводится. Когда документ проводится, то нужно найти запись с сотрудником созданную документом планирование и ввести туда фактическую дату прохождения.
В моем коде я в запрос передаю сотрудника и его курс обучения, запрос мне вытягивает запись из регистра сведении. Как мне сделать так чтоы можно было уже в созданной записи в регистре добавить фактическую дату обучения???

Оффлайн СерьезныйЧеловек

  • ***
  • Сообщений: 165
  • РЕПУТАЦИЯ: 12
  • КПД: 7%
  • Регистрация: 2010-08-13
  • Сайт: 
//Выборка.КонецОбученияФакт = ТекДата; такой записью пытался изменить строку полученную запросом из регистра сведений, но не получилось пишет ошибку...

Оффлайн mohock

  • ***
  • Сообщений: 170
  • РЕПУТАЦИЯ: 50
  • КПД: 29%
  • Регистрация: 2010-08-12
  • Сайт: 
  • Профессия: Программист 8.1
Вообщем в регистре два поля одно называется конецобучения, а другое конец обучения факт.
Первое поле заполняется в регистре когда проводится документ планирование обучения сотрудника, второе поле когда проводится документ  прохождение обучения. Так вот я ввожу в документе прохождение обучения сотрудника, там у мне происходит проверка есть ли этот сотрудник в плане или нет, если нет то не проводится, если есть то проводится. Когда документ проводится, то нужно найти запись с сотрудником созданную документом планирование и ввести туда фактическую дату прохождения.
В моем коде я в запрос передаю сотрудника и его курс обучения, запрос мне вытягивает запись из регистра сведении. Как мне сделать так чтоы можно было уже в созданной записи в регистре добавить фактическую дату обучения???

  В общем к решению вопроса с т.з. 1С вы подошли не правильно. А что у вас будет происходить при отмене проведения первого или второго документа?
  Поэтому, я бы рекомендовал сделать регистр сведений периодическим, периодом и датой. При проведении первого документа добавится строка в регистр и период заполнится датой начала обучения, а дата - планируемой датой завершения обучения. Затем при проведении вторго документа оба поля заполнятся одной датой - датой завершения обучения.
  Если иметь ссылку первого документа во втором, то легко будет получить планируемую и фактическую даты используя срез первых и последних по общей ссылке на первый документ (запросом :)).

Оффлайн mohock

  • ***
  • Сообщений: 170
  • РЕПУТАЦИЯ: 50
  • КПД: 29%
  • Регистрация: 2010-08-12
  • Сайт: 
  • Профессия: Программист 8.1
Уточняю. В регистре должно быть еще одно поле - ссылка на первый документ. Это поле и будет содержать параметр отбора создаваемого запроса - ссылку. Т.е. запрос по срезу последних и первых будет искать записи только с этой ссылкой.
  В результате если пользователь снимет с проведения любой документ - в регистре удалится строка связанная с этим документом. Если пользователь захочет удалить первый документ, то по контролю ссылок ему прийдется удалять и второй. Так что этот регистр можно сделать еще и подчиненным регистратору...


Теги:
 

Отличие проводки по регистру сведений от проводки по регистру накопления?

Автор DirecTwiXРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 5458
Последний ответ 18 Апр 2012, 02:19
от Dethmontt
Добавление сведений в графу "основание" документа "ТОРГ-12"

Автор Ярослав1984Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 8635
Последний ответ 20 Авг 2013, 18:45
от Ярослав1984
Регистр сведений "Товары организаций", измерение "АналитикаУчетаНоменклатуры"

Автор GanG031Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 89
Последний ответ 20 Дек 2018, 14:35
от GanG031
Регистры накопления, Регистры сведений, Документы, Проведение

Автор kot_ooРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 12
Просмотров: 9466
Последний ответ 17 Янв 2014, 21:52
от kot_oo
Регистр сведений "Версии объектов"

Автор ЕвгенийЗерноРаздел Пользователям "1С - Предприятие 8"

Ответов: 4
Просмотров: 2043
Последний ответ 20 Июл 2017, 17:00
от ЕвгенийЗерно

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

alexandr_ll
35 Сообщений
AIFrame AIFrame
33 Сообщений
LexaK
27 Сообщений
antoneus
26 Сообщений
alex0402
26 Сообщений
Св Ч Св Ч
22 Сообщений
BuhRust
15 Сообщений
Кот_Леопольд
13 Сообщений
wise wise
12 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
11 Сообщений

* Кто онлайн

  • Точка Гостей: 806
  • Точка Скрытых: 0
  • Точка Пользователей: 10
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal