Версия для печати темы (https://pro1c.org.ua/index.php?showtopic=26194)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Работа с торговым оборудованием _ Ошибка при выполнении запроса к регистру ПартииТоваров

Автор: kalyamov 08.11.15, 11:57

Здравствуйте.
Предприятие 7.7, платформа 0.27 , конфигурация торговля и склад 7.70.011
При попытки построить какие нибудь типовые отчеты на регистре "ПартииТоваров", отчет не строится, а вываливается с ошибкой при ВыполнитьЗапрос()
Суть ошибки в том, что не определенна переменная "Стоимость". Отчет типовый и никто его не трогал. Пробовал переименовать переменную - не помогло.

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

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

Могу приложить весь запрос, но я думаю, что тут дело в чем то другом. Тестирование и исправление вроде делал, не помогло.
Может кто то сталкивался с такой ерундой, подскажите пожалуйста.

Автор: mister-x 08.11.15, 17:59

запит в студію + яка ОС?

Автор: kalyamov 08.11.15, 18:27

Цитата(mister-x @ 08.11.15, 18:59) *
запит в студію + яка ОС?


Windows server 2008 enterprise sp2.

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

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

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


Єто просто создал конструктором отчет. Результат при запуске тот же - ошибка, не определена переменначя стоимость.

Автор: zetovich 08.11.15, 21:56

а) лукавите с кодовой страницей + наличие файла OrdNoChk.prm
б) скопировать ресурс с регистра и вставить ручками в текст модуля (возможно путаница с рус+англ буковками)
в) да вроде и все.

Автор: Dartvader111 09.11.15, 9:14

Решить просто! Просто переименуйте в английское слово переменную и будет Вам счастье!

Автор: kalyamov 09.11.15, 12:24

Цитата(zetovich @ 08.11.15, 22:56) *
а) лукавите с кодовой страницей + наличие файла OrdNoChk.prm
б) скопировать ресурс с регистра и вставить ручками в текст модуля (возможно путаница с рус+англ буковками)
в) да вроде и все.

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

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

Автор: zetovich 20.11.15, 8:19

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

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

а) в другой кодировке значение такое же.
что касается сканеров: читаем инструкцию...ищем что нибудь про Эмуляцию ком порта (В Metrologic и в других сканерах, есть бумажечка с ШК для программирования сканера. Находим, пикаем....и ставим драйвер этого самого порта)

Автор: Acid 20.11.15, 9:27

а в вашем регистре ПартииТоваров есть такой реквизит "Стоимость"?

Автор: kalyamov 20.11.15, 16:10

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


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

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

Автор: zetovich 20.11.15, 16:21

Цитата(kalyamov @ 20.11.15, 16:10) *
Все действительно было в кодировке дело. Винда 2008 и с украинской кодировкой работать не хочет. Приходится менять в региональных стандартах на русские, а в 1С - на текущий настройки системы.

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

Драйвер от 1с мягко говоря не хорош. Ищите Атол'овский БЕСПЛАТНЫЙ драйвер. Могу на почту закунуть...

Автор: Vofka 20.11.15, 16:43

Цитата(zetovich @ 20.11.15, 16:21) *
Могу на почту закунуть...

Закиньте лучше в хранилище.

Автор: kalyamov 21.11.15, 0:49

Цитата(zetovich @ 20.11.15, 17:21) http://pro1c.org.ua/index.php?act=findpost&pid=105317
Закиньте лучше в хранилище.


Вы извините, что в этом разделе развел про сканеры переписку. Просто не знаю что делать. Все говорят, что с Атоловским драйвером все Ок, а у меня не выходит. С 8 то проблем нет, а вот тут...

Автор: kalyamov 27.11.15, 17:39

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


Немного тупил - в примере , который скинул один тип вместе с атоловским драйвером, была описана стандартная 1С7.7 процедура внешнего события, а надо было 1СScaner.dll использовать. Все отлично заработало. Можно тему закрыть. Спасибо всем аза участие.

Автор: kalyamov 03.12.15, 17:36

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


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

Автор: zetovich 03.12.15, 18:34

Цитата(kalyamov @ 03.12.15, 17:36) http://pro1c.org.ua/index.php?act=findpost&pid=105821

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua