В плане счетов на счетах ОС первое субконто может быть Место хранения, ОС, НМА, Номенклатура.
Мне надо что бы запрос возвращал в Субкото1 всё кроме Место хранения.
Тоесть когда Субконто1 - Место хранения, то надо брать значение из Субконто2.
Можно ли в параметре запроса &Субконто установить отбор сразу на 3 вида субконто (ОС, НМА и Номенклатура)?
Мне надо что бы запрос возвращал в Субкото1 всё кроме Место хранения.
Тоесть когда Субконто1 - Место хранения, то надо брать значение из Субконто2.
Можно ли в параметре запроса &Субконто установить отбор сразу на 3 вида субконто (ОС, НМА и Номенклатура)?
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Честно скажу: глуповато спросил. Как в одну колонку впихнуть "все"?
Может вот это хотел?: "Выбрать итоги для записей, где условие по нужным субконто с параметрам: 1)ОС, 2)Номенклатура". А вот на каких местах эти субканты стоят я не знаю.
Примечание: Я так и не понял, "ОС, НМА, Номенклатура" - это сколько видов субконто? Три? Или "ОС, НМА" - это одно субконто с запятой в названии?
Делается так (названия не с твоими не совпадают):
Принципиальный момент в том, что массив "Субконто" передается запросу. И запрос пользуется субконто в этом же порядке. А в каком они стоят на счете, не играет роли. Лишь бы были.
возвращал в Субкото1 всё кроме Место хранения.
Честно скажу: глуповато спросил. Как в одну колонку впихнуть "все"?
Может вот это хотел?: "Выбрать итоги для записей, где условие по нужным субконто с параметрам: 1)ОС, 2)Номенклатура". А вот на каких местах эти субканты стоят я не знаю.
Примечание: Я так и не понял, "ОС, НМА, Номенклатура" - это сколько видов субконто? Три? Или "ОС, НМА" - это одно субконто с запятой в названии?
Делается так (названия не с твоими не совпадают):
Субконто = Новый Массив;
Субконто.Добавить(ПланыВидовХарактеристик.ВидыСубконто.Места);
Субконто.Добавить(ПланыВидовХарактеристик.ВидыСубконто.Основные);
Субконто.Добавить(ПланыВидовХарактеристик.ВидыСубконто.Номенклатура); // Точно такое используется?
Запрос.Текст = "ВЫБРАТЬ
| БИ.Субконто1 КАК Место,
| БИ.Субконто2 КАК Основное,
| БИ.Субконто3 КАК Номенклатура,
|ИЗ
| РегистрБухгалтерии.Бух.Остатки(НАЧАЛОПЕРИОДА(&НаДату, ДЕНЬ), Счет В ИЕРАРХИИ (&СчетаОС), &Субконто, Субконто2 В ИЕРАРХИИ (&Основное) И ...) КАК БИ
Запрос.УстановитьПараметр("НаДату", ЭтотОбъект.НаДату);
Запрос.УстановитьПараметр("Основное", ЭтотОбъект.Основное);
Запрос.УстановитьПараметр("СчетаОС", СписокСчетовМЦ);
Запрос.УстановитьПараметр("Субконто", Субконто);
ПоказатьПринципиальный момент в том, что массив "Субконто" передается запросу. И запрос пользуется субконто в этом же порядке. А в каком они стоят на счете, не играет роли. Лишь бы были.
(3)
Я это понимаю. Только принципиальный момент, что на одних счетах ОС, а на других НМА. И что мне передать в массив?
Принципиальный момент в том, что массив "Субконто" передается запросу. И запрос пользуется субконто в этом же порядке. А в каком они стоят на счете, не играет роли. Лишь бы были.
Я это понимаю. Только принципиальный момент, что на одних счетах ОС, а на других НМА. И что мне передать в массив?
Ну в общем другими словами объясню.
В запросе есть параметр субконто, и если сказать что оно должно быть типа ОС, то уже не важно каким по счету субконто будет это ОС - оно полюбому вернется в субконто1.
Проблема в том, что на одних счетах это ОС, а на других НМА и на некоторых счетах первое субконто места хранения.
А получать субконто2 нельзя - задублируются строки.
Ну или надо будет обходить выборку, проверять на тип, поместить в таблицу значений и потом свернуть.
В запросе есть параметр субконто, и если сказать что оно должно быть типа ОС, то уже не важно каким по счету субконто будет это ОС - оно полюбому вернется в субконто1.
Проблема в том, что на одних счетах это ОС, а на других НМА и на некоторых счетах первое субконто места хранения.
А получать субконто2 нельзя - задублируются строки.
Ну или надо будет обходить выборку, проверять на тип, поместить в таблицу значений и потом свернуть.
Нет, "другие слова" тоже не понял. Попробуйте правильными. Желательно, с запятыми, короткими предложениями По-любому должно получиться.
Не думайте, что издеваюсь. Я на работе говорю: "Правильно сформулировал задачу - считай, что решил".
Не думайте, что издеваюсь. Я на работе говорю: "Правильно сформулировал задачу - считай, что решил".
(6) Вот пример
Где параметр ВидыСубконто (список видов субконто, влияет на доступность
// и смысл Субконто1, Субконто2.., которыми можно оперировать
// в запросе).
Но мне в Субконто1 надо и ОС и НМА.
Можно конечно еще ВЫБОР КОГДА "субконто типа ОС" ТОГДА субконто1 ...
ВидыСубконто = Новый Массив;
ВидыСубконто.Добавить(
ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ОС
);
Запрос.УстановитьПараметр("ВидыСубконто", ВидыСубконто);
Где параметр ВидыСубконто (список видов субконто, влияет на доступность
// и смысл Субконто1, Субконто2.., которыми можно оперировать
// в запросе).
Но мне в Субконто1 надо и ОС и НМА.
Можно конечно еще ВЫБОР КОГДА "субконто типа ОС" ТОГДА субконто1 ...
(14) например такой запрос
по некоторым инвестиция возвращал полностью одинаковые строки
Добавление ВЫБРАТЬ РАЗЛИЧНЫЕ - помогло.
Но в конечном итоге переделал через ОБЪЕДИНИТЬ ВСЕ - первый запрос проходил по субконто1, а второй по субконто2 (ну и условия в каждом на тип субконто)
|ВЫБРАТЬ
| ХозрасчетныйОстаткиИОбороты.Организация,
| ХозрасчетныйОстаткиИОбороты.Счет,
| ВЫБОР КОГДА ХозрасчетныйОстаткиИОбороты.Субконто1 ССЫЛКА Справочник.Склады ТОГДА ХозрасчетныйОстаткиИОбороты.Субконто2 ИНАЧЕ ХозрасчетныйОстаткиИОбороты.Субконто1 КОНЕЦ КАК Инвестиция,
| ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокДт КАК СНД,
| ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокКт КАК СНК,
| ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт КАК СКД,
| ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокКт КАК СКК,
| ХозрасчетныйОстаткиИОбороты.СуммаОборотДт КАК ДО,
| ХозрасчетныйОстаткиИОбороты.СуммаОборотКт КАК КО,
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(
| &ВыбНачПериода,
| &ВыбКонПериода,
| ,
| ,
| Счет В
| (ВЫБРАТЬ
| втСчета15.Ссылка
| ИЗ
| втСчета15),
|) КАК ХозрасчетныйОстаткиИОбороты
Показатьпо некоторым инвестиция возвращал полностью одинаковые строки
Добавление ВЫБРАТЬ РАЗЛИЧНЫЕ - помогло.
Но в конечном итоге переделал через ОБЪЕДИНИТЬ ВСЕ - первый запрос проходил по субконто1, а второй по субконто2 (ну и условия в каждом на тип субконто)
(4) может хотя бы так?
ВЫБРАТЬ
ВЫРАЗИТЬ(ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Справочник.Номенклатура) КАК Значение
ПОМЕСТИТЬ ВТ_Номенклатура
ИЗ
РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, , , , , Субконто1 ССЫЛКА Справочник.Номенклатура) КАК ХозрасчетныйОстаткиИОбороты
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ВЫРАЗИТЬ(ХозрасчетныйОстаткиИОбороты.Субконто2 КАК Справочник.Номенклатура)
ИЗ
РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, , , , , Субконто2 ССЫЛКА Справочник.Номенклатура) КАК ХозрасчетныйОстаткиИОбороты
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ВЫРАЗИТЬ(ХозрасчетныйОстаткиИОбороты.Субконто3 КАК Справочник.Номенклатура)
ИЗ
РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, , , , , Субконто3 ССЫЛКА Справочник.Номенклатура) КАК ХозрасчетныйОстаткиИОбороты
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот