8.х Ограничения на заказы

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Maxwell, 20 май 2010.

  1. TopicStarter Overlay
    Maxwell
    Offline

    Maxwell

    Регистрация:
    20 май 2010
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    1
    Наверно, поднимаю избитый вопрос, но решение именно этой задачи не могу найти... Короче, задача следующая:
    Для каждого элемента справочника "номенклатура", в форме элемента, существует возможность задания числового "порога", т.е. при привышении данного количества единиц товара в документе "Внутренний заказ" проведение блокируется и выдаётся сообщение.
    Видел массу решений похожих задач, но адаптировать для этой не получается. Подскажите что-нибудь, PLZ
  2. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.639
    Симпатии:
    948
    Баллы:
    204
    Вам необходимо как это программно написать? Вы свою конфигурацию пишите?
  3. Доктор Руфус Бейли
    Offline

    Доктор Руфус Бейли Опытный в 1С

    Регистрация:
    7 апр 2010
    Сообщения:
    277
    Симпатии:
    0
    Баллы:
    26
    А в чём, собственно, проблема? Что мешает при проведении проверять состав табличной части документа и сравнивать с параметром "Порог" самого элемента?
  4. TopicStarter Overlay
    Maxwell
    Offline

    Maxwell

    Регистрация:
    20 май 2010
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    1
    Конфигурация УТ. Сложность состоит в проверке элементов номенклатуры в табличной части документа ВнутреннийЗаказ на наличие порога и сравнение его с текущими остатками на складе. Т.е. в запрос надо отправлять параметром только те товары, которые занесены в табличную часть документа. Запрос на перебор всех позиций номенклатуры, а затем сравнение его результатов с текущими позициями в таблице документа очень тяжёлый для системы.
  5. Siddy
    Offline

    Siddy Опытный в 1С

    Регистрация:
    18 мар 2009
    Сообщения:
    311
    Симпатии:
    0
    Баллы:
    26
    Воспользуйтесь виртуальными таблицами в запросе. Вообще, запрос не должен получаться особо громоздким... Показывайте, что получилось. Плюс, какой релиз УТ
  6. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Здраствуйте!
    Решение Вашей задачи

    Код:
    ТаблицаЗапроса = Товары.Выгрузить();
    ТаблицаЗапроса.Свернуть("Номенклатура", "Количество");
    
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    |	Товары.Номенклатура КАК НоменклатураТЧ,
    |	Товары.Количество
    |ПОМЕСТИТЬ Товары
    |ИЗ
    |	&Товары КАК Товары
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |	ВЫБОР
    |		КОГДА Номенклатура.Порог < Товары.Количество
    |			ТОГДА ЛОЖЬ
    |		ИНАЧЕ ИСТИНА
    |	КОНЕЦ КАК Использование,
    |	Товары.НоменклатураТЧ КАК Номенклатура
    |ИЗ
    |	Товары КАК Товары
    |		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
    |		ПО Товары.НоменклатураТЧ = Номенклатура.Ссылка
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |УНИЧТОЖИТЬ Товары";
    
    Запрос.УстановитьПараметр("Товары", ТаблицаЗапроса);
    Результат = Запрос.Выполнить().Выгрузить();
    
    Если НЕ Результат.Скопировать(Новый Структура("Использование", Ложь)).Количество() = 0 Тогда
    Отказ = Истина;
    КонецЕсли;
    
    т.е. передаёте ТЧ перемещения в запрос, обрабатываете и получаете таблицу с двумя колонками "Использование" и "Номенклатура", если есть использование Ложь, значит переменной процедуры "ОбработкаПроведения" присваеваем значение Ложь, 1С автоматически прервёт операцию проведения.
    Удачи!!!
  7. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.639
    Симпатии:
    948
    Баллы:
    204
    ДА на самом деле не понятно что мешало написать запрос либо на соединение как написали,либо Выгрузить колонку из ТЧ и передать ее в запрос как параметр....
Похожие темы
  1. chegi
    Ответов:
    1
    Просмотров:
    783
  2. r21083
    Ответов:
    1
    Просмотров:
    433
  3. Пастор
    Ответов:
    4
    Просмотров:
    781
Загрузка...

Поделиться этой страницей