AI University / Промпты / Код и разработка
Код и разработка

Промпт: запрос на языке 1С

Запрос 1С:Предприятие по описанию задачи. Готовый промт на русском: скопируйте, подставьте свои данные и вставьте в GigaChat, YandexGPT, ChatGPT, Claude или Gemini.

Проверено на: GigaChatChatGPTClaudeGemini · Обновлено 01.10.2026

Текст промпта

Ты программист 1С. Напиши запрос на языке запросов 1С:Предприятие 8.3 для конфигурации {config}. Задача: {task}. Используй виртуальные таблицы регистров с параметрами, а не отбор в ГДЕ, где это правильно. Дай запрос, пояснение, как передать параметры, и как вывести результат в табличный документ или СКД.

Что подставить в промт

ПолеПример
{config}«Управление торговлей 11»
{task}остатки товаров на складе «Основной» на дату с ценой закупки и суммой, только ненулевые

Ответы нейросетей на этот промпт

Один и тот же промпт с примером выше, ответы без правок: выберите нейросеть, которой пользуетесь, и посмотрите, что она выдаёт.

GigaChat 2 Max01.10.2026

Решение

Для получения остатков товаров на определённом складе с учётом цены закупки и суммы (с исключением нулевых остатков), используем виртуальную таблицу регистра накопления «ОстаткиИДоступностьТоваровНаСкладах».

Запрос на языке запросов 1С:
ВЫБРАТЬ
    Остатки.Номенклатура КАК Номенклатура,
    Остатки.Склад КАК Склад,
    Остатки.КоличествоОстаток КАК Количество,
    ВЫБОР
        КОГДА Остатки.ПустаяСтрока() ТОГДА 0
        ИНАЧЕ ПОЛУЧИТЬЦЕНУПОКУПКИ(Остатки.Номенклатура)
    КОНЕЦ КАК ЦенаЗакупки,
    Остатки.КоличествоОстаток * ВЫБОР
            КОГДА Остатки.ПустаяСтрока() ТОГДА 0
            ИНАЧЕ ПОЛУЧИТЬЦЕНУПОКУПКИ(Остатки.Номенклатура)
       КОНЕЦ КАК Сумма
ИЗ
    РегистрНакопления.ОстаткиИДоступностьТоваровНаСкладах.Остатки(
        &ДатаОтчета,
        Склады = &Склад
    ) КАК Остатки
ГДЕ
    Остатки.КоличествоОстаток > 0
Параметры запроса:
Как использовать функцию ПОЛУЧИТЬЦЕНУПОКУПКИ()?

Эта функция должна получать последнюю закупочную цену товара на указанную дату или ранее. Пример реализации функции можно сделать так:

Функция ПолучитьЦенаЗакупки(Номенклатура, ДатаОтчета)
    Запрос = Новый Запрос();
    Запрос.Текст =
    "ВЫБРАТЬ ПЕРВЫЕ 1
         ТоварыПоСериямСредняяСтоимостьПоследняяСредняяСтоимость КАК СредняяСтоимость
     ИЗ
         РегистрНакопления.ТоварыПоСериям.СредняяСтоимость(&Дата, Номенклатура = &Номенклатура) КАК ТоварыПоСериям";
    
    Запрос.УстановитьПараметр("Дата", ДатаОтчета);
    Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
    
    РезультатЗапроса = Запрос.Выполнить().Выгрузить();
    Если НЕ РезультатЗапроса.Пустой() Тогда
        Возврат РезультатЗапроса[0].СредняяСтоимость;
    Иначе
        Возврат 0;
    КонецЕсли;
КонецФункции

Таким образом, итоговый запрос будет корректно возвращать сумму исходя из средней стоимости последнего поступления.


Передача параметров в коде программы:

Перед выполнением запроса обязательно передайте необходимые значения параметров следующим образом:

// Подготовка параметров
МоиПараметры = Новый Структура;
МоиПараметры.Вставить("ДатаОтчета", ТекущаяДата());
МоиПараметры.Вставить("Склад", Справочники.Склады.НайтиПоНаименованию("Основной"));

// Выполнение запроса
Запрос = Новый Запрос;
Запрос.Текст = "<ТекстЗапроса>";
Запрос.УстановитьПараметры(МоиПараметры);
РезультатЗапроса = Запрос.Выполнить();
ТабДокумент = Новый ТабличныйДокумент;
РезультатЗапроса.Выгрузить(ТабДокумент);
ТабДокумент.Показать();

Или же можете сразу выводить результаты через систему компоновки данных (СКД):

// Создание схемы компоновки данных
СхемаКомпоновки = Новый СхемаКомпоновкиДанных;
СхемаКомпоновки.Имя = "Остаты_на_складе";
СхемаКомпоновки.Описание = "Остатки товаров на основном складе";

// Установка источника данных
ИсточникДанных = СхемаКомпоновки.ДобавитьИсточникДанных("РегистрНакопления.ОстаткиИДоступностьТоваровНаСкладах");

// Настройка структуры результата
НаборДанных = ИсточникДанных.ДобавитьНаборДанных("Остатки");
НаборДанных.Запрос = <ТекстЗапроса>;

// Получение отчета
НастройкиКомпоновки = СхемаКомпоновки.СоздатьНастройку();
Отчет = Новый ОтчетСистемыКомпоновкиДанных;
Отчет.ИспользоватьСхемуКомпоновки(СхемаКомпоновки, НастройкиКомпоновки);
Отчет.Вывести();

Итоговое представление данных:

Результатом выполнения данного запроса станет таблица с такими колонками:

НоменклатураСкладКол-воЦена закупкиСумма
Товар №1Основной5100500
Товар №2Основной1075750

Это обеспечит получение всех необходимых сведений по остаткам на выбранном складе с актуальной информацией о цене закупок и сумме остатков.

Советы

Как пользоваться
  1. Скопируйте промпт кнопкой выше.
  2. Замените поля в фигурных скобках своими данными.
  3. Отправьте в нейросеть и сравните ответ с примером на этой странице.

Подробнее о структуре хорошего запроса: гид AI University.

Похожие промпты

БесплатноРевью кодаРазбор кода: ошибки, безопасность, читаемость, с исправлениями.БесплатноОбъясни, что делает кодПонятное объяснение чужого кода по шагам.БесплатноТесты к функцииНабор юнит-тестов с крайними случаями.

Промпты работают лучше, когда понимаешь модель

56 официальных курсов Anthropic, OpenAI, Google и других на русском: первые уроки бесплатно, без VPN. Наборы промптов входят в полный доступ.

Полный доступ за 4 900 ₽