|   |   | 
| 
 | Регистр накопления имеет вид "Остатки", а в запросе доступны ВТ "ОстаткиИОбороты" | ☑ | ||
|---|---|---|---|---|
| 0
    
        raytan 10.02.22✎ 13:14 | 
        Конфигурации: УНФ, Фитнес. Регистр накопления "Расчеты с покупателями" имеет вид регистра "Остатки", а в запросе доступны ВТ "ОстаткиИОбороты", "Обороты". Это нормально ?
 Вопрос возник с тем, что в какой то момент стала вылетать ошибка: "Не найдено поле "ТипРасчета"". Оно используется в параметрах виртуальной таблицы вида "ОстаткиИОбороты". Интересный момент, что в консоле запросов, все отрабатывает хорошо. | |||
| 1
    
        raytan 10.02.22✎ 13:16 | 
        Собственно запрос с ошибкой:
 ВЫБРАТЬ РАЗРЕШЕННЫЕ РасчетыСПокупателямиОстаткиИОбороты.Основание КАК ЛицевойСчет, СУММА(РасчетыСПокупателямиОстаткиИОбороты.СуммаОборот) КАК Остаток ИЗ РегистрНакопления.РасчетыСПокупателями.ОстаткиИОбороты( , &ДатаСреза, Авто, , ВЫБОР КОГДА &ВладелецСчета <> НЕОПРЕДЕЛЕНО ТОГДА Контрагент = &ВладелецСчета ИНАЧЕ ИСТИНА КОНЕЦ И Основание = &ЛицевойСчет И ВЫБОР КОГДА &ВключатьСчетаСертификатов = ИСТИНА ТОГДА ТипРасчета = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетов.ЛицевойСчет) ИЛИ ТипРасчета = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетов.Сертификат) ИНАЧЕ ТипРасчета = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетов.ЛицевойСчет) КОНЕЦ И ВЫБОР КОГДА &Организация <> НЕОПРЕДЕЛЕНО И Основание.НеВестиУчетВРазрезеОрганизаций = ЛОЖЬ ТОГДА Организация = &Организация ИНАЧЕ ИСТИНА КОНЕЦ) КАК РасчетыСПокупателямиОстаткиИОбороты ГДЕ ВЫБОР КОГДА &Регистратор = НЕОПРЕДЕЛЕНО ТОГДА ИСТИНА ИНАЧЕ РасчетыСПокупателямиОстаткиИОбороты.Регистратор <> &Регистратор КОНЕЦ СГРУППИРОВАТЬ ПО РасчетыСПокупателямиОстаткиИОбороты.Основание | |||
| 2
    
        raytan 10.02.22✎ 13:16 | 
        Добавил в выводимые поля измерения, ошибка пропала
 ВЫБРАТЬ РАЗРЕШЕННЫЕ РасчетыСПокупателямиОстаткиИОбороты.Основание КАК ЛицевойСчет, СУММА(РасчетыСПокупателямиОстаткиИОбороты.СуммаОборот) КАК Остаток, РасчетыСПокупателямиОстаткиИОбороты.ТипРасчета КАК ТипРасчета, РасчетыСПокупателямиОстаткиИОбороты.Организация КАК Организация, РасчетыСПокупателямиОстаткиИОбороты.Контрагент КАК Контрагент ИЗ РегистрНакопления.РасчетыСПокупателями.ОстаткиИОбороты( , &ДатаСреза, Авто, , ВЫБОР КОГДА &ВладелецСчета <> НЕОПРЕДЕЛЕНО ТОГДА Контрагент = &ВладелецСчета ИНАЧЕ ИСТИНА КОНЕЦ И Основание = &ЛицевойСчет И ВЫБОР КОГДА &ВключатьСчетаСертификатов = ИСТИНА ТОГДА ТипРасчета = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетов.ЛицевойСчет) ИЛИ ТипРасчета = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетов.Сертификат) ИНАЧЕ ТипРасчета = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетов.ЛицевойСчет) КОНЕЦ И ВЫБОР КОГДА &Организация <> НЕОПРЕДЕЛЕНО И Основание.НеВестиУчетВРазрезеОрганизаций = ЛОЖЬ ТОГДА Организация = &Организация ИНАЧЕ ИСТИНА КОНЕЦ) КАК РасчетыСПокупателямиОстаткиИОбороты ГДЕ ВЫБОР КОГДА &Регистратор = НЕОПРЕДЕЛЕНО ТОГДА ИСТИНА ИНАЧЕ РасчетыСПокупателямиОстаткиИОбороты.Регистратор <> &Регистратор КОНЕЦ СГРУППИРОВАТЬ ПО РасчетыСПокупателямиОстаткиИОбороты.Основание, РасчетыСПокупателямиОстаткиИОбороты.ТипРасчета, РасчетыСПокупателямиОстаткиИОбороты.Организация, РасчетыСПокупателямиОстаткиИОбороты.Контрагент | |||
| 3
    
        raytan 10.02.22✎ 13:19 | 
        Как понимаю это стандартный код из БСП. Модуль менеджера РН "Расчеты с покупателями" функция "ПолучитьОстатокНаЛицевомСчету"     | |||
| 4
    
        mistеr 10.02.22✎ 13:19 | 
        (0) Это нормально.     | |||
| 5
    
        SuperMario 10.02.22✎ 13:19 | 
        (0) Это нормально     | |||
| 6
    
        Dmitrii гуру 10.02.22✎ 13:19 | 
        (0) Да.     | |||
| 7
    
        Dmitrii гуру 10.02.22✎ 13:21 | 
        (3) >> это стандартный код из БСП.
 Нет. Это код из прикладной конфигурации, не имеющий к БСП никакого отношения. В БСП нет подсистем такого прикладного уровня, как учет взаиморасчетов. | |||
| 8
    
        raytan 10.02.22✎ 13:22 | 
        (7) Может быть. Я отдельно БСП не ставил. Согласен не прав. Глянул УНФ, там нету такой функции     | |||
| 9
    
        raytan 10.02.22✎ 13:24 | 
        А что скажете почему могла возникнуть ошибка?     | |||
| 10
    
        raytan 10.02.22✎ 13:25 | 
        У меня сходу такое решение приходит в голову, чтобы не менять логику запроса:
 ВЫБРАТЬ РАЗРЕШЕННЫЕ РасчетыСПокупателямиОстаткиИОбороты.Основание КАК ЛицевойСчет, СУММА(РасчетыСПокупателямиОстаткиИОбороты.СуммаОборот) КАК Остаток, РасчетыСПокупателямиОстаткиИОбороты.ТипРасчета КАК ТипРасчета, РасчетыСПокупателямиОстаткиИОбороты.Организация КАК Организация, РасчетыСПокупателямиОстаткиИОбороты.Контрагент КАК Контрагент ПОМЕСТИТЬ ВТ_Остатки ИЗ РегистрНакопления.РасчетыСПокупателями.ОстаткиИОбороты( , &ДатаСреза, Авто, , ВЫБОР КОГДА &ВладелецСчета <> НЕОПРЕДЕЛЕНО ТОГДА Контрагент = &ВладелецСчета ИНАЧЕ ИСТИНА КОНЕЦ И Основание = &ЛицевойСчет И ВЫБОР КОГДА &ВключатьСчетаСертификатов = ИСТИНА ТОГДА ТипРасчета = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетов.ЛицевойСчет) ИЛИ ТипРасчета = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетов.Сертификат) ИНАЧЕ ТипРасчета = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетов.ЛицевойСчет) КОНЕЦ И ВЫБОР КОГДА &Организация <> НЕОПРЕДЕЛЕНО И Основание.НеВестиУчетВРазрезеОрганизаций = ЛОЖЬ ТОГДА Организация = &Организация ИНАЧЕ ИСТИНА КОНЕЦ) КАК РасчетыСПокупателямиОстаткиИОбороты ГДЕ ВЫБОР КОГДА &Регистратор = НЕОПРЕДЕЛЕНО ТОГДА ИСТИНА ИНАЧЕ РасчетыСПокупателямиОстаткиИОбороты.Регистратор <> &Регистратор КОНЕЦ СГРУППИРОВАТЬ ПО РасчетыСПокупателямиОстаткиИОбороты.Основание, РасчетыСПокупателямиОстаткиИОбороты.ТипРасчета, РасчетыСПокупателямиОстаткиИОбороты.Организация, РасчетыСПокупателямиОстаткиИОбороты.Контрагент ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ_Остатки.ЛицевойСчет КАК ЛицевойСчет, СУММА(ВТ_Остатки.Остаток) КАК Остаток ИЗ ВТ_Остатки КАК ВТ_Остатки СГРУППИРОВАТЬ ПО ВТ_Остатки.ЛицевойСчет | |||
| 11
    
        raytan 10.02.22✎ 13:26 | 
        (10) но честно говоря, так себе решение...     | |||
| 12
    
        SuperMario 10.02.22✎ 13:30 | 
        Это запрос отчета на СКД?     | |||
| 13
    
        raytan 10.02.22✎ 13:31 | 
        (12) Нет. функция "ПолучитьОстатокНаЛицевомСчету" из менеджера регистра.     | |||
| 14
    
        Dmitrii гуру 10.02.22✎ 13:40 | 
        По идее запрос должен работать. Не смотря на тот бред, который написан в параметрах со всеми этими ВЫБОР КОГДА ТОГДА. Может какая-то ошибка платформы?
 Вместо каши из ВЫБОР КОГДА ТОГДА должно было быть что-то типа этого. 
 | |||
| 15
    
        hhhh 10.02.22✎ 13:41 | 
        (10) бери РегистрНакопления.РасчетыСПокупателями.Обороты. Остатки же тебе не нужны.     | |||
| 16
    
        raytan 10.02.22✎ 13:43 | 
        (14) проблема, что если ставлю условие на измерение в параметрах, и не выбераю это поле, то выпадает ошибка, что поле не найдено...
 Еще важные примечания. У меня файловая база. Вылетать начала сразу. У клиента склька. Там проявилась ошибка вчера впервый раз за все время. | |||
| 17
    
        Dmitrii гуру 10.02.22✎ 13:43 | 
        (15) Эту конфигурацию, 1С:Фитнес, наркоманы писали. Там ВСЁ надо переписывать. Буквально ВСЁ. Я не кричу и не преувеличиваю.     | |||
| 18
    
        raytan 10.02.22✎ 13:44 | 
        (17) правда жизни ))     | |||
| 19
    
        raytan 10.02.22✎ 13:47 | 
        Еще один запрос вылетел с похожей ошибкой.     | |||
| 20
    
        vicof 10.02.22✎ 13:51 | 
        Кэш почисть     | |||
| 21
    
        raytan 10.02.22✎ 13:51 | 
        Я отключил все регламентые задания у себя на базе. Возможно какие то проблемы с агрегатами ? (я в этой теме слабоват (( )     | |||
| 22
    
        raytan 10.02.22✎ 13:55 | 
        (20) не помогло     | |||
| 23
    
        vicof 10.02.22✎ 13:58 | 
        А конструктором запрос открывается? Латиницей поле или параметр написан?     | |||
| 24
    
        raytan 10.02.22✎ 13:59 | 
        (23) конечно. Даже больше в консоле запросов все отрабатывает правильно     | |||
| 25
    
        Галахад гуру 10.02.22✎ 14:02 | 
        Хм. Что-то я кода не понял после "Тогда".
 ВЫБОР КОГДА &ВключатьСчетаСертификатов = ИСТИНА ТОГДА ТипРасчета = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетов.ЛицевойСчет) ИЛИ ТипРасчета = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетов.Сертификат) | |||
| 26
    
        raytan 10.02.22✎ 14:05 | 
        (25) Логика запроса не так важна. Тут проблема в том, что выпадает ошибка, что "поле не найдено" в случае когда измерение не выбирается дальше. Думал, что только с этим регистром. А тут еще как минимум один (( Переделывать все запросы, ну такое...     | |||
| 27
    
        vicof 10.02.22✎ 14:06 | 
        (25) ыы     | |||
| 28
    
        raytan 10.02.22✎ 14:07 | 
        (26) плохо сформулировал. Условие в параметрах виртуальной таблицы на измерение выдает ошибку, что поле не найдено, если это измерение не выбирается дальше в запросе.     | |||
| 29
    
        Ненавижу 1С гуру 10.02.22✎ 14:07 | 
        (25) другими словами:
 &ВключатьСчетаСертификатов И (ТипРасчета = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетов.ЛицевойСчет) ИЛИ ТипРасчета = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетов.Сертификат)) | |||
| 30
    
        Галахад гуру 10.02.22✎ 14:11 | 
        (29) Да, точно. Спасибо.     | |||
| 31
    
        raytan 10.02.22✎ 14:13 | 
        (29) Немного не так:)
 (ТипРасчета = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетов.ЛицевойСчет ИЛИ (&ВключатьСчетаСертификатов И ТипРасчета = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетов.Сертификат))) | |||
| 32
    
        raytan 10.02.22✎ 14:16 | 
        Вот еще запрос:
 ВЫБРАТЬ РАЗРЕШЕННЫЕ ВЫБОР КОГДА ЕСТЬNULL(ПродажиСебестоимостьОбороты.КоличествоОборот, 0) = 0 ТОГДА 0 ИНАЧЕ ПродажиСебестоимостьОбороты.СтоимостьБезСкидкиОборот / ПродажиСебестоимостьОбороты.КоличествоОборот КОНЕЦ КАК СтоимостьБезСкидки ИЗ РегистрНакопления.ПродажиСебестоимость.Обороты( , &Период, Авто, ДокументПродажи = &ДокументПродажи И ВЫБОР КОГДА &Номенклатура = НЕОПРЕДЕЛЕНО ТОГДА ИСТИНА ИНАЧЕ Номенклатура = &Номенклатура КОНЕЦ И ВЫБОР КОГДА &ЧленствоПакетУслуг = НЕОПРЕДЕЛЕНО ТОГДА ИСТИНА ИНАЧЕ ЧленствоПакетУслуг = &ЧленствоПакетУслуг КОНЕЦ) КАК ПродажиСебестоимостьОбороты | |||
| 33
    
        raytan 10.02.22✎ 14:17 | 
        {Документ.Занятие.Форма.ФормаГрупповогоЗанятия.Форма(561)}: Ошибка при вызове метода контекста (Записать): Ошибка при выполнении обработчика - 'ПередЗаписью': {Документ.Занятие.МодульОбъекта(1642)}: Ошибка при вызове метода контекста (Выполнить): {(12, 4)}: Поле не найдено "ДокументПродажи"
 <<?>>ДокументПродажи = &ДокументПродажи | |||
| 34
    
        raytan 10.02.22✎ 14:17 | 
        (33) в регистре естественно есть поле "ДокументПродажи"     | |||
| 35
    
        vicof 10.02.22✎ 14:18 | 
        И какая роль у этого поля?     | |||
| 36
    
        raytan 10.02.22✎ 14:19 | 
        (35) хз. Я не анализировал нужно ли это поле для регистра. Не я писал эту конфу :)     | |||
| 37
    
        Ненавижу 1С гуру 10.02.22✎ 14:21 | 
        (31) с учетом ИНАЧЕ да, можно рекомбинировать     | |||
| 38
    
        vicof 10.02.22✎ 14:25 | 
        (36) Измерение, ресурс, реквизит?     | |||
| 39
    
        raytan 10.02.22✎ 14:29 | 
        (36) измерение. Повторюсь. Сами запросы открываются в конструкторе. Мало того, если выполнить их в консоле запросов, то все отработает без ошибок     | |||
| 40
    
        raytan 10.02.22✎ 14:31 | 
        Запустил ТиИ, там заодно и пересчет итогов. Может поможет )     | |||
| 41
    
        hhhh 10.02.22✎ 15:27 | 
        (40) возможно нет прав у пользователя на документПродажи. С полными правами выполняете этот запрос?     | |||
| 42
    
        raytan 10.02.22✎ 15:32 | 
        (41) Да, с полными     | |||
| 43
    
        raytan 10.02.22✎ 15:34 | 
        (41) одинаковая проблема с двумя регистрами и со всеми измерениями у них.     | |||
| 44
    
        vicof 10.02.22✎ 15:39 | 
        Конфигуратор от одной базы, сеанс запущен в другой?     | |||
| 45
    
        raytan 10.02.22✎ 15:45 | 
        (44) немного не понял вопрос. Все происходит на одной базе. Ошибка в конфе во время выполнения кода и правильная работа консоли все в одной базе     | |||
| 46
    
        MikhaNik 10.02.22✎ 16:03 | 
        Попробуй сделать запрос в обработке, если в обработке ошибки нет, то дело скорее всего в КЭШе     | |||
| 47
    
        raytan 10.02.22✎ 16:14 | 
        (46) В обработке есть ошибка     | |||
| 48
    
        Dmitrii гуру 10.02.22✎ 16:40 | 
        Сделай копию базы, поставь другую версию платформы и попробую там. Попробовать сменить режим совместимости на какой-либо другой или на "не использовать".
 Если чистка кеша и полное ТИИ с пересчетом итогов не помогают, то я всё таки склонен думать, что это глюк платформы. | |||
| 49
    
        vicof 10.02.22✎ 16:40 | 
        (47) не тот регистр, не та база, не то поле, не тот параметр, не тот тип параметра, не тот синоним, не тот язык. Отделяй, проверяй. Или предлагаешь гадать на шаре?     | |||
| 50
    
        raytan 10.02.22✎ 20:29 | 
        (48) ошибка как на реальной базе с скл, так и на файловой тестовой.
 (49) Есть ощущение, что проблема не в типах параметра или синтаксисе, а в чем то другом более глобальном. Сами признаки я рассказал: обращение к измерению в параметрах виртуальной таблицы приводит к ошибке, в случае если это измерение в дальнейшем не выбирается в основном запросе. Я вот думаю, что это возможно проблема с итогами. | |||
| 51
    
        Dmitrii гуру 10.02.22✎ 20:50 | 
        (50) На платформе другой версии пробовал? (про файловую и клиент-серверную мы и так поняли - ты уже указывал).
 >> Я вот думаю, что это возможно проблема с итогами. Попробуй не просто пересчитать итоги, а предварительно физически грохнув таблицы итогов. Вроде как в инструментах разработчика (ИР) есть такая возможность. Отключить использование итогов, отключить использование текущих итогов, физически удалить таблицы итогов из базы, потом снова включить все итоги и установить их период. | |||
| 52
    
        raytan 10.02.22✎ 21:34 | 
        Только что закончил ТиИ без проверки ссылочной целостности, только итоги и реструктуризация. Не помогло ((     | |||
| 53
    
        hhhh 10.02.22✎ 21:41 | 
        (52) скорее всего не тот регистр. Проверь, нет ли там подмены имени регистра в тексте запроса. Типа СтрЗаменить одно на другое.     | |||
| 54
    
        raytan 10.02.22✎ 21:47 | 
        (53) Не )) Тем более одинаковая по типу ошибка в двух разных местах и с двумя разными регистрами накопления     | |||
| 55
    
        raytan 10.02.22✎ 22:50 | 
        Стоял режим совместимости 8.3.15 -- поэксперементировал и при 8.3.14 заработало. Теперь надо думать, будет ли работать весь функционал в таком режиме...     | |||
| 56
    
        raytan 10.02.22✎ 22:52 | 
        У меня платформа 8.3.16.1063. Наверное есть смысл качать посвежее...     | |||
| 57
    
        raytan 10.02.22✎ 23:06 | 
        Может кто сталкивался с информацией. У меня конфа фитнес 4.0. Какой необходим режим совместимости ? я что нашел, так вот статью: https://1c.ru/news/info.jsp?id=21385 Тут пишут 8.3.6 Но как то не верится     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |