Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Остаток при оконч. редактир.          
bereznoy Подменю пользователя
сообщение 07.02.12, 0:43
Сообщение #1

Оратор
*****
Группа: Пользователи
Сообщений: 329
Из: Simferopol
Спасибо сказали: 9 раз
Рейтинг: 0

Документ заказ покупателя, юзер выбирает товар которого на остатке 5 едениц, ставит размещение склад, и проводит заказ с количеством 6 едениц текущей позиции, в итоге в свободном остатке -1, все вроде как надо, но вот захотелось юзеру при такой ситуации что б если остаток меньше чем в заказе, ему какое нить сообщение-предупреждение уведомляло об этом, я решил в процедуру
ТоварыПриОкончанииРедактирования
добавить запрос остатка товара и если остаток товара - кол-во в заказе < 0, тогда выдавать сообщение
Вся проблема в том что надо сформировать запрос по остаткам номенклатуры именно текущей строки

Запрос = Новый Запрос();
Запрос.Текст = "ВЫБРАТЬ
|    ТоварыНаСкладахОстатки.Номенклатура,
|    ТоварыНаСкладахОстатки.Склад,
|    ТоварыНаСкладахОстатки.КоличествоОстаток КАК Остаток
|ИЗ
|    РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
|ГДЕ
|    ТоварыНаСкладахОстатки.Склад = &Склад
|    И ТоварыНаСкладахОстатки.Номенклатура = &Номенклатура";
Запрос.УстановитьПараметр("Склад", СкладГруппа);
Запрос.УстановитьПараметр("Номенклатура", СтрокаТабличнойЧасти.Номенклатура);
РезультатЗапроса = Запрос.Выполнить().Выбрать();
Если РезультатЗапроса.Остаток - СтрокаТабличнойЧасти.Количество < 0
     Тогда Сообщить("На складе недостаточно товара " + СтрокаТабличнойЧасти.Номенклатура);
     КонецЕсли;
РезультатЗапроса.Следующий();


Signature
Ковыряю 1С 8.2.14.528 конфигурация УТП ред. 1.2.1.3
1С 8.3 (8.3.1.531) конфиг УТ 2.3.16.1
1С 7.7 Торговля+Склад

Ardi Подменю пользователя
сообщение 07.02.12, 1:12
Сообщение #2

Живет на форуме
***********
Гений телепатии и социального моделирования
Группа: Пользователи
Сообщений: 4121
Из: Киев
Спасибо сказали: 957 раз
Рейтинг: 0

Непонятно.


Signature
Услуги 1С программиста 8.2, 7.7 (Плохо, дорого, очередь). Киев.

logist Подменю пользователя
сообщение 07.02.12, 2:51
Сообщение #3

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2539 раз
Рейтинг: 0

А проблема то в чем?

Запрос = Новый Запрос();
Запрос.Текст = "ВЫБРАТЬ
|    ТоварыНаСкладахОстатки.Номенклатура,
|    ТоварыНаСкладахОстатки.Склад,
|    ТоварыНаСкладахОстатки.КоличествоОстаток КАК Остаток
|ИЗ
|    РегистрНакопления.ТоварыНаСкладах.Остатки(
|            &Дата,
|            Номенклатура = &Номенклатура
|                И Склад = &Скалад) КАК ТоварыНаСкладахОстатки
|ГДЕ
|    ТоварыНаСкладахОстатки.КоличествоОстаток < &Количество";
Запрос.УстановитьПараметр("Дата", Дата);
Запрос.УстановитьПараметр("Склад", СкладГруппа);
Запрос.УстановитьПараметр("Номенклатура", СтрокаТабличнойЧасти.Номенклатура);
Запрос.УстановитьПараметр("Количество", СтрокаТабличнойЧасти.Количество);
РезультатЗапроса = Запрос.Выполнить().Выбрать();
Если РезультатЗапроса.Следующий() Тогда
     Сообщить("На складе недостаточно товара: " + РезультатЗапроса.Номенклатура);
КонецЕсли;



p.s. и событие наверное лучше вызывать при "ПриИзменении" Количества, Номенкатуры


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: bereznoy,

bereznoy Подменю пользователя
сообщение 07.02.12, 11:21
Сообщение #4

Оратор
*****
Группа: Пользователи
Сообщений: 329
Из: Simferopol
Спасибо сказали: 9 раз
Рейтинг: 0

Сделал при изменении номенклатуры, в отладчике СкладГруппа видно что правильно видит,но ошибку выдает на параметр Склад
Процедура ТоварыНоменклатураПриИзменении(Элемент)

    ПриИзмененииНоменклатурыТовары(Элемент);
Данные = ЭлементыФормы.Товары.ТекущиеДанные;
Запрос = Новый Запрос();
Запрос.Текст = "ВЫБРАТЬ
|    ТоварыНаСкладахОстатки.Номенклатура,
|    ТоварыНаСкладахОстатки.Склад,
|    ТоварыНаСкладахОстатки.КоличествоОстаток КАК Остаток
|ИЗ
|    РегистрНакопления.ТоварыНаСкладах.Остатки(
|            &Дата,
|            Номенклатура = &Номенклатура
|                И Склад = &Скалад) КАК ТоварыНаСкладахОстатки
|ГДЕ
|    ТоварыНаСкладахОстатки.КоличествоОстаток < &Количество";
Запрос.УстановитьПараметр("Дата", Дата);
Запрос.УстановитьПараметр("Склад", СкладГруппа);
Запрос.УстановитьПараметр("Номенклатура", Данные.Номенклатура);
Запрос.УстановитьПараметр("Количество", Данные.Количество);
РезультатЗапроса = Запрос.Выполнить().Выбрать();
Если РезультатЗапроса.Следующий() Тогда
     Сообщить("На складе недостаточно товара: " + РезультатЗапроса.Номенклатура);
КонецЕсли;


КонецПроцедуры // ТоварыНоменклатураПриИзменении()


Signature
Ковыряю 1С 8.2.14.528 конфигурация УТП ред. 1.2.1.3
1С 8.3 (8.3.1.531) конфиг УТ 2.3.16.1
1С 7.7 Торговля+Склад

Vofka Подменю пользователя
сообщение 07.02.12, 11:25
Сообщение #5

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 14050
Из: Киев
Спасибо сказали: 4612 раз
Рейтинг: 3748.8

Разуваем глаза: Скалад

Спасибо сказали: bereznoy,

bereznoy Подменю пользователя
сообщение 07.02.12, 11:29
Сообщение #6

Оратор
*****
Группа: Пользователи
Сообщений: 329
Из: Simferopol
Спасибо сказали: 9 раз
Рейтинг: 0

Цитата(Vofka @ 07.02.12, 11:25) *
Разуваем глаза: Скалад

19000000.gif Жесть, рассмеялся аж! Спасибо


Signature
Ковыряю 1С 8.2.14.528 конфигурация УТП ред. 1.2.1.3
1С 8.3 (8.3.1.531) конфиг УТ 2.3.16.1
1С 7.7 Торговля+Склад

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 15.06.25, 16:54
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!