|
Движение в регистре сведений подчиненному регистратору | ☑ | ||
---|---|---|---|---|
0
LivingStar
09.10.13
✎
11:10
|
Нужно сделать движения по регистру сведений (периодичность в пределах квартала, подчиненный регистратору).
Движения нужно прописывать в ручную, конструктора для этого нет? Если периодичность в пределах квартала, то в выборках можно будет получать свои значения номенклатуры по этому регистру, в зависимости от того попадают ли они в тот или иной квартал? Пересекаться они не будут? |
|||
1
LivingStar
09.10.13
✎
11:52
|
почему может не записывать данные в ергистр сведений?
Процедура ОбработкаПроведения(Отказ, РежимПроведения) // НаборЗаписей = РегистрыСведений.ФокусныйАссортимент.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Регистратор.Установить(Ссылка); НоваяЗапись = НаборЗаписей.Добавить(); НоваяЗапись.Период = Ссылка.Дата; Для Каждого ТекСтрока Из УстанавливаемыйФокусныйАссортимент Цикл НоваяЗапись = Движения.ФокусныйАссортимент.Добавить(); НоваяЗапись.Период = Ссылка.Дата; НоваяЗапись.Номенклатура = ТекСтрока.Номенклатура; НоваяЗапись.ФА = Истина; КонецЦикла; НаборЗаписей.Записать(); // КонецПроцедуры |
|||
2
andreymongol82
09.10.13
✎
11:53
|
(1) НоваяЗапись.Регистратор = Ссылка;
Кто будет делать? |
|||
3
andreymongol82
09.10.13
✎
11:54
|
(1) И что такое НаборЗаписей в " НаборЗаписей.Записать(); " - он у тебя не определен
|
|||
4
andreymongol82
09.10.13
✎
11:55
|
(3) Блин, не заметил "НаборЗаписей = РегистрыСведений.ФокусныйАссортимент.СоздатьНаборЗаписей();"
|
|||
5
Шапокляк
09.10.13
✎
11:59
|
НаборЗаписей = РегистрыСведений.ФокусныйАссортимент.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(Ссылка); НоваяЗапись = НаборЗаписей.Добавить(); НоваяЗапись.Период = Ссылка.Дата; а это зачем, если документ является регистратором? |
|||
6
andreymongol82
09.10.13
✎
12:01
|
(5) "На всякий случай у меня проездной" :)
(0) Используй конструктор движений и посмотри как правильно. |
|||
7
LivingStar
09.10.13
✎
12:09
|
вот так делает движения
// -------------------------------------------------------------------------------------------------------------------------------------------- Процедура ОбработкаПроведения(Отказ, РежимПроведения) // НаборЗаписей = РегистрыСведений.ФокусныйАссортимент.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Регистратор.Установить(Ссылка); НоваяЗапись = НаборЗаписей.Добавить(); Для Каждого ТекСтрока Из УстанавливаемыйФокусныйАссортимент Цикл НоваяЗапись.Регистратор = Ссылка; НоваяЗапись.Период = Ссылка.Дата; НоваяЗапись.Номенклатура = ТекСтрока.Номенклатура; НоваяЗапись.ФА = Истина; КонецЦикла; НаборЗаписей.Записать(); // КонецПроцедуры // -------------------------------------------------------------------------------------------------------------------------------------------- |
|||
8
LivingStar
09.10.13
✎
12:12
|
Вопрос следующий. К примеру я установил документом признак фокусного ассортимента элементу номенклатуры в 1 квартале 2013 года. Она и по сей день активная!!! Следующими документами нужно менять у таких элементов признак, если они уже не являются фокусным ассортиментом?
|
|||
9
LivingStar
09.10.13
✎
12:13
|
(5) В смысле
НоваяЗапись.Период = Ссылка.Дата; вот это не нужно?!! Убрать? |
|||
10
Enders
09.10.13
✎
12:13
|
Странно, а НоваяЗапись = НаборЗаписей.Добавить();
не должно быть в цикле? (8) зачем менять?) построить правильно запрос к регистру и ненадо ничего менять) |
|||
11
andreymongol82
09.10.13
✎
12:15
|
(7) Странной у меня конструктор совсем по другому написал
Движения.ПринадлежностьСценариевКонтроля.Записывать = Истина; Движения.ПринадлежностьСценариевКонтроля.Очистить(); Для Каждого ТекСтрокаЗначенияНастроекСтатейОборотов Из ЗначенияНастроекСтатейОборотов Цикл Движение = Движения.ПринадлежностьСценариевКонтроля.Добавить(); Движение.СтатьяОборотов = ТекСтрокаЗначенияНастроекСтатейОборотов.СТатьяОборотов; Движение.Сценарий = ТекСтрокаЗначенияНастроекСтатейОборотов.Сценарий; КонецЦикла; У тебя НоваяЗапись = НаборЗаписей.Добавить(); почему не в цикле? |
|||
12
LivingStar
09.10.13
✎
12:15
|
(10) Исправлю!!! Понял! Тоесть дело в запросе, правильно построенный запрос должен выбирать правильные данные!!!
|
|||
13
LivingStar
09.10.13
✎
12:16
|
(11) конструктор херню пишет!!!
|
|||
14
andreymongol82
09.10.13
✎
12:17
|
(12) Отличный вывод. Как только никто об этом не догадался? (13) Конструктор пишет по нормальному. Это кто-то не может даже конструктором правильно воспользоваться
|
|||
15
LivingStar
09.10.13
✎
12:33
|
(14) Наверное я не могу им воспользоваться, совсем другие инструкции, нет движений по регистратору и тп...
(14) Догадался так как мне уже это подсказывали добрые люди. Давно эту тему мусолю!!!! |
|||
16
LivingStar
09.10.13
✎
12:39
|
(10) Так а смотрите, в 1 квартале установил фокусным ассортиментом одну номенклатуру.
Запрос с выборкой по первому кварталу её показывает!!!! в третьем квартале она не является фокусным ассортиментом по факту. Но а запрос по третьему квартолу её выбирает!!! Как с этим быть не пойму??? |
|||
17
LivingStar
09.10.13
✎
12:41
|
(16+) Веть она и в третьем квартале будет являться фокусным ассортиментом???
|
|||
18
LivingStar
09.10.13
✎
12:42
|
Я думал что то бы сменить признак фокусного ассортимента у номенклатуры нужно её устанавливать в ложь документом устанавливающем фокусный ассортимент на следующий квартал. Или я чего то не понимаю???
|
|||
19
Гефест
09.10.13
✎
12:44
|
Что бы номенклатура не была вокусным элементом, ее нужно вывести из фокуса. Что бы это ни значило
|
|||
20
LivingStar
09.10.13
✎
12:49
|
(19) Ну вот я и говорю, что есть список фокусного ассортимента. Номенклатура в нем как может повторяться так и быть уникальна. И если в одном квартале она была фокусным ассортиментом, а в другом им не является, то нужно учитывать в документе отмену фокусного ассортимента. Я правильно понимаю? То есть установку номенклатуре фокусного ассортимента в ложь, если она им не является в определенном квартале.
|
|||
21
LivingStar
09.10.13
✎
12:54
|
Я делал документу 2 табличные части "УстанавливаемыйФокусныйАссортимент" и "ОтменяемыйФокусныйАссортимент". В Тч "ОтменяемыйФокусныйАссортимент" я помещал номенклатуру которая не является фокусным ассортиментом в текущем квартале, но была им в предыдущем. Для того что бы устанавливать её в ложь. Правильное же решение?
|
|||
22
Enders
09.10.13
✎
13:03
|
(16)Запрос в студию) заодно и структуру регистра) измерения, ресурсы)
|
|||
23
Enders
09.10.13
✎
13:05
|
Можно отобрать срез последних на дату запроса.
После чего отобрать только те записи у которых период больше чем НАчалоПериода(ДатаЗапроса,Квартал). Всё Получите только ассортимент указаного квартала, до даты на которую формируете отчет. Если хотите посмотреть весь квартал, а устанавливать любую дату квартала, то в срезе последних надо указать КонецПериода(ДатаЗапроса,Квартал) |
|||
24
LivingStar
09.10.13
✎
13:12
|
(22) Да пока нет запроса, планирую как документ оставить, в каком виде, для обновления в рабочую базу. Обновлял как то без установки ему регистратора. Там полезли разные всякие ошибки, которые не смог обойти. И решил вернуть ему регистратор.... Пока все же всей картины не увидел, что бы быть уверенным что данный алгоритм работает.
|
|||
25
LivingStar
09.10.13
✎
13:13
|
(23) За вашу формулу наложения фильтра на выборку спасибо....
|
|||
26
LivingStar
10.10.13
✎
05:45
|
С регистрами не сильно работал. Ввел 4 тестовых документа с датами 01.01.2013, 01.04.2013, 01.07.2013, 01.10.2013 Прикалоло то что с таким кодом в обработке проведения на каждый квартал в регистре оказывается введенный на этот квартал свой ассортимент. Меня все тормозило что в регистре будет всё свалено в кучу, оказывается там на каждый квартал только своё)
Процедура ОбработкаПроведения(Отказ, РежимПроведения) // НаборЗаписей = РегистрыСведений.ФокусныйАссортимент.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Регистратор.Установить(Ссылка); Для Каждого ТекСтрока Из УстанавливаемыйФокусныйАссортимент Цикл НоваяЗапись = НаборЗаписей.Добавить(); НоваяЗапись.Регистратор = Ссылка; НоваяЗапись.Период = Ссылка.Дата; НоваяЗапись.Номенклатура = ТекСтрока.Номенклатура; НоваяЗапись.ФА = Истина; КонецЦикла; НаборЗаписей.Записать(); // КонецПроцедуры |
|||
27
Rie
10.10.13
✎
05:54
|
(23) Если подчинён регистратору - то см. свойство Движения у объекта.
|
|||
28
Rie
10.10.13
✎
05:55
|
(26)->(25)
|
|||
29
LivingStar
10.10.13
✎
06:28
|
(27) да я подчинил его регистратору
|
|||
30
LivingStar
10.10.13
✎
06:28
|
(27)(28) мда
|
|||
31
LivingStar
10.10.13
✎
06:36
|
(23) Сделал выборку, на тестовых данных (26) с указанной вами формулой. Поставил дату 17.04.2013, отобрал и за январь и за апрель (( Думаю....
ВЫБРАТЬ ФокусныйАссортиментСрезПоследних.Период, ФокусныйАссортиментСрезПоследних.Регистратор, ФокусныйАссортиментСрезПоследних.Номенклатура, ФокусныйАссортиментСрезПоследних.ФА ИЗ РегистрСведений.ФокусныйАссортимент.СрезПоследних(КОНЕЦПЕРИОДА(&ДатаЗапроса, КВАРТАЛ), ) КАК ФокусныйАссортиментСрезПоследних |
|||
32
LivingStar
10.10.13
✎
06:37
|
(31) как сейчас правильную выборку делать пока не соображу
|
|||
33
LivingStar
10.10.13
✎
06:40
|
НАЧАЛОПЕРИОДА(&ДатаЗапроса, КВАРТАЛ) это тоже не подходит, как бы сделат что бы от установленной даты, отбирались только записи квартала в который попадает выбранная дата, и никакие более...
|
|||
34
LivingStar
10.10.13
✎
06:46
|
ДОБАВИТЬКДАТЕ(&ДатаЗапроса, МЕСЯЦ,3)
|
|||
35
LivingStar
10.10.13
✎
06:49
|
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ДатаЗапроса, КВАРТАЛ), МЕСЯЦ,2)
|
|||
36
LivingStar
10.10.13
✎
06:55
|
во тема
ВЫБРАТЬ ФокусныйАссортиментСрезПоследних.Период, ФокусныйАссортиментСрезПоследних.Регистратор, ФокусныйАссортиментСрезПоследних.Номенклатура, ФокусныйАссортиментСрезПоследних.ФА, НАЧАЛОПЕРИОДА(&ДатаЗапроса, КВАРТАЛ) КАК Поле1, ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ДатаЗапроса, КВАРТАЛ), МЕСЯЦ, 2) КАК Поле2 ИЗ РегистрСведений.ФокусныйАссортимент.СрезПоследних(, ) КАК ФокусныйАссортиментСрезПоследних ГДЕ ФокусныйАссортиментСрезПоследних.Период >= НАЧАЛОПЕРИОДА(&ДатаЗапроса, КВАРТАЛ) И ФокусныйАссортиментСрезПоследних.Период <= ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ДатаЗапроса, КВАРТАЛ), МЕСЯЦ, 2) |
|||
37
hhhh
10.10.13
✎
07:30
|
(36) что-то вы тут бредите. Зачем вам запрос? Сами же написали, что у вас есть вторая табличная часть "ОтменяемыйФокусныйАссортимент". Вы про него и спрашиваете. Ответ на ваш вопрос: вы забыли сделать движения поОтменяемыйФокусныйАссортимент, а нам вешаете лапшу на уши.
|
|||
38
LivingStar
10.10.13
✎
07:37
|
(37) z t` elfkbk e;t
|
|||
39
LivingStar
10.10.13
✎
07:37
|
(37) я её удалил уже, так как понял что в ней нет необходимости, на сколько я понял регистр сам рулит кварталами
|
|||
40
LivingStar
10.10.13
✎
07:38
|
(37) У меня одно движение только сейчас при проведении документа (36). При отмене проведения записи в регистре сами удаляются.
|
|||
41
LivingStar
10.10.13
✎
07:40
|
(37) этот запрос видимо буду привязывать к выборкам что бы получать данные по фокусному ассортименту номенклатуры
|
|||
42
hhhh
10.10.13
✎
07:56
|
(39) ну вот и зря удалил. Как вообще корректируется ассортимент? Выходит приказ директора: удалить из ассортимента такие-то позиции. Пользователь берет его и заполняет таб часть ОтменяемыйФокусныйАссортимент. Всё.
|
|||
43
LivingStar
10.10.13
✎
08:29
|
(42) Ну а если из тч удалить? Или сделать галочки. Нужно отменить, убрали галочки и всё...
|
|||
44
Enders
10.10.13
✎
10:25
|
(42) Ну не знаю, имхо проще удалять из существующего документа.
Или добавить колонку с реквизитом типа булево. И если она истина, то ФА=Истина, если ложь - то ложь. По поводу запроса ВЫБРАТЬ ФокусныйАссортиментСрезПоследних.Период, ФокусныйАссортиментСрезПоследних.Регистратор, ФокусныйАссортиментСрезПоследних.Номенклатура, ФокусныйАссортиментСрезПоследних.ФА ИЗ РегистрСведений.ФокусныйАссортимент.СрезПоследних(КОНЕЦПЕРИОДА(&ДатаЗапроса, КВАРТАЛ), ) КАК ФокусныйАссортиментСрезПоследних ГДЕ ФокусныйАссортиментСрезПоследних.Период>=НАЧАЛОПЕРИОДА(&ДатаЗапроса, КВАРТАЛ) И ФокусныйАссортиментСрезПоследних.ФА |
|||
45
hhhh
10.10.13
✎
10:36
|
(44) ну, может быть. НО просто удалить не получится. Нужна колонка булевая.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |