#0
by NeeD
Элементарная задача: построить ведомость по остаткам товаров и исключить из неё движения по документам определенного типа. Решаем через СКД. Исходный запрос: ВЫБРАТЬ ТоварыНаСкладахОстаткиИОбороты.Номенклатура, ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток, ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток, ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход Всё нормально строится, только нужно исключить движения по документу КорректировкаСерийИХарактеристикТоваров. Попробуем это сделать: ТоварыНаСкладахОстаткиИОбороты.Номенклатура, ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток, С движениями всё нормально, но вот с остатками непонятки - они начинают суммироваться как бы по нижнему уровню групировки по регистратору! То есть, например, если начальный остаток был 1, а затем одно произвольное движение (для которого в расшифровке по группировке начальный остаток тоже 1), то в данном варианте отчета, в начальном остатке будет уже 2!!! Как ни будь можно обойти эту проблему, или для подобных задач СКД не подходит, и нужно программно организовывать обход группировки по регистратору с анализом самого регистратора, то есть писать отчет с 0?
#2
by Dem1urg
А так нельзя? ВЫБРАТЬ ТоварыНаСкладахОстаткиИОбороты.Номенклатура, ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток, ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток, ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход ГДЕ НЕ ТоварыНаСкладахОстаткиИОбороты.Регистратор ССЫЛКА Документ.КорректировкаСерийИХарактеристикТоваров
#3
by NeeD
Не помогает. А можно поподробнее. Роль у Номенклатуры - измерение. Что ещё нужно сделать?
#5
by NeeD
Исходя из более правильный вариант: ТоварыНаСкладахОстаткиИОбороты.Номенклатура, ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток, ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток, ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход ГДЕ (НЕ ТоварыНаСкладахОстаткиИОбороты.Регистратор ССЫЛКА Документ.КорректировкаСерийИХарактеристикТоваров) Куда смотреть - на роли? Там вроде всё очевидно...
#9
by NeeD
Тут ещё круче. Эта проблема проявляется только если группировать только по номенклатуре. Если добавить ещё и группировку по регистратору - то всё нормально, остатки не искажаются.
#10
by NeeD
P.S. В данном запросе поля регистратор нет, но я пробовал и с ним, и получалось. Но мне не нужен разворот по регистратору.
#14
by NeeD
Благодарю! Разобрался! Но без нормального описания СКД нет понимания почему оно заработало в результате соподчинения измерения регистратору :-). Одним словом нужна нормальная книга, может посоветуете что ни будь?
#15
by Defender aka LINN
По сКД такое богатство книг, даже и не знаю, что посоветовать... Попробуй Хрусталеву. Еще модно почитать Хрусталеву, или Хрусталеву. Если ничего из этого не найдешь - то хотя бы Хрусталеву почитай.
#16
by le_
Кстати, можт, есть желающие еще одну книгу написать? ) Не забудьте только подробнее описать про расширение языка запросов для СКД, про "Номер группы" в конструкторе запросов, ну и про остатки и обороты с регистраторами и реквизитами регистраторов. Остальное у Хрусталевой, вроде, имеется ) Думаю, она сразу станет бестселлером среди 1с-ников )
#17
by Defender aka LINN
"про "Номер группы" в конструкторе запросов" - тебе открыть тайну? Он еще в 8.0 был. И про него все написано в документации. Книгу ему подавай...
#21
by le_
Я имею ввиду НГ на закладке "Компоновка данных" (подзакладка "Таблицы"). Если кто знает, подскажите, для чего оно.
#22
by Defender aka LINN
Ровно для того же, для чего и в построителях. И работает точно так, как описано в документации. Поэкспериментируй с номерами групп и посмотри, какие тексты запроса будут получаться, и все поймешь.
#23
by le_
Defender, по-моему, тебе нужно задуматься о реализации идеи в ) Готов быть первым покупателем )
#24
by Defender aka LINN
Документацию не читают, Хрусталеву не читают... Думаешь, кто-нибудь меня читать станет? :)
#25
by le_
Думаю, будут ) Ты, главное, опиши все заковыристые и неосвещенные вопросы ) А если еще и курсы будешь вести и в качестве литературы свою книгу рекомендовать, она оч. быстро расходиться будет.
#26
by NeeD
Тут в продолжении темы очередные непонятки... Пока Хрусталеву не прочитал, надеюсь на вашу помощь :-). Исходный запрос - это так сказать в качестве примера. Реально нужно к нему присоединять ещё и остатки на конец периода по резервам, заказам, производству и т.д. Все эти дополнительные остатки выбираются из соответствующих таблиц "остатки" в отличии от основных данных, которые выбираются из таблицы "ОстаткиИОбороты". Так вот, для нашего случая, когда происходит неявный обход группировки "регистратор", нужно у полей этих дополнительных остатков установить признак "Остатки", причём у меня заработало только в том случае, если я указал в поле "тип" - "нет". В случае выбора "Конечный остаток" или "Начальный остаток" при выводе отчета возникает ошибка, что то типа несоответствия чего то из Набора1 (точно не помню - пишу из дома). Насколько я понял, только у одного поля может быть установлено "Начальный остаток" или "Конечный остаток", только вот непонятна суть этих типов остатков, если всё работает и с типом "Нет"... И вообще, для большого количества полей типа "Остаток" как быть, особенно если выборка производится из нескольких таблиц "ОстаткиИОбороты". Извиняюсь за сумбурность изложения, но уж больно тема заинтересовала, хочется разобраться :-)
#27
by IronDemon
Для роли поля "Остатки", как ни странно, нужны 4 поля. Начальный остаток, приход, расход, конечный остаток. Не обязательно их выводить, достаточно чтобы они присутствовали для расчета.
#31
by NeeD
Полей больше. Из регистра остатки товаров - начальный остаток, приход, расход, конечный остаток, из регистра резервы - конечный остаток, из регистра заказы на производство - конечный остаток, из регистра заказы поставщикам - конечный остаток, из регистра товары к передаче - конечный остаток, из регистра товары к получению - конечный остаток. Полное соединение по номенклатуре. В приход и расход включать информацию в зависимости от регистратора (довольно сложные условия). Так вот, для всех полей кроме первых четырех я прописал тип поля - остатки с типом "нет". Получился нужный мне результат. Правильно ли это с методологической точки зрения?
#32
by IronDemon
>> В приход и расход включать информацию в зависимости от регистратора Это методологически не правильно :) В этом случае у тебя будут остатки не те которые рассчитаны в регистре а те которые посчитаются в запросе. >> для всех полей кроме первых четырех Они будут "правильные" не по всем группировкам.
#33
by NeeD
В моем случае, несмотря на то что на приход и расход стоят фильтры, остатки абсолютно правильные :-). Только вот алгебра получается кривая: нач.ост. + приход - расход не обязательно = кон.остаток. Но нам нужно именно так. По большому счету эти поля нужно называть по другому. Одним словом, нужно отфильтровать складские движения и всякие там пересорты. И мне помогли достичь этого результата роли полей - соподчинение измерения "номенклатура" регистратору.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- СКД: СКД. Понимает ли СКД ссылки на МенеджерВременныхТаблиц?
- СКД: СКД: Программное обращение к полям группировки СКД
- СКД: v8: Свернуть группировки СКД
- СКД: СКД. Как переоределить действие кнопки "Сформировать" отчета, созданного в СКД?
- СКД: v8: Тип группировки в Полях группировки
- СКД: Как программно изменить родителя группировки в СКД
- v8: Как в СКД суммировать значения одной группировки для другой группировки
- СКД: Повторяется заголовок группировки в конце группировки при выводе итогов
В этой группе 1С
- Декларация по налогу на прибыль в УПП 1 3 8 1
- Как программно определить по ссылке, что <Объект не найден...>?
- налогообложение документа отличается от налогообложения организации
- Переопределение Режима записи документа
- Современный аналог Nokia 6233 (можно не Nokia)
- выгрузка счета в dbf (1С 7.7. Бух)
- Выходит сообщение о неуникальности номера при записи...где искать проблему ?
- Регистр сведений Значение Свойст объектов
- Элементы Запроса Преобразовать в Элементы справочника
- 8.2 Программное создание документа и его открытие без записи.
- Дерево значений как источник данных для запроса
- Печать формы Т-61. ЗУП 2.5.33.4 и не только
- xml не понятен вопрос ...
- Где можно посмотреть выявленные ошибки в зуп на сайте 1с?
- Ввод начальных остатков ОС несоответствие НУ и БУ как быть?
- копейка зависает (1С 8.2 УПП 1.3.11.1)
- Склонение "Чей?"
- Как запустить макрос в файле xls, если Excel не установлен на сервере
- Не заполняется документ "Переоценка товаров в рознице" в УПП
- Получение полей через точку в запросе