|
Регистр сведений - запутался | ☑ | ||
---|---|---|---|---|
0
magicSan
30.09.15
✎
10:07
|
Регист сведений, период день, измирения сотрудник.
Надо чтоб стал подчинен регистратору, добавляю регистратор пропадает поле отбора "Период". Что блин не так? код был и стал //рег.Отбор.период.установить(дата+(день-1)*86400); //рег.Прочитать(); //тз=ШтатноеРасписание.выгрузить().Скопировать(,"Сотрудник,Колонка"+день); //тз.Колонки.Найти("Колонка"+день).Имя="Продолжительность"; //тз.Колонки.Добавить("Период"); //тз.ЗаполнитьЗначения(дата+(день-1)*86400,"Период"); //рег.Загрузить(тз); //рег.Записать(); рег.Отбор.регистратор.установить(Ссылка); //рег.Отбор.период.установить(дата+(день-1)*86400); рег.Прочитать(); тз=ШтатноеРасписание.выгрузить().Скопировать(,"Сотрудник,Колонка"+день); тз.Колонки.Найти("Колонка"+день).Имя="Продолжительность"; тз.Колонки.Добавить("Период"); тз.ЗаполнитьЗначения(дата+(день-1)*86400,"Период"); рег.Загрузить(тз); рег.Записать(); |
|||
1
magicSan
30.09.15
✎
10:08
|
т.е. сейчас отбор только по регистратору и записывает только послдений день месяца. Если добавлю измирение день то будет ругатся что не заполнено поле период.
|
|||
2
Ненавижу 1С
гуру
30.09.15
✎
10:09
|
у наборов значений регистров, подчиненных регистратору, возможен отбор только по регистратору
|
|||
3
Cyberhawk
30.09.15
✎
10:09
|
Отбор по регистратору у набора записей достаточен, зачем тебе период-то?
|
|||
4
Волшебник
модератор
30.09.15
✎
10:09
|
Для подчинённых регистров отбор только по регистратору.
|
|||
5
Ненавижу 1С
гуру
30.09.15
✎
10:13
|
не совсем в тему
http://naf2000.blogspot.ru/2015/04/blog-post.html |
|||
6
magicSan
30.09.15
✎
10:15
|
чего делать? как записывать и ресурсы по дням? у регистра период день, я же могу писать с одним и тем же регистратором на 10 дней
|
|||
7
magicSan
30.09.15
✎
10:15
|
(3) регистратор делает записи на весь месяц для одного измирения
|
|||
8
Ненавижу 1С
гуру
30.09.15
✎
10:16
|
(6) и в чем проблема? делай разные периоды, никто не мешает
|
|||
9
magicSan
30.09.15
✎
10:18
|
проблема полезла с того что открываю документ провожу, меняю дату провожу - фигатц оба месяца одним документом, удаляются движения естесвенно только за месяц в "Дата". может проще сделать измирение "док" убрать подчинение и удалять движения отбором по "док"?
(8) как? |
|||
10
magicSan
30.09.15
✎
10:20
|
(9) Как-то неправильно это выглядит.
|
|||
11
hhhh
30.09.15
✎
10:21
|
тз.Колонки.Добавить("Период");
тз.ЗаполнитьЗначения(дата+(день-1)*86400,"Период"); вот здесь. Не заполнять Период одной и той же датой, а для каждой строчки своя дата |
|||
12
magicSan
30.09.15
✎
10:24
|
(11)там есть измерения в рамках одного дня 30 разныхх измерений.
|
|||
13
Ненавижу 1С
гуру
30.09.15
✎
10:25
|
(12) это ты все волшебное штатное расписание лепишь?
Штатное Расписание как сделать ленивей? |
|||
14
magicSan
30.09.15
✎
10:28
|
(13) =)) да =)
|
|||
15
hhhh
30.09.15
✎
10:29
|
(12) ну и в чем проблема? хоть сорок измерений. Единственная фишка здесь. Запись идет только вся целиком для регистратора. Нельзя записать несколько строчек. ЕСли это прочувствуешь, остальное фигня.
|
|||
16
magicSan
30.09.15
✎
10:31
|
(15) " а для каждой строчки своя дата" - у каждой строчки дата одинакова, там таблица в строках сотрудники в колонках дни месяца, ресур продолжительность дня.
|
|||
17
Ненавижу 1С
гуру
30.09.15
✎
10:36
|
(16) а причем тут штатное расписание и продолжительность дня? или я тупой?
|
|||
18
Cyberhawk
30.09.15
✎
10:38
|
(7) Ну, делает так делает, накладывай отбор тогда на весь прочитанный по регистратору набор записей, изменяй нужные тебе записи и загружай в набор обратно
|
|||
19
Cyberhawk
30.09.15
✎
10:39
|
"на весь прочитанный по регистратору набор записей" = "на ТЗ, сформированную из этого набора"
|
|||
20
magicSan
30.09.15
✎
10:42
|
(19) изначально отбор регистр по регистратору - соответсвенно записываются только записи на последний день.
(17) выглядит как табель, представляет собой штатное рапсиание с детализацией по графику работ - потому-что удобно. |
|||
21
Ненавижу 1С
гуру
30.09.15
✎
10:44
|
(20) наверное это и есть план-табель
в (0) я так понимаю ты записываешь в цикле где День = 1 по 31? не делай так, записывай все сразу |
|||
22
magicSan
30.09.15
✎
10:51
|
(21) да в цикле. Был периодический регистратор - период день. Всё сразу не получится. Или как?
|
|||
23
Cyberhawk
30.09.15
✎
10:52
|
Что-то кажется противоречивыми два утверждения:
1. "регистратор делает записи на весь месяц" 2. "отбор регистр по регистратору - соответсвенно записываются только записи на последний день" |
|||
24
magicSan
30.09.15
✎
10:56
|
(23) 1. и чего????
2. если регист зависисимы то в отборе только регистратор соответствено в цикле каждый раз перезаписывается набор данных по регистратору. |
|||
25
Cyberhawk
30.09.15
✎
10:58
|
Ты не устранил мое ощущение противоречивости тех утверждений.
У тебя много регистраторов что ли? |
|||
26
Cyberhawk
30.09.15
✎
10:58
|
Кстати, в цикле можешь не перезаписывать, а дозаписывать записи
|
|||
27
Cyberhawk
30.09.15
✎
10:59
|
Ладно, Я не въезжаю в какой-то там твой механизм, надеюсь помог чем смог ))
|
|||
28
magicSan
30.09.15
✎
11:02
|
(25) Один регистратор на месяц - строки сотрудники, колонки дни месяца.
Что значит дозаписывать? |
|||
29
Cyberhawk
30.09.15
✎
11:02
|
Параметр у метода набора записей Записать()
|
|||
30
Ненавижу 1С
гуру
30.09.15
✎
11:04
|
(22) или как, для каждого дня свой период
|
|||
31
magicSan
30.09.15
✎
11:08
|
(29) там булево либо замещает либо нет.
|
|||
32
magicSan
30.09.15
✎
11:09
|
(30) *регистр (опечатался)
|
|||
33
Cyberhawk
30.09.15
✎
11:09
|
(31) Продолжай наблюдения
|
|||
34
magicSan
30.09.15
✎
11:14
|
(33) ! С ложью все дни запишутся!
|
|||
35
Cyberhawk
30.09.15
✎
11:26
|
(34) Я хз что там у тебя за алгоритм, ты не удосужился даже красиво расписать его, желательно с картинками
|
|||
36
magicSan
30.09.15
✎
11:39
|
(35) https://onedrive.live.com/redir?resid=86EBA954BCB1DA2A!424&authkey=!AKZVVUArIMfuhBk&v=3&ithint=photo%2cjpg
Процедура ОбработкаПроведения(Отказ, РежимПроведения) ОбработкаУдаленияПроведения(0); рег=РегистрыСведений.ШтатноеРасписание.СоздатьНаборЗаписей(); енд=число(формат(КонецМесяца(Дата),"ДФ=дд")); для день=1 по енд цикл рег.Отбор.регистратор.установить(Ссылка); рег.Прочитать(); тз=ШтатноеРасписание.выгрузить().Скопировать(,"Сотрудник,Колонка"+день); тз.Колонки.Найти("Колонка"+день).Имя="Продолжительность"; тз.Колонки.Добавить("Период"); тз.ЗаполнитьЗначения(дата+(день-1)*86400,"Период"); рег.Загрузить(тз); рег.Записать(ложь); конеццикла; КонецПроцедуры Процедура ОбработкаУдаленияПроведения(Отказ) рег=РегистрыСведений.ШтатноеРасписание.СоздатьНаборЗаписей(); рег.Отбор.регистратор.установить(Ссылка); рег.Прочитать(); рег.Очистить(); рег.Записать(); КонецПроцедуры Всё работает как и должно - спасибо =) |
|||
37
Ненавижу 1С
гуру
30.09.15
✎
11:46
|
(36)
это пять: енд=число(формат(КонецМесяца(Дата),"ДФ=дд")); это ваще круто: Процедура ОбработкаУдаленияПроведения(Отказ) рег=РегистрыСведений.ШтатноеРасписание.СоздатьНаборЗаписей(); рег.Отбор.регистратор.установить(Ссылка); рег.Прочитать(); рег.Очистить(); рег.Записать(); КонецПроцедуры |
|||
38
magicSan
30.09.15
✎
11:51
|
(37) побыстрому переделал - было написано для реквизита "док"
енд=число(формат(КонецМесяца(Дата),"ДФ=дд")) - что не так?? есть вариант получше? |
|||
39
Cyberhawk
30.09.15
✎
11:56
|
День(КонецМесяца(Дата))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |