Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ошибка при выполнении запроса к регистру ПартииТоваров
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Работа с торговым оборудованием
kalyamov
Здравствуйте.
Предприятие 7.7, платформа 0.27 , конфигурация торговля и склад 7.70.011
При попытки построить какие нибудь типовые отчеты на регистре "ПартииТоваров", отчет не строится, а вываливается с ошибкой при ВыполнитьЗапрос()
Суть ошибки в том, что не определенна переменная "Стоимость". Отчет типовый и никто его не трогал. Пробовал переименовать переменную - не помогло.

Вот, собственно, текст ошибки. Пользователи утверждают, что раньше они работали.

Если Запрос.Выполнить(ТекстЗапроса)=0 тогда
{Отчет.Продажи.Форма.Модуль(784)}: Функция РасхСтоимость=Расход( <<?>> Стоимость);
Запрос[35] : Переменная 'Стоимость' не опеределена

Могу приложить весь запрос, но я думаю, что тут дело в чем то другом. Тестирование и исправление вроде делал, не помогло.
Может кто то сталкивался с такой ерундой, подскажите пожалуйста.
mister-x
запит в студію + яка ОС?
kalyamov
Цитата(mister-x @ 08.11.15, 18:59) необходимо зарегистрироваться для просмотра ссылки
запит в студію + яка ОС?


Windows server 2008 enterprise sp2.

Можливо це пов`язане з регіональними настройками ?
Я детально запит не переглядував, там намагався щось зробити студент, якому вже 45. Знайома спитала, чи дійсно зробить в журналі документів закладки по складам буде тривати два дні при почасовій оплаті, я вирішив допомогти дівчинці, бо це явний грабіж. Може краще ert якось прикрипити, то підкажіть як. Якщо ні то запит ось :

Процедура Сформировать()
    Перем Запрос, ТекстЗапроса, Таб;
    //Создание объекта типа Запрос
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |Период с ВыбНачПериода по ВыбКонПериода;
    |Товар = Регистр.ПартииТоваров.Товар;
    |Контрагент = Регистр.ПартииТоваров.Контрагент;
    |ОстатокТовара = Регистр.ПартииТоваров.ОстатокТовара;
    |Стоимость = Регистр.ПартииТоваров.Стоимость;
    |Функция ОстатокТовараНачОст = НачОст(ОстатокТовара);
    |Функция ОстатокТовараПриход = Приход(ОстатокТовара);
    |Функция ОстатокТовараРасход = Расход(ОстатокТовара);
    |Функция ОстатокТовараКонОст = КонОст(ОстатокТовара);
    |Функция СтоимостьНачОст = НачОст(Стоимость);
    |Функция СтоимостьПриход = Приход(Стоимость);
    |Функция СтоимостьРасход = Расход(Стоимость);
    |Функция СтоимостьКонОст = КонОст(Стоимость);
    |Группировка Товар без групп;
    |Группировка Контрагент без групп;
    |Условие(Товар в ВыбТовар);
    |Условие(Контрагент в ВыбКонтрагент);
    |"//}}ЗАПРОС
;
    // Если ошибка в запросе, то выход из процедуры
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Возврат;
    КонецЕсли;

    // Подготовка к заполнению выходных форм данными запроса
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Сформировать");
    // Заполнение полей "Заголовок"
    Таб.ВывестиСекцию("Заголовок");
    Состояние("Заполнение выходной таблицы...");
    Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
    Пока Запрос.Группировка(1) = 1 Цикл
        // Заполнение полей Товар
        Таб.ВывестиСекцию("Товар");
        Пока Запрос.Группировка(2) = 1 Цикл
            // Заполнение полей Контрагент
            Таб.ВывестиСекцию("Контрагент");
        КонецЦикла;
    КонецЦикла;
    // Заполнение полей "Итого"
    Таб.ВывестиСекцию("Итого");
    // Вывод заполненной формы
    Таб.ТолькоПросмотр(1);
    Таб.Показать("Сформировать", "");
КонецПроцедуры


Єто просто создал конструктором отчет. Результат при запуске тот же - ошибка, не определена переменначя стоимость.
zetovich
а) лукавите с кодовой страницей + наличие файла OrdNoChk.prm
б) скопировать ресурс с регистра и вставить ручками в текст модуля (возможно путаница с рус+англ буковками)
в) да вроде и все.
Dartvader111
Решить просто! Просто переименуйте в английское слово переменную и будет Вам счастье!
kalyamov
Цитата(zetovich @ 08.11.15, 22:56) необходимо зарегистрироваться для просмотра ссылки
а) лукавите с кодовой страницей + наличие файла OrdNoChk.prm
б) скопировать ресурс с регистра и вставить ручками в текст модуля (возможно путаница с рус+англ буковками)
в) да вроде и все.

а. Почему отрабатывают запросы к другим регистрам ? Но мне тоже кажется, что где то в этом направлении надо рыть. Зачем , блин, надо было ставить для клюшек 2008 - й сервак ? Уж если ретро - то ретро. 2003 - го хватило бы с головой.
б. Запрос построен конструктором - ошибок с рус. англ. быть не может.

И еще вопрос. Накупил там студент сканеров USB и они все работают в разрыв клавиатуры. Это надо какой то эмулятор ставить, чтоб они работали через rs 232 или менять сканеры ?
zetovich
Цитата(kalyamov @ 09.11.15, 12:24) необходимо зарегистрироваться для просмотра ссылки
а. Почему отрабатывают запросы к другим регистрам ? Но мне тоже кажется, что где то в этом направлении надо рыть. Зачем , блин, надо было ставить для клюшек 2008 - й сервак ? Уж если ретро - то ретро. 2003 - го хватило бы с головой.
б. Запрос построен конструктором - ошибок с рус. англ. быть не может.

И еще вопрос. Накупил там студент сканеров USB и они все работают в разрыв клавиатуры. Это надо какой то эмулятор ставить, чтоб они работали через rs 232 или менять сканеры ?

а) в другой кодировке значение такое же.
что касается сканеров: читаем инструкцию...ищем что нибудь про Эмуляцию ком порта (В Metrologic и в других сканерах, есть бумажечка с ШК для программирования сканера. Находим, пикаем....и ставим драйвер этого самого порта)
Acid
а в вашем регистре ПартииТоваров есть такой реквизит "Стоимость"?
kalyamov
Цитата(zetovich @ 20.11.15, 9:19) необходимо зарегистрироваться для просмотра ссылки
а) в другой кодировке значение такое же.
что касается сканеров: читаем инструкцию...ищем что нибудь про Эмуляцию ком порта (В Metrologic и в других сканерах, есть бумажечка с ШК для программирования сканера. Находим, пикаем....и ставим драйвер этого самого порта)


Все действительно было в кодировке дело. Винда 2008 и с украинской кодировкой работать не хочет. Приходится менять в региональных стандартах на русские, а в 1С - на текущий настройки системы.

Со сканером такой прикол - перевел его в режим эмуляции, запускаю (на терминале) 1С, настраиваю как положено сканопус и торговое облорудование. ОбработкаВнешнегоСобытия() - молчит. Но если пикнуть сканером , в справочнике Номенклатуры к примеру, и потом открыть сервис - параметры - сканерштрихкода - обработка срабатывает. Последний сканопус вообще не стал работать, даже таким чудным образом. Может скорость не та или порт плохо пробросился.
zetovich
Цитата(kalyamov @ 20.11.15, 16:10) необходимо зарегистрироваться для просмотра ссылки
Все действительно было в кодировке дело. Винда 2008 и с украинской кодировкой работать не хочет. Приходится менять в региональных стандартах на русские, а в 1С - на текущий настройки системы.

Со сканером такой прикол - перевел его в режим эмуляции, запускаю (на терминале) 1С, настраиваю как положено сканопус и торговое облорудование. ОбработкаВнешнегоСобытия() - молчит. Но если пикнуть сканером , в справочнике Номенклатуры к примеру, и потом открыть сервис - параметры - сканерштрихкода - обработка срабатывает. Последний сканопус вообще не стал работать, даже таким чудным образом. Может скорость не та или порт плохо пробросился.

Драйвер от 1с мягко говоря не хорош. Ищите Атол'овский БЕСПЛАТНЫЙ драйвер. Могу на почту закунуть...
Vofka
Цитата(zetovich @ 20.11.15, 16:21) необходимо зарегистрироваться для просмотра ссылки
Могу на почту закунуть...

Закиньте лучше в хранилище.
kalyamov
Цитата(zetovich @ 20.11.15, 17:21) необходимо зарегистрироваться для просмотра ссылки
Драйвер от 1с мягко говоря не хорош. Ищите Атол'овский БЕСПЛАТНЫЙ драйвер. Могу на почту закунуть...


Атоловский драйвер есть. И вроде той версии, что надо. Но как его настроить ? Там ест тест, в котором он видит этот сканер, я ему назначил суффикс, но он все равно в 1С ке продолжает работать как клавиатурный. Я где то не дожимаю, но не могу понять где. Все это происходит на терминале. Драйвер я же там должен настраивать.
Я же правильно понял - Атоловский драйвер отлавливает сканирование и передает 1С-ке его как внешнее событие ?

Цитата(Vofka @ 20.11.15, 17:43) необходимо зарегистрироваться для просмотра ссылки
Закиньте лучше в хранилище.


Вы извините, что в этом разделе развел про сканеры переписку. Просто не знаю что делать. Все говорят, что с Атоловским драйвером все Ок, а у меня не выходит. С 8 то проблем нет, а вот тут...
kalyamov
Цитата(zetovich @ 20.11.15, 17:21) необходимо зарегистрироваться для просмотра ссылки
Драйвер от 1с мягко говоря не хорош. Ищите Атол'овский БЕСПЛАТНЫЙ драйвер. Могу на почту закунуть...


Немного тупил - в примере , который скинул один тип вместе с атоловским драйвером, была описана стандартная 1С7.7 процедура внешнего события, а надо было 1СScaner.dll использовать. Все отлично заработало. Можно тему закрыть. Спасибо всем аза участие.
kalyamov
Цитата(zetovich @ 20.11.15, 17:21) необходимо зарегистрироваться для просмотра ссылки
Драйвер от 1с мягко говоря не хорош. Ищите Атол'овский БЕСПЛАТНЫЙ драйвер. Могу на почту закунуть...


Все таки не до конца как то решилась проблема. Драйвер стоит, работает 1С-ная ДЛЛ -ка Scaner1C.DLL, настроено как в Атоловском примере. Но после какого то промежутка времени перестает отрабатывать процедура ОбработкаВнешнегоСобытия() перестает работать. В чем может быть прикол ?
zetovich
Цитата(kalyamov @ 03.12.15, 17:36) необходимо зарегистрироваться для просмотра ссылки
Все таки не до конца как то решилась проблема. Драйвер стоит, работает 1С-ная ДЛЛ -ка Scaner1C.DLL, настроено как в Атоловском примере. Но после какого то промежутка времени перестает отрабатывать процедура ОбработкаВнешнегоСобытия() перестает работать. В чем может быть прикол ?

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