|
Как делать запись одним документом в 2 регистра сведений по перечислениям |
☑ |
0
Ksor
26.12.21
✎
22:56
|
Здравствуйте, недавно начал программировать в 1С, подскажите как записывать данные в два регистра сведений при проведении 1 документа, только в 1 регистр сведений данные должны идти если человеку объявлено взыскание, а в другой если человеку объявлены поощрения
|
|
1
Ненавижу 1С
гуру
26.12.21
✎
22:57
|
(0) условный оператор
|
|
2
Ksor
26.12.21
✎
23:03
|
Я понимаю что надо делать через условный оператор, только что мне нужно указать после ЕСЛИ в условии, что бы указать что если поощрение то записывать в этот регистр, а если иначе то в другой?
Если тогда
Движение = Движения.Поощрения.Добавить();
Движение.Дата = Дата;
Движение.ФизическоеЛицо = ТекСтрокаТабличнаяЧасть1.ФизическоеЛицо;
Движение.ВидПоощрения = ТекСтрокаТабличнаяЧасть1.ВидПоощренияВзыскания;
Движение.ДокументПоощрения = Номер;
// регистр Взыскания
Иначе
Движение = Движения.Взыскания.Добавить();
Движение.Период = Дата;
Движение.ФизическоеЛицо = ТекСтрокаТабличнаяЧасть1.ФизическоеЛицо;
Движение.ВидВзыскания = ТекСтрокаТабличнаяЧасть1.ВидПоощренияВзыскания;
Движение.ДокументВзыскания = ТекСтрокаТабличнаяЧасть1.ДокументСнимаемогоВзыскания;
Движение.Активно = ИСТИНА;
Движение.ДокументПоощрения = Номер;
КонецЕсли;
КонецЦикла;
|
|
3
Ненавижу 1С
гуру
26.12.21
✎
23:10
|
(2) а как отличить взыскание от поощрения?
|
|
4
Ksor
26.12.21
✎
23:13
|
Есть перечисления ТипыПоощренийВзысканий в них два значение Поощрение и Взыскания, в документе есть реквизит ТипыПоощренияВзыскания ссылочного типа на перечисления
|
|
5
Ksor
26.12.21
✎
23:14
|
т.е. при заполнении документа я указываю что это Поощрение или Взыскание
|
|
6
acanta
26.12.21
✎
23:18
|
А где вы видели цикл?
|
|
7
Ksor
26.12.21
✎
23:21
|
Вот начало
Движения.Поощрения.Записывать = Истина;
Движения.Взыскания.Записывать = Истина;
Для Каждого ТекСтрокаТабличнаяЧасть1 Из ТабличнаяЧасть1 Цикл
// регистр Поощрения
Если тогда
Движение = Движения.Поощрения.Добавить();
Движение.Дата = Дата;
|
|
8
acanta
26.12.21
✎
23:24
|
А почему вы не хотите сделать две табличные части, отдельно поощрения и отдельно взыскания и перечисления не нужно?
|
|
9
Ksor
26.12.21
✎
23:25
|
Задание такое
|
|
10
acanta
26.12.21
✎
23:26
|
А почему вы не назвали табличную часть, раз уж она у вас одна как нибудь Начисления или ПоощренияВзыскания, раз уж задание такое..
|
|
11
Ненавижу 1С
гуру
26.12.21
✎
23:41
|
Если ТвойРеквизит=Перечисления.ТипыПоощренийВзысканий.Поощрение Тогда
...
ИначеЕсли ТвойРеквизит=Перечисления.ТипыПоощренийВзысканий. Взыскание Тогда
...
Называйте реквизиты и переменные более осмысленно, вам это ещё и читать возможно придётся через некоторое время
|
|
12
Ksor
26.12.21
✎
23:47
|
Большое спасибо, все получилось!
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший