powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / найти группу Номенклатуру и поместить в запрос 7.7 (ОЛЕ)
7 сообщений из 7, страница 1 из 1
найти группу Номенклатуру и поместить в запрос 7.7 (ОЛЕ)
    #37756527
bura_limon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нужна ваша помощь,в 8.2 подключаюсь к 7.7 и хочу получить остатки:

ВыбранКод = "";
КодГруппа = "00000002";
Если НомГруппа.НайтиПоКоду(КодГруппа) = 1 Тогда
Если НомГруппа.ЭтоГруппа()= 1 Тогда;
ВыбранКод = НомГруппа.ТекущийЭлемент();
// ВыбранКод = НомГруппа.ИспользоватьРодителя(НомГруппа.ТекущийЭлемент());
Иначе
Сообщить(ОписаниеОшибки());
КонецЕсли;
КонецЕсли;

КодДоватораСклад = "00001";
Если НомСклад.НайтиПоКоду(КодДоватораСклад) = 1 Тогда
НужныйСклад = НомСклад.ТекущийЭлемент();
Иначе
Сообщить(ОписаниеОшибки());
КонецЕсли;

Запрос = V7.CreateObject("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Период с '"+ДатаКонец+"' по '"+ДатаКонец+"';
|Номенклатура = Регистр.ОстаткиТМЦ.Номенклатура;
|Код = Регистр.ОстаткиТМЦ.Номенклатура.Код;
|Количество = Регистр.ОстаткиТМЦ.Количество;
|Склад = Регистр.ОстаткиТМЦ.Склад;
|Функция КоличествоКонОст = КонОст(Количество);
|Группировка Номенклатура;
|Условие(Номенклатура в '"+НомГруппа.ТекущийЭлемент()+"');
|Условие(Склад = '"+НужныйСклад+"');
|"//}}ЗАПРОС
;
в данном случаи находит саму группу,а нужно группу со всеми элементами справочника входящ.в эту группу.
...
Рейтинг: 0 / 0
найти группу Номенклатуру и поместить в запрос 7.7 (ОЛЕ)
    #37756794
Zerro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
запрос же возвращает все номенклатуры с остатками? что не так?
...
Рейтинг: 0 / 0
найти группу Номенклатуру и поместить в запрос 7.7 (ОЛЕ)
    #37756811
bura_limon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
мне нужно выбрать определенную группу номенклатуру,и по определенному складу,номенклатуры слишком много
...
Рейтинг: 0 / 0
найти группу Номенклатуру и поместить в запрос 7.7 (ОЛЕ)
    #37756817
Zerro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
замени в на = тут |Условие(Номенклатура в '"+НомГруппа.ТекущийЭлемент()+"');
...
Рейтинг: 0 / 0
найти группу Номенклатуру и поместить в запрос 7.7 (ОЛЕ)
    #37756911
bura_limon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
раньше так было :
ВыбранКод = "";
КодГруппа = "00000002";
Если НомГруппа.НайтиПоКоду(КодГруппа) = 1 Тогда
Если НомГруппа.ЭтоГруппа()= 1 Тогда;
ВыбранКод = НомГруппа.ТекущийЭлемент();
// ВыбранКод = НомГруппа.ИспользоватьРодителя(НомГруппа.ТекущийЭлемент());
Иначе
Сообщить(ОписаниеОшибки());
КонецЕсли;
КонецЕсли;

КодДоватораСклад = "00001";
Если НомСклад.НайтиПоКоду(КодДоватораСклад) = 1 Тогда
НужныйСклад = НомСклад.ТекущийЭлемент();
Иначе
Сообщить(ОписаниеОшибки());
КонецЕсли;

Запрос = V7.CreateObject("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Период с '"+ДатаКонец+"' по '"+ДатаКонец+"';
|Номенклатура = Регистр.ОстаткиТМЦ.Номенклатура;
|Код = Регистр.ОстаткиТМЦ.Номенклатура.Код;
|Количество = Регистр.ОстаткиТМЦ.Количество;
|Склад = Регистр.ОстаткиТМЦ.Склад;
|Функция КоличествоКонОст = КонОст(Количество);
|Условие(Номенклатура в '"+ВыбранКод+"');
|Условие(Склад = '"+НужныйСклад+"');
|"//}}ЗАПРОС
;
...
Рейтинг: 0 / 0
найти группу Номенклатуру и поместить в запрос 7.7 (ОЛЕ)
    #37757392
Zerro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в чем разница? Опишите подробнее что вы хотите и что выдает сейчас. Непонятно малость
...
Рейтинг: 0 / 0
найти группу Номенклатуру и поместить в запрос 7.7 (ОЛЕ)
    #37758438
bura_limon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разницы не какой,в запрос не попадает группа ВыбранКод(со всеми входящие элементами справочниками).Вообщем так сделал:

Запрос = V7.CreateObject("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Период с '"+ДатаКонец+"' по '"+ДатаКонец+"';
|Номенклатура = Регистр.ОстаткиТМЦ.Номенклатура;
|Код = Регистр.ОстаткиТМЦ.Номенклатура.Код;
|Количество = Регистр.ОстаткиТМЦ.Количество;
|Склад = Регистр.ОстаткиТМЦ.Склад;
|Функция КоличествоКонОст = КонОст(Количество);
|Группировка Код Без Групп;
|Группировка Номенклатура Без Групп;
|"//}}ЗАПРОС
;

Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;


ТабЗагрузка=Новый ТаблицаЗначений;
ТабЗагрузка=Новый ТаблицаЗначений;
ТабЗагрузка.Колонки.Добавить("Номенклатура");
ТабЗагрузка.Колонки.Добавить("Код");
ТабЗагрузка.Колонки.Добавить("КонОстаток",Новый ОписаниеТипов("Число"));

Запрос.вНачалоВыборки();
Пока Запрос.Группировка("Код") = 1 Цикл
Пока Запрос.Группировка("Номенклатура") = 1 Цикл
Если ЗначениеЗаполнено(Запрос.Код) Тогда
Если Запрос.Номенклатура.Родитель.Код = ВыбранКод.Код Тогда
Если Запрос.Склад.Код = НужныйСклад.Код Тогда
Если Запрос.Номенклатура.ЭтоГруппа()= 1 Тогда Продолжить;
КонецЕсли;
КонОстатокБаза = Запрос.КоличествоКонОст;
КонОстатка = Число(Прав(КонОстатокБаза,8));
Если КонОстатка > 0 Тогда
Новстр =ТабЗагрузка.Добавить();
ОфигенныйКод = Запрос.Код;
Новстр.Код = "TD_"+ОфигенныйКод;
Новстр.Номенклатура = Запрос.Номенклатура.Наименование;
Новстр.КонОстаток = КонОстатка;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЦикла;
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / найти группу Номенклатуру и поместить в запрос 7.7 (ОЛЕ)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]