ПОМОГИТЕ
X

Привет дорогой друг

Наш сайт существует и развиваетется за счет рекламы. Пожалуйста, отключите блокировку рекламы AdBlock или подобное, для нашего сайта. Спасибо!
Показано с 1 по 3 из 3

Тема: ПОМОГИТЕ

Комбинированный просмотр

  1. #1
    Гость форума

    Регистрация
    31.08.2019
    Сообщений
    6
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию ПОМОГИТЕ

    У документа продажа товаров есть реквизит ПоСчету Тип ДокументСсылка.Счет
    Документ продажа вводиться на основании документа счет, нужно сделать так чтоб пользователь не поставил количество больше чем в документе основании счет. Я учусь на программиста, не опытный в обработке проведения продажи товаров вот кусок кода, который пишу для этого механизма: без этого куска, проведение все свои функции выполняет, не знаю как обратиться к счету основанию количеству, ошибки выдает, или цикл с условным не правильно построил?:
    сООБ.jpg

  2. #2
    Гость форума

    Регистрация
    31.08.2019
    Сообщений
    6
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию Re: ПОМОГИТЕ

    Цитата Сообщение от Alex282 Посмотреть сообщение
    ИМХО в общем случае лучше работать в запросе. Нужно сделать две таблицы из табличных частей документа счет и документа продажи, сгруппировать табличную часть с товарами по наименованию ("схлопнуть" строки с одинаковым товаром), далее левым соединением двух таблиц по номенклатуре получить разницу, исключить пустые строки. Далее, просто уведомление пользователя и разрешить/запретить и т.д. Если документ продажи записан, то вообще все несложно.


    Сделал так, но условие не соблюдает, все равно проводит, если указываю в продаже заполненной на основании счета количество больше чем в счете
    Ошибка такая
    {Документ.ПродажаТоваров.М� �дульОбъекта(374)}: Операции сравнения на больше-меньше допустимы только для значений совпадающих примитивных типов (Булево, Число, Строка, Дата)
    ИначеЕсли ВыборкаДетальныеЗаписи.Ко� �ичествоПродажа >= ВыборкаДетальныеЗаписи.Ко� �ичествоСчет Тогда //кол дока < кол в счете


    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ПродажаТоваровТовары.Номе� �клатура,
    | СУММА(ПродажаТоваровТовар� �.Количество) КАК КоличествоПродажа,
    | ПродажаТоваровТовары.Ссыл� �а.Склад,
    | СУММА(СчетТовары.Количеств о) КАК КоличествоСчет
    |ИЗ
    | Документ.ПродажаТоваров.То вары КАК ПродажаТоваровТовары
    | ЛЕВОЕ СОЕДИНЕНИЕ Документ.Счет.Товары КАК СчетТовары
    | ПО ПродажаТоваровТовары.Номе� �клатура = СчетТовары.Номенклатура
    |
    |СГРУППИРОВАТЬ ПО
    | ПродажаТоваровТовары.Номе� �клатура,
    | ПродажаТоваровТовары.Ссыл� �а.Склад";
    //Запрос.УстановитьПараметр( "Ссылка", Ссылка);
    Результат = Запрос.Выполнить();
    ВыборкаДетальныеЗаписи = Результат.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Сл� �дующий() Цикл //теперь пишем в регистр.
    Если НЕ ЗначениеЗаполнено(ПоСчету) Тогда
    Продолжить;
    ИначеЕсли ВыборкаДетальныеЗаписи.Ко� �ичествоПродажа >= ВыборкаДетальныеЗаписи.Ко� �ичествоСчет Тогда //кол дока < кол в счете
    Отказ = Истина;
    Сообщение = Новый СообщениеПользователю;
    Сообщение.Текст = "Нельзя";
    Сообщение.Сообщить();
    Иначе
    Движение = Движения.РезервыНоменклат� �ры.Добавить();
    Движение.ВидДвижения = ВидДвиженияНакопления.Рас� �од;
    Движение.Период = Дата;
    Движение.Номенклатура = ВыборкаДетальныеЗаписи.Но� �енклатура;
    Движение.Склад = Склад;
    Движение.ПоСчету = Ссылка;
    Движение.Резерв = ВыборкаДетальныеЗаписи.Ко� �ичествоПродажа;

    // регистр СвободныеОстатки Расход
    Движение = Движения.СвободныеОстатки. Добавить();
    Движение.ВидДвижения = ВидДвиженияНакопления.Рас� �од;
    Движение.Период = Дата;
    Движение.Номенклатура = ВыборкаДетальныеЗаписи.Но� �енклатура;
    Движение.Склад = Склад;
    Движение.КоличествоВСвобо� �номОстатке = ВыборкаДетальныеЗаписи.Ко� �ичествоПродажа;
    КонецЕсли;

  3. #3
    Гость форума

    Регистрация
    31.08.2019
    Сообщений
    6
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию Re: ПОМОГИТЕ

    Все заработало, ошибка в деталях в запросе не указал, счет и документ ссылку в условиях, чтоб по конкретным докам отбиралось. Все заработало, спасибо.

Похожие темы

  1. ПОМОГИТЕ !!! IDE clon IDE Fatal Eror Помогите!!!
    от Adebt в разделе Носители информации
    Ответов: 0
    Последнее сообщение: 19.01.2011, 12:22
  2. Ответов: 1
    Последнее сообщение: 17.09.2010, 15:47

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •