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

Из Excel в справочник

Автор Funt432286, 05 сен 2019, 19:51

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

Funt432286

Цитата: KOI8-R от 09 сен 2019, 16:54
А сделайте скрин структуры регистра, а то уже гадать неинтересно.

Код выглядит так
Цитировать
&НаСервере
Функция ПолучитьЦенуЗаЛист(СсылкаБумага, КоличествоЛистов)               // запрос СТОИМОСТИ бумаги
   
   Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    Выбор
        |        Когда &КоличествоЛистов <= 50 Тогда Рег.До50
        |        Когда &КоличествоЛистов <= 100 Тогда Рег.До100
        |        Когда &КоличествоЛистов > 1000 Тогда Рег.От1000
        |        Когда &КоличествоЛистов > 500 Тогда Рег.От500
        |        Когда &КоличествоЛистов > 100 Тогда Рег.От100
      |        Когда &КоличествоЛистов > 250 Тогда Рег.От250      
        |    Конец как Значение
        |ИЗ
        |    РегистрСведений.СтоимостьБумаги КАК Рег
        |Где
        |    Рег.НазваниеБумаги = &Бумага  //почему реквизит НазваниеБумаги - ?
        |
        |";
       
    Запрос.УстановитьПараметр("Бумага", СсылкаБумага);
    Запрос.УстановитьПараметр("КоличествоЛистов", КоличествоЛистов);
   
    лкВыборка = Запрос.Выполнить().Выбрать();
   Если лкВыборка.Следующий() Тогда
        лкЗначение = лкВыборка.Значение;
    Иначе   
        лкЗначение = 0;
        Сообщить("Бумага: " + СсылкаБумага + ", Кол-во листов: " + КоличествоЛистов + " значение не найдено!");
    КонецЕсли;       

    Возврат лкЗначение;
   
КонецФункции

KOI8-R

Скрин структуры регистра в конфигураторе. А не в пользовательском режиме.

П.С.
Вы дорабатываете эту конфигурацию уже 2 года. Ну не может быть, чтобы за это время вы не сдвинулись с мертвой точки в понимании 1с.
Что-то тут не так.

Funt432286

Цитата: KOI8-R от 09 сен 2019, 17:21П.С.
Вы дорабатываете эту конфигурацию уже 2 года. Ну не может быть, чтобы за это время вы не сдвинулись с мертвой точки в понимании 1с.
Что-то тут не так.

Я работаю верстальщиком типографии, сначала делал эту конфигурацию просто для себя (ради интереса) в свободное время от основной работы, не планировали ее запускать! Потом начальству появилась необходимость сделать калькулятор расчета заказа. Я его сделал на делфи, потом решил перетащить сюда! В итоге конфигурацию решили запускать, но для начала доработать расчет заказов. Вот потихоньку дорабатываю в свободное время!
Добавлено: 09 сен 2019, 17:41


Цитата: KOI8-R от 09 сен 2019, 17:21
Скрин структуры регистра в конфигураторе. А не в пользовательском режиме.

Структура регистра в конфигурации выглядит так. Рядом отображается код запроса

LexaK

так если вы на других языках программировали, должны понимать что такое Тип данных!
В каких-то случаях 1С может неявно преобразовать типы между собой, а в каких-то нет.
в общем нельзя сравнивать данные разных типов,
а у вас в типах, судя по всему какая-то каша.
приведите их к одному типу и у вас все заработает
тип конкретной переменной можно узнать
лкТип = ТипЗнч(ВашаПеременная);
или
Сообщить("Тип: " + ТипЗнч(ВашаПеременная));
если помогло нажмите: Спасибо!

Funt432286

Я могу конечно очень сильно ошибаться, но мне кажется что запрос вообще ничего не возвращает из регистра!
Т.Е. Выборка пустая приходит! Подскажите пожалуйста почему?

Очень нужна помощь в этом вопросе!
Готов даже переделать регистр, если есть необходимость!

LexaK

э-э-э, еще раз
Цитировать... у вас в типах, судя по всему, какая-то каша/путаница.
приведите их к одному типу и у вас все заработает
если помогло нажмите: Спасибо!

KOI8-R

Возьмите консоль запросов и посмотрите. У вас кстати, измерение "НазваниеБумаги" часом не тип строка?

Funt432286

Цитата: KOI8-R от 10 сен 2019, 10:17
Возьмите консоль запросов и посмотрите. У вас кстати, измерение "НазваниеБумаги" часом не тип строка?

Да, у нее тип данных строка, в нее приход наименование бумаги из объекта на форме и из справочника!

KOI8-R

Цитата: Funt432286 от 10 сен 2019, 10:21
Цитата: KOI8-R от 10 сен 2019, 10:17
Возьмите консоль запросов и посмотрите. У вас кстати, измерение "НазваниеБумаги" часом не тип строка?

Да, у нее тип данных строка, в нее приход наименование бумаги из объекта на форме и из справочника!
...жуть.

Ну значит по названию не совпадаете. Ищите лишние пробелы либо в регистре, либо в передаваемом параметре.

Funt432286

Цитата: KOI8-R от 10 сен 2019, 10:38
Ну значит по названию не совпадаете. Ищите лишние пробелы либо в регистре, либо в передаваемом параметре.

По названию все совпадает, один в один
Тогда может посоветуете ссылку где есть инфа по регистру, что бы сделать нормально а не жуть?

Теги:

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

Рейтинг@Mail.ru

Поиск