Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
25 янв 2022, 05:33

ПриОткрытии

Автор Middle, 05 янв 2022, 17:10

0 Пользователей и 1 гость просматривают эту тему.

Middle

Цитата: LexaK от 09 янв 2022, 12:00так при Выгрузить все - отбор по Складу тоже НЕ НУЖЕН!!!
попробуйте использовать такой код
Процедура  Выгрузка(Группа,Все)
   
    Запрос = Новый Запрос;
    ТекстЗапроса =
    "ВЫБРАТЬ
    |    ЦеныАТТСрезПоследних.Склад,
    |    ЦеныАТТСрезПоследних.Номенклатура КАК Номенклатура,
    |    ЦеныАТТСрезПоследних.Цена КАК Цена
    |ПОМЕСТИТЬ ВТ_ЦеныРозничные";
   
    Если Все = 0 Тогда
      Запрос.УстановитьПараметр("Склад",Склад);   
      Запрос.УстановитьПараметр("Группа",Группа);   
        ТекстЗапроса = ТекстЗапроса +
        "
        |ИЗ
        |    РегистрСведений.ЦеныАТТ.СрезПоследних(, Склад = &Склад И Номенклатура В ИЕРАРХИИ(&Группа)) КАК ЦеныАТТСрезПоследних
        |
        |ИНДЕКСИРОВАТЬ ПО
        |    Номенклатура
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////";
       
    Иначе
        ТекстЗапроса = ТекстЗапроса +
        "
        |ИЗ
        |    РегистрСведений.ЦеныАТТ.СрезПоследних() КАК ЦеныАТТСрезПоследних
        |
        |ИНДЕКСИРОВАТЬ ПО
        |    Номенклатура
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////";
       
    КонецЕсли;
   
      ТекстЗапроса = ТекстЗапроса +
      "
      |ВЫБРАТЬ
      |    Штрихкоды.Штрихкод КАК Штрихкод,
      |    Штрихкоды.Владелец КАК Номенклатура
      |ПОМЕСТИТЬ ВТ_Штрихкоды
      |ИЗ
      |    РегистрСведений.Штрихкоды КАК Штрихкоды
      |
      |ИНДЕКСИРОВАТЬ ПО
      |    Номенклатура
      |;
      |
      |////////////////////////////////////////////////////////////////////////////////
      |ВЫБРАТЬ
      |    ВТ_ЦеныРозничные.Склад,
      |    ВТ_ЦеныРозничные.Номенклатура,
      |    ВТ_ЦеныРозничные.Цена,
      |    ВТ_Штрихкоды.Штрихкод
      |ИЗ
      |    ВТ_ЦеныРозничные КАК ВТ_ЦеныРозничные
      |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_Штрихкоды КАК ВТ_Штрихкоды
      |        ПО ВТ_ЦеныРозничные.Номенклатура = ВТ_Штрихкоды.Номенклатура";
   
   
    Запрос.Текст = ТекстЗапроса;   
//    Запрос.УстановитьПараметр("Склад",Склад);   
   
    //ТМС_Модуль.ВыгрузитьВКассы(Запрос.Выполнить().Выгрузить());     
    ТМС_Модуль.ВыгрузитьВКассыФронтол(Запрос.Выполнить().Выгрузить());     

КонецПроцедуры
Спасибо, работает_)

Middle


Подскажи пожалуйста еще.
Есть такой текст запроса:
Запрос = Новый Запрос;
ТекстЗапроса =
"ВЫБРАТЬ
| Нменклатура.Код КАК КодТов,
| ЦеныАТТСрезПоследних.Номенклатура КАК Номенклатура,
| ЦеныАТТСрезПоследних.Цена КАК Цена,
| Штрихкоды.Штрихкод КАК Штрихкод,
| Нменклатура.ТМС_Организация.Код КАК ОтделОрганизация,
| Нменклатура.ЦеноваяГруппа.Код КАК ТовГруппа,
| Нменклатура.НоменклатурнаяГруппа.Код КАК НомГруппа,
| Нменклатура.ТМС_Организация.Наименование КАК ДопИнф,
| Нменклатура.ТМС_Организация.ПометкаУдаления КАК ПометкаУдаления,
| Нменклатура.Весовой КАК Весовой,
| Нменклатура.ТМС_Организация КАК Организация,
Нужно в него добавить строчку с остатком товара, "... КАК КоличествоОстаток". Где хранится остаток?

LexaK

@Middle,
ЦитироватьГде хранится остаток?
зависит от базы! в вашем случае, скорее всего в каком нибудь РегистреНакопления например ТоварыНаСкладах
посмотрите свои регистры, в запросе, левым соединение подключите
левое соединение РегистрНаколпения.<ИмяВашегоРегистра>.Остатки как РегОстатки
по ...Номенклатура = РегОстатки.Номенклатура
и ...Склад = РегОстатки.Склад  //если нужны остатки в разрезе по Складам
ответ Понравился? (в смысле пригодился?)

Middle

Цитата: LexaK от 10 янв 2022, 11:35@Middle,
ЦитироватьГде хранится остаток?
зависит от базы! в вашем случае, скорее всего в каком нибудь РегистреНакопления например ТоварыНаСкладах
посмотрите свои регистры, в запросе, левым соединение подключите
левое соединение РегистрНаколпения.<ИмяВашегоРегистра>.Остатки как РегОстатки
по ...Номенклатура = РегОстатки.Номенклатура
и ...Склад = РегОстатки.Склад  //если нужны остатки в разрезе по Складам
Если в "ТоварыНаСкладах", верно:?
Запрос = Новый Запрос;
ТекстЗапроса =
"ВЫБРАТЬ
| Нменклатура.Код КАК КодТов,
| ЦеныАТТСрезПоследних.Номенклатура КАК Номенклатура,
| ЦеныАТТСрезПоследних.Цена КАК Цена,
| Штрихкоды.Штрихкод КАК Штрихкод,
| Нменклатура.ТМС_Организация.Код КАК ОтделОрганизация,
| Нменклатура.ЦеноваяГруппа.Код КАК ТовГруппа,
| Нменклатура.НоменклатурнаяГруппа.Код КАК НомГруппа,
| Нменклатура.ТМС_Организация.Наименование КАК ДопИнф,
| Нменклатура.ТМС_Организация.ПометкаУдаления КАК ПометкаУдаления,
| Нменклатура.Весовой КАК Весовой,
| Нменклатура.ТМС_Организация КАК Организация,
| РегОстатки.КоличествоОстаток КАК КоличествоОстаток
|ИЗ
| Справочник.Номенклатура КАК Нменклатура
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК Штрихкоды
| ПО Нменклатура.Ссылка = Штрихкоды.Владелец
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныАТТ.СрезПоследних(, Склад = &Склад) КАК ЦеныАТТСрезПоследних
| ПО Нменклатура.Ссылка = ЦеныАТТСрезПоследних.Номенклатура";
|       ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакоплений.ТоварыНаСкладах.Остатки КАК РегОстатки
| ПО Нменклатура.Ссылка = РегОстатки.Номенклатура

LexaK

@Middle,
ЦитироватьЕсли в "ТоварыНаСкладах", верно:?
конечно же НЕТ!!!
я же написал, смотрите в конфигурации своей базы! какие у ВАС регистры!

(примечание) по Внутреннее соединение - у вас в результате не будет товаров с нулевым остатком
ответ Понравился? (в смысле пригодился?)

Middle

Цитата: LexaK от 10 янв 2022, 12:25@Middle,
ЦитироватьЕсли в "ТоварыНаСкладах", верно:?
конечно же НЕТ!!!
я же написал, смотрите в конфигурации своей базы! какие у ВАС регистры!

(примечание) по Внутреннее соединение - у вас в результате не будет товаров с нулевым остатком
Хорошо, понял. Регистры посмотрел какие есть, выбрал три. Вопрос, где написать запрос, чтобы проверить в каком из храниться остатки? Создавать обработку с запросом?

LexaK

@Middle,
ЦитироватьВопрос, где написать запрос, чтобы проверить в каком из храниться остатки? Создавать обработку с запросом?

эээ, есть такая обработка КонсольЗапросов, (на диске ИТС точно есть, название может варьироваться)

в это обработке, в режиме предприятия, как раз можно писать различные запросы к базе,
проверять, отлаживать, смотреть результаты

после чего, текст запроса перенести в программный код обработки.
ответ Понравился? (в смысле пригодился?)

Middle

Цитата: LexaK от 10 янв 2022, 13:38@Middle,
ЦитироватьВопрос, где написать запрос, чтобы проверить в каком из храниться остатки? Создавать обработку с запросом?

эээ, есть такая обработка КонсольЗапросов, (на диске ИТС точно есть, название может варьироваться)

в это обработке, в режиме предприятия, как раз можно писать различные запросы к базе,
проверять, отлаживать, смотреть результаты

после чего, текст запроса перенести в программный код обработки.
Нашел такую EPF. Нужен монопольный доступ? или можно работать, когда есть активные подключения?


LexaK

вооот! Запускается! Замечательно! вот в ней пиши и выполняй свой запрос! внизу в табличке будет результат (или не будет)
там наверняка даже Конструктор запросов должен быть ПКМ нажми (ну это на любителя)
ответ Понравился? (в смысле пригодился?)

Middle

Цитата: LexaK от 10 янв 2022, 14:33вооот! Запускается! Замечательно! вот в ней пиши и выполняй свой запрос! внизу в табличке будет результат (или не будет)
там наверняка даже Конструктор запросов должен быть ПКМ нажми (ну это на любителя)
Спасибо. буду пробовать. Поднял пока базу тестовую из бэкапа, пока на ней потренируюсь.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск