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

ПриОткрытии

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

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

Middle

Цитата: Ивашка от 06 янв 2022, 11:19@Middle, выложи код выгрузки()
Процедура  Выгрузка(Группа,Все)

Запрос = Новый Запрос;
ТекстЗапроса =
"ВЫБРАТЬ
| ЦеныАТТСрезПоследних.Склад,
| ЦеныАТТСрезПоследних.Номенклатура КАК Номенклатура,
| ЦеныАТТСрезПоследних.Цена КАК Цена
|ПОМЕСТИТЬ ВТ_ЦеныРозничные";

Если Все = 0 Тогда
Запрос.УстановитьПараметр("Группа",Группа);
ТекстЗапроса = ТекстЗапроса +
"
|ИЗ
| РегистрСведений.ЦеныАТТ.СрезПоследних(, Склад = &Склад И Номенклатура В ИЕРАРХИИ(&Группа)) КАК ЦеныАТТСрезПоследних
|
|ИНДЕКСИРОВАТЬ ПО
| Номенклатура
|;
|
|////////////////////////////////////////////////////////////////////////////////";

Иначе
ТекстЗапроса = ТекстЗапроса +
"
|ИЗ
| РегистрСведений.ЦеныАТТ.СрезПоследних(, Склад = &Склад) КАК ЦеныАТТСрезПоследних
|
|ИНДЕКСИРОВАТЬ ПО
| Номенклатура
|;
|
|////////////////////////////////////////////////////////////////////////////////";

КонецЕсли;

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


Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("Склад",Склад);

//ТМС_Модуль.ВыгрузитьВКассы(Запрос.Выполнить().Выгрузить());
ТМС_Модуль.ВыгрузитьВКассыФронтол(Запрос.Выполнить().Выгрузить());

КонецПроцедуры

Ивашка

@Middle, в самом начале вставь код с предупреждением

Middle

Цитата: Ивашка от 06 янв 2022, 11:29@Middle, в самом начале вставь код с предупреждением
Вставил, получаю предупреждение - "Заполните склад!!!"

Если НЕ ЗначениеЗаполнено(Склад) Тогда
Предупреждение("Заполните склад!!!");
Возврат;
КонецЕсли;

Ивашка

 Попробуй так:
Процедура  Выгрузка(Группа,Все)

    Если ЗначениеЗаполнено(Склад) тогда

Запрос = Новый Запрос;
ТекстЗапроса =
"ВЫБРАТЬ
| ЦеныАТТСрезПоследних.Склад,
| ЦеныАТТСрезПоследних.Номенклатура КАК Номенклатура,
| ЦеныАТТСрезПоследних.Цена КАК Цена
|ПОМЕСТИТЬ ВТ_ЦеныРозничные";

Если Все = 0 Тогда
Запрос.УстановитьПараметр("Группа",Группа);
ТекстЗапроса = ТекстЗапроса +
"
|ИЗ
| РегистрСведений.ЦеныАТТ.СрезПоследних(, Склад = &Склад И Номенклатура В ИЕРАРХИИ(&Группа)) КАК ЦеныАТТСрезПоследних
|
|ИНДЕКСИРОВАТЬ ПО
| Номенклатура
|;
|
|////////////////////////////////////////////////////////////////////////////////";

Иначе
ТекстЗапроса = ТекстЗапроса +
"
|ИЗ
| РегистрСведений.ЦеныАТТ.СрезПоследних(, Склад = &Склад) КАК ЦеныАТТСрезПоследних
|
|ИНДЕКСИРОВАТЬ ПО
| Номенклатура
|;
|
|////////////////////////////////////////////////////////////////////////////////";

КонецЕсли;

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


Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("Склад",Склад);

//ТМС_Модуль.ВыгрузитьВКассы(Запрос.Выполнить().Выгрузить());
ТМС_Модуль.ВыгрузитьВКассыФронтол(Запрос.Выполнить().Выгрузить());
Иначе
Предупреждение(...);
Возврат;
Конецесли;
КонецПроцедуры

Middle

Цитата: Ивашка от 06 янв 2022, 11:46Попробуй так:
Процедура  Выгрузка(Группа,Все)

    Если ЗначениеЗаполнено(Склад) тогда

Запрос = Новый Запрос;
ТекстЗапроса =
"ВЫБРАТЬ
| ЦеныАТТСрезПоследних.Склад,
| ЦеныАТТСрезПоследних.Номенклатура КАК Номенклатура,
| ЦеныАТТСрезПоследних.Цена КАК Цена
|ПОМЕСТИТЬ ВТ_ЦеныРозничные";

Если Все = 0 Тогда
Запрос.УстановитьПараметр("Группа",Группа);
ТекстЗапроса = ТекстЗапроса +
"
|ИЗ
| РегистрСведений.ЦеныАТТ.СрезПоследних(, Склад = &Склад И Номенклатура В ИЕРАРХИИ(&Группа)) КАК ЦеныАТТСрезПоследних
|
|ИНДЕКСИРОВАТЬ ПО
| Номенклатура
|;
|
|////////////////////////////////////////////////////////////////////////////////";

Иначе
ТекстЗапроса = ТекстЗапроса +
"
|ИЗ
| РегистрСведений.ЦеныАТТ.СрезПоследних(, Склад = &Склад) КАК ЦеныАТТСрезПоследних
|
|ИНДЕКСИРОВАТЬ ПО
| Номенклатура
|;
|
|////////////////////////////////////////////////////////////////////////////////";

КонецЕсли;

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


Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("Склад",Склад);

//ТМС_Модуль.ВыгрузитьВКассы(Запрос.Выполнить().Выгрузить());
ТМС_Модуль.ВыгрузитьВКассыФронтол(Запрос.Выполнить().Выгрузить());
Иначе
Предупреждение(...);
Возврат;
Конецесли;
КонецПроцедуры
{ВнешняяОбработка.ТМС_ВыгрузитьВКассы.Форма.Форма.Форма(100,1)}: Недостаточно фактических параметров (Предупреждение)
<<?>>Предупреждение(...); (Проверка: Толстый клиент (обычное приложение))

Ивашка

@Middle, перед иначе запятую убери, и напиши предупреждение

Middle

@Ивашка, не вижу запятую перед иначе

Ивашка

@Middle, ТМС.....Выгрузить(); //уберите эту запятую
Иначе

Middle

убрал, написал, все равно ругается) ниче не получается  :dfbsdfbsdf:

LexaK

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

КонецПроцедуры
ответ Понравился? (в смысле пригодился?)

Теги:

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

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

Поиск