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

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

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
Просмотров: 4850
Последний ответ 18 Апр 2012, 02:19
от Dethmontt
Добавление сведений в графу "основание" документа "ТОРГ-12"

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

Ответов: 4
Просмотров: 7749
Последний ответ 20 Авг 2013, 18:45
от Ярослав1984
Регистры накопления, Регистры сведений, Документы, Проведение

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

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

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

Ответов: 4
Просмотров: 534
Последний ответ 20 Июл 2017, 17:00
от ЕвгенийЗерно
Какие ответственные лица могут быть указаны в регистре сведений "Ответственные л

Автор DDDРаздел Пользователям "1С - Предприятие 8"

Ответов: 0
Просмотров: 4312
Последний ответ 25 Ноя 2008, 11:07
от DDD

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
154 Сообщений
ilyay ilyay
66 Сообщений
alex0402
53 Сообщений
AIFrame
46 Сообщений
andron81_81
44 Сообщений
oleg-x
44 Сообщений
BuhRust
32 Сообщений
MuI_I_Ika MuI_I_Ika
32 Сообщений
Golickoff Golickoff
31 Сообщений
Dima Dddd Dima Dddd
24 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal