Отбор номенклатуры ,если остатки из другой базы.

1. dentoma51 8 20.08.17 18:46 Сейчас в теме
Всем,доброго здоровья!

Есть две базы БП 3.0. В первой базе создан регистр сведений,в котором хранятся остатки по товарам в количественном выражении и остатки эти собираются по результатам ввода документов в двух базах,а далее через ComConnect по расписанию идет обращение ко второй базе и забираются данные,чтобы сформировать текущий остаток товара.
Получается,что в первой базе в обработку Подбор номенклатуры просто внести изменение,чтобы вместо неправильного бухгалтерского остатка показывался текущий из нового регистра.

А вот как сделать новый Подбор номенклатуры во второй базе,где регистра с остатками собранными с двух баз - пока не получается.

Попробовал изменить запрос динамического списка Список номенклатуры по такой схеме:
1. Получаю из внешней базы через
Запрос1=БпДоп.NewObject("Запрос")
таблицу текущих остатков , пусть это будет ДинОст

2. Запрос дин.списка Список номенклатуры меняю на пакет запросов:

ТекстЗапроса = 
	"ВЫБРАТЬ
	|	ДинОст.Наименование,
	|	0 КАК ОстатокНаКонец
	|ПОМЕСТИТЬ ДинОст
	|ИЗ
	|	&ДинОст КАК ДинОст
	|;
	|
	|////////////////////////////////////////////////////////////­////////////////////
	|ВЫБРАТЬ
	|	СправочникНоменклатура.Ссылка КАК Ссылка,
        |   // ост. поля родного запроса
 
	|ПОМЕСТИТЬ ТабРодной
	|ИЗ
	|	Справочник.Номенклатура КАК СправочникНоменклатура
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки({(&ДатаОстаткиЦены)}, Счет В (&СчетаЗапасов), {(&ВидыСубконто)}, Организация В (&СписокОрганизаций) {(Подразделение) КАК Подразделение, (ВЫРАЗИТЬ(Субконто1 КАК Справочник.Номенклатура)).* КАК Ссылка, (Субконто2)}) КАК ОстаткиНаСкладе
	|		ПО СправочникНоменклатура.Ссылка = ОстаткиНаСкладе.Субконто1
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних({(&ДатаОстаткиЦены)}, Номенклатура В (&ДинОст) {(Номенклатура).* КАК Ссылка, (ТипЦен) КАК ТипЦен, (Валюта) КАК ВалютаЦены}) КАК ЦеныНоменклатуры
	|		ПО СправочникНоменклатура.Ссылка = ЦеныНоменклатуры.Номенклатура
	|ГДЕ
	|	НЕ СправочникНоменклатура.ЭтоГруппа
	|;
	|
	|////////////////////////////////////////////////////////////­////////////////////
	|ВЫБРАТЬ
	|	ТабОсн.Ссылка,
	|	ТабОсн.Услуга,
	|	ТабОсн.Наименование,
	|	ТабОсн.НаименованиеПолное,
	|	ТабОсн.Код,
	|	ТабОсн.Артикул,
	|	ТабОсн.ЕдиницаИзмерения,
	|	динОст.ОстатокНаКонец КАК КоличествоОстаток,
	|	ТабОсн.Цена КАК Цена,
	|	ТабОсн.Валюта КАК Валюта
	|ИЗ
	|	ТабРодной КАК ТабОсн
	|		ЛЕВОЕ СОЕДИНЕНИЕ ДинОст КАК динОст
	|		ПО ТабОсн.Наименование = динОст.Наименование"
	;
Показать


То есть надо,чтобы в запросе взялся остаток из таблицы.
Но когда начинается настройка списка в форме Подбора,то не находится параметр &ДинОст или тип его неправильный ,и все. С этим вариантом терплю поражение.

Пробую более простой вариант.
В обработке Подбор формируется таблица с остатками из другой базы.
В событии СписокНоменклатурыПриАктивизацииСтроки(Элемент)
надо остаток в Списке номенклатуры заменить из таблички.
Нарисовал такой код:

&НаКлиенте
Процедура СписокНоменклатурыПриАктивизацииСтроки(Элемент)
	// Вставить содержимое обработчика.
	Отбор = Новый Структура();
	Отбор.Вставить("Наименование",Элемент.ТекущиеДанные.Наименование);
	Строки = ДинОст.НайтиСтроки(Отбор);
	Если Строки.Количество() >0 Тогда
 	Элемент.ТекущиеДанные.КоличествоОстаток = Строки[0].ОстатокНаКонец;
	КонецЕсли;
	
КонецПроцедуры
Показать


Код срабатывает,остаток находится,подставляется.
Но,не происходит автоматическое изменение остатка на форме,а чтобы появилось это изменение,надо прокруткой поменять строки,ну как-то непонятно.
Друзья,прошу помочь,что неправильно делаю? Спасибо.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. alxarz 31 23.08.17 10:36 Сейчас в теме
(1)
Но,не происходит автоматическое изменение остатка на форме,а чтобы появилось это изменение,надо прокруткой поменять строки,ну как-то непонятно.

может не в процедуру СписокНоменклатурыПриАктивизацииСтроки добавлять код, а в процедуру СписокНоменклатурыПриПолуяенииДанных, или при СписокНоменклатурыПриВыводеСтроки ?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот