Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
05 Июн 2020, 05:58
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Запрос данных из справочника  (Прочитано 323 раз)

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

Оффлайн Funt Фунтиков

  • *
  • Сообщений: 16
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2020-05-15
  • Сайт: 
Funt Фунтиков,
Цитировать
Ошибку не возвращает, а вот выдает что "Коэффициент пустой".
уже прогресс! ошибок нет! теперь нужные данные в базу 1С поместите и будет результат!

данные поместил, по отладчику просматриваю, все данные присваиваются. Результат ноль: РезельтатЗапроса - пустой!
Тут получаются входные данные частично берутся из другого запроса
&НаСервере
Функция ПолучитьВалютуБумага(Ссылка, КолПечЛист)

// запрос ВАЛЮТЫ, ЦЕНЫ за лист, ГРУППЫ материала
Запрос = Новый Запрос;
Запрос.Текст =
"Выбрать
|Справочник.Валюта,
|Справочник.СтоимостьЛист,
|Справочник.РегистрГруппа,
|Справочник.Родитель
|ИЗ Справочник.ЦифраМатериал КАК Справочник
|ГДЕ Справочник.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка",Ссылка);
Результат = Запрос.Выполнить().Выгрузить();
Сообщить("Валюта - " + Результат [0].Валюта);
Сообщить("Стоимость за лист - " + Результат [0].СтоимостьЛист);
Сообщить("Группа материала - " + Результат [0].Родитель);
Сообщить("Группа - " + Результат [0].РегистрГруппа);

СсылкаРегистр = Результат [0].Родитель;

Параметр КолПечЛист - приходит с формы
	// запрос коэффициента из регистра НАКОПЛЕНИЙ
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ВЫБОР
|КОГДА &КолПечЛист = 0
| ТОГДА 0
|КОГДА &КолПечЛист <= 50
| ТОГДА СтоимостьБумаги.До50
|КОГДА &КолПечЛист <= 100
| ТОГДА СтоимостьБумаги.До100
|КОГДА &КолПечЛист < 250
| ТОГДА СтоимостьБумаги.От100
|КОГДА &КолПечЛист < 500
| ТОГДА СтоимостьБумаги.От250
|КОГДА &КолПечЛист < 1000
| ТОГДА СтоимостьБумаги.От500
|ИНАЧЕ СтоимостьБумаги.От1000
    |    КОНЕЦ КАК Коэффициент
|ИЗ
| РегистрСведений.ЦенаБумаги КАК СтоимостьБумаги
|ГДЕ
|   РегСведЦифра = &ГруппаМатериал";

Запрос.УстановитьПараметр("ГруппаМатериал",СсылкаРегистр);
Запрос.УстановитьПараметр("КолПечЛист",КолПечЛист);
    РезультатРегистр = Запрос.Выполнить();

    Если РезультатРегистр.Пустой() Тогда
         Сообщить("Коэффициент пустой - ");
    Иначе
         Выборка = РезультатРегистр.Выбрать();
         Выборка.Следующий();
    Сообщить("Коэффициент - " + Выборка.Коэффициент);
    //Возврат Выборка.Коэффициент;
Сообщить("Цена в рублях - " + РезультатВалюта [0].ЦенаВРублях);

Сообщить("Коэффициент - " + Строка(РезультатРегистр [0].Коэффициент));

ЦенаЛист = РезультатВалюта [0].ЦенаВРублях *  Результат [0].СтоимостьЛист;
Сообщить(" Цена за лист - " + ЦенаЛист);
Возврат ЦенаЛист;
   КонецЕсли;

Блин в другом запросе тоже пустота приходит!
Добавлено: 22 Май 2020, 23:43

Надыбал в интернете такую вещь как "консоль запросов". Установил универсальную версию, так она возмущается на то, что клиент должен быть Толстым.
Может кто подскажет как нормальная ли эта вещь или как можно "поизучать" запросы?

Последний раз редактировалось: Funt Фунтиков; 22 Май 2020, 23:43. Причина: Объединение сообщений


Оффлайн antoneus

  • ****
  • Сообщений: 292
  • РЕПУТАЦИЯ: 74
  • КПД: 25%
  • Регистрация: 2018-11-22
  • Сайт: 
  • Профессия: Программист 1С
Ну так запускайте 1с в режиме толстого клиента и вперед. Для изучения рекомендую книжку Хрусталевой.

Оффлайн LexaK

  • *****
  • Сообщений: 2139
  • РЕПУТАЦИЯ: 629
  • КПД: 29%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
Funt Фунтиков,
Цитировать
Надыбал в интернете такую вещь как "консоль запросов".
подыбайте еще в инете, может найдете универсальную консоль для разных клиентов и разных форм?
Помогло? - Нажми СПАСИБО (под аватаром) !!!
                       :)

Оффлайн Funt Фунтиков

  • *
  • Сообщений: 16
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2020-05-15
  • Сайт: 
Через консоль запросов все работает нормально, но когда начинаешь делать запрос программно, возвращается пустой, хотя при проверке на отладчике переменные ЦветПечатиОфсет и КолПечЛистОфсет принимают правильный тип и значения

Код процедуры выглядит так:
Цитировать
&НаКлиенте
Процедура КрасЛистОфсетОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
   
   КолПечЛист = ЭтаФорма.Объект.КолПечЛистОблЛист;
   Сообщить("Печатных листов - " + КолПечЛист);
   Сообщить("Цвет печати - " + ВыбранноеЗначение);   
   КолПриладкаОфсет = ПолучитьПриладкуОфсет(ВыбранноеЗначение, КолПечЛист);
   Сообщить("Количество листов - " + КолПриладкаОфсет);
КонецПроцедуры

Функция возврата с запросом выглядит так:
Цитировать
&НаСервере
Функция ПолучитьПриладкуОфсет (ЦветПечатиОфсет, КолПечЛистОфсет);
   
   Сообщить("Начало запроса!!");

   Запрос = Новый Запрос;
   Запрос.Текст =
      "ВЫБРАТЬ
      |   ВЫБОР
      |      КОГДА &КолПечЛистОфсет = 0
      |         ТОГДА 0
      |      КОГДА &КолПечЛистОфсет <= 500 
      |         ТОГДА ПриладкаОфсет.Лист500
      |      КОГДА &КолПечЛистОфсет > 500 и &КолПечЛистОфсет <= 1000
      |         ТОГДА ПриладкаОфсет.Лист1000
      |      КОГДА &КолПечЛистОфсет > 1000 и &КолПечЛистОфсет <= 2000
      |         ТОГДА ПриладкаОфсет.Лист2000
      |      КОГДА &КолПечЛистОфсет > 2000 и &КолПечЛистОфсет <= 3000
      |         ТОГДА ПриладкаОфсет.Лист3000
      |      КОГДА &КолПечЛистОфсет > 3000 и &КолПечЛистОфсет <= 4000
      |         ТОГДА ПриладкаОфсет.Лист4000
      |      КОГДА &КолПечЛистОфсет > 4000 и &КолПечЛистОфсет <= 5000
      |         ТОГДА ПриладкаОфсет.Лист5000
      |      КОГДА &КолПечЛистОфсет > 5000 и &КолПечЛистОфсет <= 6000
      |         ТОГДА ПриладкаОфсет.Лист5000
      |      КОГДА &КолПечЛистОфсет > 6000 и &КолПечЛистОфсет <= 7000
      |         ТОГДА ПриладкаОфсет.Лист7000
      |      КОГДА &КолПечЛистОфсет > 7000 и &КолПечЛистОфсет <= 8000
      |         ТОГДА ПриладкаОфсет.Лист8000
      |      КОГДА &КолПечЛистОфсет > 8000 и &КолПечЛистОфсет <= 9000
      |         ТОГДА ПриладкаОфсет.Лист9000      
      |      ИНАЧЕ ПриладкаОфсет.Лист10000
      |          КОНЕЦ КАК ЛистПриладка
      |   ИЗ
      |      РегистрСведений.ПриладкаОфсет КАК ПриладкаОфсет
      |   ГДЕ
      |        ПриладкаОфсет.ЦветПриладкаОфсет = &ЦветПечатиОфсет
      |";
      
       Запрос.УстановитьПараметр("ЦветПечатиОфсет",ЦветПечатиОфсет);
       Запрос.УстановитьПараметр("КолПечЛистОфсет",КолПечЛистОфсет);

      РезультатЗапроса = Запрос.Выполнить();
      Выборка = РезультатЗапроса.Выгрузить();
      
      Если Выборка.Следующий() тогда
         Сообщить("Проверка - " + Выборка.ЛистПриладка);
         Возврат Выборка.ЛистПриладка;
      ИНАЧЕ 
         Возврат 0;
         
         Сообщить("Пустой возврат");
      КонецЕсли;
      
      Сообщить("Запрос окончен!!");
КонецФункции

Такое ощущение что не передаются исходные данные в запрос
Может все таки кто-нибудь поможет разобраться в чем дело?!

Оффлайн antoneus

  • ****
  • Сообщений: 292
  • РЕПУТАЦИЯ: 74
  • КПД: 25%
  • Регистрация: 2018-11-22
  • Сайт: 
  • Профессия: Программист 1С
Вот это:

Выборка = РезультатЗапроса.Выгрузить();
     
Если Выборка.Следующий() тогда

работать не будет. Что, и ошибки не возникает? Попробуй

Выборка = РезультатЗапроса.Выбрать();

Оффлайн Funt Фунтиков

  • *
  • Сообщений: 16
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2020-05-15
  • Сайт: 
Вот это:

Выборка = РезультатЗапроса.Выгрузить();
     
Если Выборка.Следующий() тогда

работать не будет. Что, и ошибки не возникает? Попробуй

Выборка = РезультатЗапроса.Выбрать();

Получается переменная Выборка - Индекс 0, Тип элемента - Неопределено
Значение возвращает - 0, а должно быть - 250

Оффлайн antoneus

  • ****
  • Сообщений: 292
  • РЕПУТАЦИЯ: 74
  • КПД: 25%
  • Регистрация: 2018-11-22
  • Сайт: 
  • Профессия: Программист 1С
Ну, не знаю, мне отсюда больше ничего не видно(

А что за лютая архитектура такая? ПриладкаОфсет - это регистр сведений с 10 измерениями? А если вариантов приладки будет сто, у него будет сто измерений?

Оффлайн Funt Фунтиков

  • *
  • Сообщений: 16
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2020-05-15
  • Сайт: 
До этого другой запрос с такими условиями запроса из регистра нормально работал, когда база находилась в локальной сети. Сейчас я базу перенес на свой компьютер и началась такая проблема. Это может повлиять на такую проблему.
У нас два компьютера и оба должны работать с базой.

Уже вторую неделю не могу решить этот вопрос!!!

Оффлайн antoneus

  • ****
  • Сообщений: 292
  • РЕПУТАЦИЯ: 74
  • КПД: 25%
  • Регистрация: 2018-11-22
  • Сайт: 
  • Профессия: Программист 1С
Могу подключиться посмотреть, уже вторую неделю интересно что там происходит. Пиши в личку, если что.


Теги:
 

Перенос данных из 1с 82 БП (базовая) в 1с 82 БГУ (базовая)

Автор Владимир87Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 9583
Последний ответ 06 Дек 2014, 17:40
от дфтын
Поиск по бае данных,(полнотекстовый поиск)

Автор kot_ooРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 4825
Последний ответ 19 Май 2014, 15:40
от kot_oo
Как исправить при обновлении ИБ: Ошибка в запросе набора данных по причине: {(58, 2)}: Несовместимые типы "ВЫБОР" <<?>>ВЫБОР

Автор dollРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 4352
Последний ответ 26 Апр 2018, 06:45
от Геннадий ОбьГЭС
"Задваивание" данных в отчете

Автор mashencev_antonРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 13
Просмотров: 11252
Последний ответ 15 Окт 2015, 11:21
от Mari_beginner
Как вызвать "Анализ субконто" из справочника "Контрагенты"

Автор EnigManРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 8025
Последний ответ 06 Фев 2012, 10:46
от cska-fanat-kz

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
86 Сообщений
LexaK
66 Сообщений
antoneus antoneus
65 Сообщений
alexandr_ll
18 Сообщений
Funt432286
16 Сообщений
Funt Фунтиков
16 Сообщений
aleon1 aleon1
14 Сообщений
Анна Анисимова
13 Сообщений
strelok_stv
12 Сообщений
DmitriyF DmitriyF
12 Сообщений

* Кто онлайн

  • Точка Гостей: 151
  • Точка Скрытых: 0
  • Точка Пользователей: 4
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal