|
Как сделать вывод сообщения пользователю в табл часть? | ☑ | ||
---|---|---|---|---|
0
program345
29.03.15
✎
10:36
|
Добрый день!
Имеется код: // Процедура ОбработкаПроведения(Отказ, Режим) // регистр ТоварыНаСкладах Расход Движения.ТоварыНаСкладах.Записывать = Истина; МассивТоваров = Новый Массив; Для Каждого ТекСтрокаТовары Из Товары Цикл Движение = Движения.ТоварыНаСкладах.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = Дата; Движение.Номенклатура = ТекСтрокаТовары.Номенклатура; Движение.Цена = ТекСтрокаТовары.Цена; Движение.Количество = ТекСтрокаТовары.Количество; Движение.Контрагент = Контрагент; МассивТоваров.Добавить(ТекСтрокаТовары.Номенклатура); КонецЦикла; Движения.Записать(); //РегистрыНакопления.ТоварыНаСкладах.Остатки().Найти(ТекСтрокаТовары.Номенклатура,"Номенклатура") Запрос = Новый Запрос("ВЫБРАТЬ | ТоварыНаСкладахОстатки.Номенклатура, | ТоварыНаСкладахОстатки.КоличествоОстаток |ИЗ | РегистрНакопления.ТоварыНаСкладах.Остатки(, Номенклатура В (&Товары)) КАК ТоварыНаСкладахОстатки |ГДЕ | ТоварыНаСкладахОстатки.КоличествоОстаток < 0"); Запрос.УстановитьПараметр("Товары", МассивТоваров); Результат = Запрос.Выполнить(); Если Не Результат.Пустой() Тогда Отказ = Истина; Выгрузка = Результат.Выгрузить(); Для каждого Строка Из Выгрузка Цикл //Сообщить("Не хватает " + (Строка.КоличествоОстаток*-1) + " единиц товара "+ Строка.Номенклатура); Сообщение = Новый СообщениеПользователю(); Сообщение.Текст = "Не хватает " + (Строка.КоличествоОстаток*-1) + " единиц товара "+ Строка.Номенклатура; Сообщение.Поле = "Номенклатура[1].Количество"; Сообщение.УстановитьДанные(ЭтотОбъект); Сообщение.Сообщить(); КонецЦикла; КонецЕсли; КонецПроцедуры // Требуется вывод сообщения пользователю непосредственно над Номенклатурой товаров, которого недостаточно, как наладить? |
|||
1
Fragster
гуру
29.03.15
✎
10:45
|
убери "установить данные"
|
|||
2
program345
29.03.15
✎
10:52
|
(1) убрал, не помогло, окошко перестало выходить
|
|||
3
program345
29.03.15
✎
10:59
|
Если Не Результат.Пустой() Тогда
Отказ = Истина; Выгрузка = Результат.Выгрузить(); Для каждого Строка Из Выгрузка Цикл //Сообщить("Не хватает " + (Строка.КоличествоОстаток*-1) + " единиц товара "+ Строка.Номенклатура); Сообщение = Новый СообщениеПользователю(); Сообщение.Текст = "Не хватает " + (Строка.КоличествоОстаток*-1) + " единиц товара "+ Строка.Номенклатура; Сообщение.Поле = "Товары[товары.найти(Строка.Номенклатура).НомерСтроки].Номенклатура"; //товары.найти(Строка.Номенклатура).НомерСтроки КонецЦикла; Сообщение.УстановитьДанные(ЭтотОбъект); Сообщение.Сообщить(); КонецЕсли; так выходит только для 1 строки ТЧ |
|||
4
program345
29.03.15
✎
11:15
|
//
Сообщение = Новый СообщениеПользователю(); Для каждого Строка Из Выгрузка Цикл //Сообщить("Не хватает " + (Строка.КоличествоОстаток*-1) + " единиц товара "+ Строка.Номенклатура); Сообщение.Текст = "Не хватает " + (Строка.КоличествоОстаток*-1) + " единиц товара "+ Строка.Номенклатура; Сообщение.Поле = "Товары[товары.найти(Строка.Номенклатура).НомерСтроки-1].Номенклатура"; Сообщение.УстановитьДанные(ЭтотОбъект); Сообщение.Сообщить(); //товары.найти(Строка.Номенклатура).НомерСтроки КонецЦикла; // так должно работать но увы |
|||
5
program345
29.03.15
✎
12:24
|
вот решение:
// Процедура ОбработкаПроведения(Отказ, Режим) // регистр ТоварыНаСкладах Расход МассивТоваров = Новый Массив; Для Каждого ТекСтрокаТовары Из Товары Цикл Движение = Движения.ТоварыНаСкладах.ДобавитьРасход(); Движение.Период = Дата; Движение.Номенклатура = ТекСтрокаТовары.Номенклатура; Движение.Количество = ТекСтрокаТовары.Количество; КонецЦикла; Движения.ТоварыНаСкладах.Записать(); #область моя //Движения.Записать(); ////РегистрыНакопления.ТоварыНаСкладах.Остатки().Найти(ТекСтрокаТовары.Номенклатура,"Номенклатура") // //Запрос = Новый Запрос("ВЫБРАТЬ // | ТоварыНаСкладахОстатки.Номенклатура, // | ТоварыНаСкладахОстатки.КоличествоОстаток // |ИЗ // | РегистрНакопления.ТоварыНаСкладах.Остатки(, Номенклатура В (&Товары)) КАК ТоварыНаСкладахОстатки // |ГДЕ // | ТоварыНаСкладахОстатки.КоличествоОстаток < 0"); // //Запрос.УстановитьПараметр("Товары", МассивТоваров); //Результат = Запрос.Выполнить(); //Если Не Результат.Пустой() Тогда // // Отказ = Истина; // Выгрузка = Результат.Выгрузить(); // // Сообщение = Новый СообщениеПользователю(); // // Для каждого Строка Из Выгрузка Цикл // // //Сообщить("Не хватает " + (Строка.КоличествоОстаток*-1) + " единиц товара "+ Строка.Номенклатура); // Сообщение.Текст = "Не хватает " + (Строка.КоличествоОстаток*-1) + " единиц товара "+ Строка.Номенклатура; // Сообщение.Поле = "Товары[товары.найти(Строка.Номенклатура).НомерСтроки-1].Количество"; // Сообщение.УстановитьДанные(ЭтотОбъект); // Сообщение.Сообщить(); // // //товары.найти(Строка.Номенклатура).НомерСтроки // КонецЦикла; // //КонецЕсли; #КонецОбласти Запрос = Новый Запрос("ВЫБРАТЬ | ТоварыНаСкладахОстатки.Номенклатура, | ТоварыНаСкладахОстатки.КоличествоОстаток КАК Нехватка, | Док.НомерСтроки |ИЗ | РегистрНакопления.ТоварыНаСкладах.Остатки( | &Момент, | Номенклатура В | (ВЫБРАТЬ РАЗЛИЧНЫЕ | РеализацияТоваровИУслугТовары.Номенклатура | ИЗ | Документ.РеализацияТоваровИУслуг.Товары КАК РеализацияТоваровИУслугТовары | ГДЕ | РеализацияТоваровИУслугТовары.Ссылка = &Ссылка)) КАК ТоварыНаСкладахОстатки | ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | РеализацияТоваровИУслугТовары.Номенклатура КАК Номенклатура, | МАКСИМУМ(РеализацияТоваровИУслугТовары.НомерСтроки) КАК НомерСтроки | ИЗ | Документ.РеализацияТоваровИУслуг.Товары КАК РеализацияТоваровИУслугТовары | ГДЕ | РеализацияТоваровИУслугТовары.Ссылка = &Ссылка | | СГРУППИРОВАТЬ ПО | РеализацияТоваровИУслугТовары.Номенклатура) КАК Док | ПО ТоварыНаСкладахОстатки.Номенклатура = Док.Номенклатура |ГДЕ | ТоварыНаСкладахОстатки.КоличествоОстаток < 0"); Запрос.УстановитьПараметр("Ссылка", Ссылка); Граница = Новый Граница(МоментВремени(), ВидГраницы.Включая); Запрос.УстановитьПараметр("Момент", Граница); Результат = Запрос.Выполнить(); Если Не Результат.Пустой() Тогда Отказ = Истина; Выборка = Результат.Выбрать(); Пока Выборка.Следующий() Цикл Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Нехватка товара в кол-ве" + (-Выборка.Нехватка); Сообщение.Поле = "Товары["+(Выборка.НомерСтроки-1)+"].Количество"; Сообщение.УстановитьДанные(ЭтотОбъект); Сообщение.Сообщить(); КонецЦикла; КонецЕсли; КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |