|
Регистр накопления имеет вид "Остатки", а в запросе доступны ВТ "ОстаткиИОбороты" | ☑ | ||
---|---|---|---|---|
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 Но как то не верится
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |