Имя: Пароль:
1C
1С v8
СКД. Не добавляется поле
0 pessok
 
20.06.16
17:48
Коллеги, привет! Какой-то у меня ступор под вечер.
Имеется ERP 2.1.3.151
8.3.8.1747
Типовой отчет "Остатки и доступность товаров"
Задача: разбить поле "В резерве" на "В резерве" и в "В машине".
Собственно, это р/н "СвободныеОстатки" и "ТоварыКОтгрузке".
Типовой отчет зачем-то считает, что поле "ВРезерве" = "СвободныеОстатки.СоСклада + ТоварыКОтгрузке.КОтгрузке"

Что делаем - берез запрос, переписываем таким образом:

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    Набор.Номенклатура КАК Номенклатура,
    Набор.Характеристика КАК Характеристика,
    Набор.Склад КАК Склад,
    СУММА(Набор.ВНаличии) КАК ВНаличии,
    СУММА(Набор.ПриходОсновной) КАК ПриходОсновной,
    СУММА(Набор.РасходОсновной) КАК РасходОсновной,
    СУММА(Набор.ВРезервеСоСкладаИПодЗаказ) КАК ВРезервеСоСкладаИПодЗаказ,
    СУММА(Набор.ВРезервеСоСкладаИПодЗаказ) + СУММА(Набор.ВРезервеГрафика) КАК ВРезерве,
    СУММА(Набор.ВМашине) КАК ВМашине
ИЗ
    (ВЫБРАТЬ
        Таблица.Номенклатура КАК Номенклатура,
        Таблица.Характеристика КАК Характеристика,
        Таблица.Склад КАК Склад,
        Таблица.ВНаличии - Таблица.КОтгрузке КАК ВНаличии,
        0 КАК ПриходОсновной,
        Таблица.ВРезервеПодЗаказ + Таблица.ВРезервеСоСклада + Таблица.КОтгрузке КАК РасходОсновной,
        Таблица.ВРезервеПодЗаказ + Таблица.ВРезервеСоСклада КАК ВРезервеСоСкладаИПодЗаказ,
        0 КАК ВРезервеГрафика,
        Таблица.КОтгрузке КАК ВМашине
    ИЗ
        ВтСвободныеОстатки КАК Таблица
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        Таблица.Номенклатура,
        Таблица.Характеристика,
        Таблица.Склад,
        0,
        Таблица.КоличествоИзЗаказовОстаток,
        0,
        0,
        0,
        0
    ИЗ
        РегистрНакопления.ГрафикПоступленияТоваров.Остатки({(&Период)}, {((Номенклатура, Характеристика) В
                    (ВЫБРАТЬ
                        ТаблицаОтбора.Номенклатура КАК Номенклатура,
                        ТаблицаОтбора.Характеристика КАК Характеристика
                    ИЗ
                        ОтборПоСегментуНоменклатуры КАК ТаблицаОтбора
                    ГДЕ
                        ТаблицаОтбора.ИспользуетсяОтборПоСегментуНоменклатуры = &ИспользуетсяОтборПоСегментуНоменклатуры)), (Склад).*, (Номенклатура).*, (Характеристика).*}) КАК Таблица
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        Таблица.Номенклатура,
        Таблица.Характеристика,
        Таблица.Склад,
        0,
        0,
        Таблица.КоличествоИзЗаказовОстаток,
        0,
        0,
        0
    ИЗ
        РегистрНакопления.ГрафикОтгрузкиТоваров.Остатки({(&Период)}, {((Номенклатура, Характеристика) В
                    (ВЫБРАТЬ
                        ТаблицаОтбора.Номенклатура КАК Номенклатура,
                        ТаблицаОтбора.Характеристика КАК Характеристика
                    ИЗ
                        ОтборПоСегментуНоменклатуры КАК ТаблицаОтбора
                    ГДЕ
                        ТаблицаОтбора.ИспользуетсяОтборПоСегментуНоменклатуры = &ИспользуетсяОтборПоСегментуНоменклатуры)), (Склад).*, (Номенклатура).*, (Характеристика).*}) КАК Таблица
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        Таблица.Номенклатура,
        Таблица.Характеристика,
        Таблица.Склад,
        0,
        0,
        0,
        0,
        -Таблица.Количество,
        0
    ИЗ
        РегистрСведений.ДоступныеОстаткиПланируемыхПоступлений КАК Таблица
    ГДЕ
        Таблица.Количество < 0
        И Таблица.ДатаДоступности = ДАТАВРЕМЯ(1, 1, 1)
    {ГДЕ
        ((Таблица.Номенклатура, Таблица.Характеристика) В
                (ВЫБРАТЬ
                    ТаблицаОтбора.Номенклатура КАК Номенклатура,
                    ТаблицаОтбора.Характеристика КАК Характеристика
                ИЗ
                    ОтборПоСегментуНоменклатуры КАК ТаблицаОтбора
                ГДЕ
                    ТаблицаОтбора.ИспользуетсяОтборПоСегментуНоменклатуры = &ИспользуетсяОтборПоСегментуНоменклатуры)),
        Таблица.Склад.* КАК Склад,
        Таблица.Номенклатура.* КАК Номенклатура,
        Таблица.Характеристика.* КАК Характеристика}) КАК Набор

СГРУППИРОВАТЬ ПО
    Набор.Номенклатура,
    Набор.Характеристика,
    Набор.Склад



В СКД стоит автозаполнение, так что его не трогаем, у нового поля "ВМашине" нет ролей, как и у типового поля "ВРезерве"

Добавляю поле в ресурсы - СКД его не видит.
Делаю в вычисляемых поле "ВМашине*Вес" - поле видно...
ЧЯДНТ?!
1 pessok
 
20.06.16
17:48
блин, сорри за портянку
2 aleks_default
 
20.06.16
17:53
Что значит "видит -не видит"? В выбранные поля небось не добавил?
3 pessok
 
20.06.16
17:56
(2) добавил, само собой. Оно там "видится не видится" по принципу того, что указано в выражении вычисляемого поля.
Если просто "ВМашине" - не видно. Если "ВМашине * Вес" - видно... Это меня и вгоняет в ступор
4 aleks_default
 
20.06.16
17:57
(3) Ниче не понял. Давай иди отдыхай до завтра.
5 pessok
 
20.06.16
17:58
настройки:
http://prntscr.com/bipcu9
вычисляемые поля:
http://prntscr.com/bipd2z
ресурсы:
http://prntscr.com/bipdoe
результат в предприятии:
http://prntscr.com/bipdg1
6 pessok
 
20.06.16
17:58
(4) возможно ты прав... где-то глаз замылился явно :)
7 sonne666
 
20.06.16
18:05
(5) в настройках добавлены поля в определенную группировку. В Предприятии там же смотришь?
8 pessok
 
20.06.16
18:06
(7) само собой
9 pessok
 
20.06.16
18:08
+(8) я больше скажу. Если я для поля, которое сейчас доступно, например ВМашинеВес поменяю выражение с "ВМашине * Вес" на "ВМашине" (смотрите скрин с вычисляемыми полями), оно тоже пропадет из доступных полей, при этом настройки не меняются
10 sonne666
 
20.06.16
18:10
(9) поле запроса и вычисляемое поле имеют одинаковые имена ВМашине?
11 pessok
 
20.06.16
18:10
(10) да
12 pessok
 
20.06.16
18:11
на всякий случай - настройки компоновщика
http://prntscr.com/bipjqk
13 pessok
 
20.06.16
18:11
+(11) но я пробовал уже и разные названия делать.
Изначально в запросе поле звалось "КОтгрузке", вычисляемое - "ВМашине" - результат был таким же
14 sonne666
 
20.06.16
18:19
(11) с одинаковыми именами всё равно не очень понятно, как считается ресурс.
Может быть дело в каких-то ограничениях прав или в функциональных опциях?
15 sonne666
 
20.06.16
18:21
+ (14) "Поле считается недостпуным, если все поля, используемые в выражении, связаны с выключенными ФО или недоступными на просмотр полями"
16 pessok
 
20.06.16
18:39
Так под полными правами. ФО на эту тему нету. Да и опять таки, если поменять выражение - все норм
17 pessok
 
20.06.16
18:40
Т.е. Как бы "КОтгрузке" недоступно, а "КОтгрузке * Вес" доступно. Как так то?)
18 sonne666
 
20.06.16
18:46
(17) ну в умной книжке так написано :) На практике не приходилось сталкиваться.
Может, попробовать при вычислении выражения Вмашине умножить и разделить значение на Вес, например. Появится поле? Если да, то наверняка дело в каких-то ФО.
ЕРП у меня нет, чтобы посмотреть.
19 pessok
 
20.06.16
18:50
Хм, а это идея. Щас доеду до компа, попробую костыльнуть)
20 hhhh
 
20.06.16
20:36
(16) ФО по барабану полные права или неполные.
21 pessok
 
21.06.16
11:03
Вернемся к нашим баранам.
РН ТоварыКОтгрузке связан только с одной ФО - ИспользоватьОрдернуюСхемуПриОтгрузке, она хранится в реквизите Справочник.Склады. Реально, если хотя бы на одном складе включить ордерную схему - поле появляется. Внимание, знатоки, как правильнее обойти сиё, кхм, ноу-хау разрабов конфы? Сделать фиктивный склад и включить там эту ФО? Отпилить ФО от РН? Поставить ФО на нормальном складе с датой 3000 года?
Я такого еще не встречал пока что просто... Чтобы вот так ФО хранилась...
22 pessok
 
21.06.16
11:08
или тупо в отчете костыль как в (18)
23 pessok
 
21.06.16
11:10
+(21) использование ФО не нужно
24 hhhh
 
21.06.16
11:16
(21) да на любой склад вставьте эту опцию, чего вы паритесь.
25 pessok
 
21.06.16
11:21
Окай, спасибо! Век живи, век учись :)
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан