Показано с 1 по 3 из 3
Тема: ПОМОГИТЕ
Комбинированный просмотр
-
02.09.2019, 12:31 #1
- Регистрация
- 31.08.2019
- Сообщений
- 6
- Сказал(а) спасибо
- 0
- Поблагодарили 0 раз(а) в 0 сообщениях
ПОМОГИТЕ
У документа продажа товаров есть реквизит ПоСчету Тип ДокументСсылка.Счет
Документ продажа вводиться на основании документа счет, нужно сделать так чтоб пользователь не поставил количество больше чем в документе основании счет. Я учусь на программиста, не опытный в обработке проведения продажи товаров вот кусок кода, который пишу для этого механизма: без этого куска, проведение все свои функции выполняет, не знаю как обратиться к счету основанию количеству, ошибки выдает, или цикл с условным не правильно построил?:
сООБ.jpg
-
02.09.2019, 19:55 #2
- Регистрация
- 31.08.2019
- Сообщений
- 6
- Сказал(а) спасибо
- 0
- Поблагодарили 0 раз(а) в 0 сообщениях
Re: ПОМОГИТЕ
Сделал так, но условие не соблюдает, все равно проводит, если указываю в продаже заполненной на основании счета количество больше чем в счете
Ошибка такая
{Документ.ПродажаТоваров.М� �дульОбъекта(374)}: Операции сравнения на больше-меньше допустимы только для значений совпадающих примитивных типов (Булево, Число, Строка, Дата)
ИначеЕсли ВыборкаДетальныеЗаписи.Ко� �ичествоПродажа >= ВыборкаДетальныеЗаписи.Ко� �ичествоСчет Тогда //кол дока < кол в счете
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПродажаТоваровТовары.Номе� �клатура,
| СУММА(ПродажаТоваровТовар� �.Количество) КАК КоличествоПродажа,
| ПродажаТоваровТовары.Ссыл� �а.Склад,
| СУММА(СчетТовары.Количеств о) КАК КоличествоСчет
|ИЗ
| Документ.ПродажаТоваров.То вары КАК ПродажаТоваровТовары
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.Счет.Товары КАК СчетТовары
| ПО ПродажаТоваровТовары.Номе� �клатура = СчетТовары.Номенклатура
|
|СГРУППИРОВАТЬ ПО
| ПродажаТоваровТовары.Номе� �клатура,
| ПродажаТоваровТовары.Ссыл� �а.Склад";
//Запрос.УстановитьПараметр( "Ссылка", Ссылка);
Результат = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = Результат.Выбрать();
Пока ВыборкаДетальныеЗаписи.Сл� �дующий() Цикл //теперь пишем в регистр.
Если НЕ ЗначениеЗаполнено(ПоСчету) Тогда
Продолжить;
ИначеЕсли ВыборкаДетальныеЗаписи.Ко� �ичествоПродажа >= ВыборкаДетальныеЗаписи.Ко� �ичествоСчет Тогда //кол дока < кол в счете
Отказ = Истина;
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Нельзя";
Сообщение.Сообщить();
Иначе
Движение = Движения.РезервыНоменклат� �ры.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Рас� �од;
Движение.Период = Дата;
Движение.Номенклатура = ВыборкаДетальныеЗаписи.Но� �енклатура;
Движение.Склад = Склад;
Движение.ПоСчету = Ссылка;
Движение.Резерв = ВыборкаДетальныеЗаписи.Ко� �ичествоПродажа;
// регистр СвободныеОстатки Расход
Движение = Движения.СвободныеОстатки. Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Рас� �од;
Движение.Период = Дата;
Движение.Номенклатура = ВыборкаДетальныеЗаписи.Но� �енклатура;
Движение.Склад = Склад;
Движение.КоличествоВСвобо� �номОстатке = ВыборкаДетальныеЗаписи.Ко� �ичествоПродажа;
КонецЕсли;
-
02.09.2019, 21:46 #3
- Регистрация
- 31.08.2019
- Сообщений
- 6
- Сказал(а) спасибо
- 0
- Поблагодарили 0 раз(а) в 0 сообщениях
Re: ПОМОГИТЕ
Все заработало, ошибка в деталях в запросе не указал, счет и документ ссылку в условиях, чтоб по конкретным докам отбиралось. Все заработало, спасибо.
Похожие темы
-
ПОМОГИТЕ !!! IDE clon IDE Fatal Eror Помогите!!!
от Adebt в разделе Носители информацииОтветов: 0Последнее сообщение: 19.01.2011, 12:22 -
Господа, помогите с расчетом в Excel или помогите составить программу (очень нужно)!!
от koysara в разделе Прикладное программированиеОтветов: 1Последнее сообщение: 17.09.2010, 15:47
Социальные закладки