helpf.pro
Регистрация
 0 
Распечатать

Размещение колонки с остатками в списке, использование ПриПолученииДанных

Вариант 1: В процедуре ПриПолученииДанных
Код 1C v 8.х
 Перем Запрос;
Процедура ПриОткрытии()

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Рег.Номенклатура,
| Рег.КоличествоОстаток
|ИЗ
| РегистрНакопления.ТоварыНаСкладах.Остатки(
| ,
| Склад = &Склад
| И Номенклатура В (&Номенклатура)) КАК Рег";

Запрос.УстановитьПараметр("Склад", Склад);
КонецПроцедуры

Процедура СправочникСписокПриПолученииДанных(Элемент, ОформленияСтрок)
Если Элемент.Колонки.Остаток.Видимость Тогда
МассивНоменклатуры = Новый Массив;
Для Каждого ОформлениеСтроки ИЗ ОформленияСтрок Цикл
Если НЕ ОформлениеСтроки.ДанныеСтроки.ЭтоГруппа Тогда
МассивНоменклатуры.Добавить(ОформлениеСтроки.ДанныеСтроки.Ссылка);
КонецЕсли;
КонецЦикла;

Запрос.УстановитьПараметр("Номенклатура", МассивНоменклатуры);
тзОстатки = Запрос.Выполнить().Выгрузить();
// Для ускорения - вместо тзОстатки еще можно использовать Соответствие,
// оно проиндексировано и работает быстрее таблицы значений
Для Каждого ОформлениеСтроки ИЗ ОформленияСтрок Цикл
Если НЕ ОформлениеСтроки.ДанныеСтроки.ЭтоГруппа Тогда
СтрТЗ = тзОстатки.Найти(ОформлениеСтроки.ДанныеСтроки.Ссылка, "Номенклатура");
Если СтрТЗ <> Неопределено Тогда
ОформлениеСтроки.Ячейки.Остаток.УстановитьТекст(СтрТЗ.КоличествоОстаток);
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецПроцедуры

Вариант 2: Кэширование остатков в тз при открытии
Код 1C v 8.х
 Перем тзОстатки;
Процедура ПриОткрытии()

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Рег.Номенклатура,
| Рег.КоличествоОстаток
|ИЗ
| РегистрНакопления.ТоварыНаСкладах.Остатки(
| ,
| Склад = &Склад) КАК Рег";

Запрос.УстановитьПараметр("Склад", Склад);
тзОстатки = Запрос.Выполнить().Выгрузить();
КонецПроцедуры

Процедура СправочникСписокПриПолученииДанных(Элемент, ОформленияСтрок)
Если Элемент.Колонки.Остаток.Видимость Тогда
Для Каждого ОформлениеСтроки ИЗ ОформленияСтрок Цикл
Если НЕ ОформлениеСтроки.ДанныеСтроки.ЭтоГруппа Тогда
СтрТЗ = тзОстатки.Найти(ОформлениеСтроки.ДанныеСтроки.Ссылка, "Номенклатура");
Если СтрТЗ <> Неопределено Тогда
ОформлениеСтроки.Ячейки.Остаток.УстановитьТекст(СтрТЗ.КоличествоОстаток);
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Разместил:   Версии: | 8.x |  Дата:   Прочитано: 6903
 0 
Распечатать
Возможно, вас также заинтересует
Как заполнить табличную часть формы программно? 2
Нужно по кнопке Заполнить - сформировать данные для заполнения табличных частей и заполнить их. Форма имеет вид: Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ , код ее команды: // Код...
1C медленно работает по сети с базой на SQL Server 8
Данное обстоятельство может быть обусловлено многими причинами. Одна из них - неоптимальная настройка MS SQL . Перечислим неоптимальности в настройке: 1) Неправильно указанный сетевой протокол, используемый для...
1Cv8.1CD - Файл данных достиг максимального размера! 3
1С выдает предупреждение " Файл данных достиг максимального размера" . Подскажите из - за чего это и как можно решить ? Превышен размер файла, обычно это сообщение возникает, когда размер файла 1Cv8.1CD приближается к 10...
Cодержимое указанного ниже веб-сайта в этом приложении блокируется... Aboutsecurity_1cv8c.exe 0
Проблема: После обновления на 1С:Бухгалтерию предприятия 3-й версии, при нажатии на закладку командного интерфейса 1С:предприятие, выскакивает ошибка: Aboutsecurity_1cv8c.exe или Aboutsecurity_1cv8.exe «Содержимое указанного ниже...
Microsift Visual C++ Runtime Library Program ...1cv77s.exe abnormal program termination 0
При запуске 1С 7.7 выдает сообщение: Microsift Visual C++ Runtime Library Program C:Program Files1Cv77BIN1cv77s.exe abnormal program termination Вариант 1. Обычно это происходит, когда повреждается файл регистрации. Точнее, когда не дописывает
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.