Возникли сложности при получении среза последних по записям периодического регистра сведений (далее РС), если у РС имеется регистратор. В этом случае возможно существование записи в одну секунду по одним и тем же измерениям, но с разными регистраторами.
Таким образом в результат среза попадет 2 записи.
Изучив запрос на SQL пришел к выводу что там используется момент времени, но в 1С группировка по моменту времени запрещена. Как вы решаете данную проблему?
Текст SQL запроса стандартного 1С во вложении в картинке
Таким образом в результат среза попадет 2 записи.
Изучив запрос на SQL пришел к выводу что там используется момент времени, но в 1С группировка по моменту времени запрещена. Как вы решаете данную проблему?
Текст SQL запроса стандартного 1С во вложении в картинке
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
(1) значит у вас база неправильно работает
я создал копию документа Установка цены, Задал дату и время оригинала и при попытке провести получил ошибку
{ОбщийМодуль.ПроведениеСерверУТ.Модуль(355)}:
Ошибка при вызове метода контекста (Записать):
Запись с такими ключевыми полями существует! :
...
я создал копию документа Установка цены, Задал дату и время оригинала и при попытке провести получил ошибку
{ОбщийМодуль.ПроведениеСерверУТ.Модуль(355)}:
Ошибка при вызове метода контекста (Записать):
Запись с такими ключевыми полями существует! :
...
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Вроде как функция запроса "АВТОНОМЕРЗАПИСИ" решает данную проблему, но я так и не понял принцип работы этой функции, и по какому принципу формируются номера, что не гарантирует стабильность результата.
ВЫБРАТЬ
ЛМБ_СведенияЗалоговогоБилета.Период КАК Период,
ЛМБ_СведенияЗалоговогоБилета.ЗалоговыйБилет КАК ЗалоговыйБилет,
АВТОНОМЕРЗАПИСИ() КАК НомерПП,
ЛМБ_СведенияЗалоговогоБилета.ВидОперации,
ЛМБ_СведенияЗалоговогоБилета.ВидОперацииНачальный
ПОМЕСТИТЬ втСрез
ИЗ
РегистрСведений.ЛМБ_СведенияЗалоговогоБилета КАК ЛМБ_СведенияЗалоговогоБилета
ГДЕ
ЛМБ_СведенияЗалоговогоБилета.ЗалоговыйБилет = &ЗалоговыйБилет
ИНДЕКСИРОВАТЬ ПО
Период,
ЗалоговыйБилет,
НомерПП
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВложенныйЗапрос.ЗалоговыйБилет,
втСрез.ВидОперации,
втСрез.ВидОперацииНачальный
ИЗ
(ВЫБРАТЬ
МАКСИМУМ(втСрез.Период) КАК Период,
втСрез.ЗалоговыйБилет КАК ЗалоговыйБилет,
МАКСИМУМ(втСрез.НомерПП) КАК НомерПП
ИЗ
втСрез КАК втСрез
СГРУППИРОВАТЬ ПО
втСрез.ЗалоговыйБилет) КАК ВложенныйЗапрос
ВНУТРЕННЕЕ СОЕДИНЕНИЕ втСрез КАК втСрез
ПО ВложенныйЗапрос.ЗалоговыйБилет = втСрез.ЗалоговыйБилет
И ВложенныйЗапрос.Период = втСрез.Период
И ВложенныйЗапрос.НомерПП = втСрез.НомерПП
Показать
Что то у вас не так, не может срез последних выдавать две записи по одинаковым измерениям, даже если подчинен регистратору и переодичность регистратор.
Если вам не нужна периодичность в пределах регистратора, поставьте периодичность в пределах секунды, если разрешено менять регистр.
Если вам не нужна периодичность в пределах регистратора, поставьте периодичность в пределах секунды, если разрешено менять регистр.
(11) Это так и должно быть. Мне кажется вы путаете работу виртуальных таблиц регистра накопления и регистра сведений. Подозреваю вы в запросе выбрали не все измерения, поэтому у вас и "дублируются" записи. На самом деле есть отличие по одному из измерений. А база у вас в норме.
(1) значит у вас база неправильно работает
я создал копию документа Установка цены, Задал дату и время оригинала и при попытке провести получил ошибку
{ОбщийМодуль.ПроведениеСерверУТ.Модуль(355)}:
Ошибка при вызове метода контекста (Записать):
Запись с такими ключевыми полями существует! :
...
я создал копию документа Установка цены, Задал дату и время оригинала и при попытке провести получил ошибку
{ОбщийМодуль.ПроведениеСерверУТ.Модуль(355)}:
Ошибка при вызове метода контекста (Записать):
Запись с такими ключевыми полями существует! :
...
Так и не понял в чем проблема у автора топика
Он пишет что у него проблемы,
но вместо того чтобы показать текст запроса/структуру регистра и т.п. и спросить в чем проблема,
он начинает описывать предпринятые действия, очень странные действия. Ни один нормальный 1С-ник не стал бы этого делать.
Если, к примеру, у меня возникнет похожая проблема, то я обращусь к коллеге, в 99.99% случае он укажет на мою тупость мы вместе поржем над этим и проблема решена.
В оставшемся 0,01% я не полезу анализировать запросы в скуле, и не буду пытаться написать замену виртуальной таблице "СрезПоследних", а просто исправлю проблемный регистр тем или иным образом, в зависимости от того какая проблема.
Он пишет что у него проблемы,
но вместо того чтобы показать текст запроса/структуру регистра и т.п. и спросить в чем проблема,
он начинает описывать предпринятые действия, очень странные действия. Ни один нормальный 1С-ник не стал бы этого делать.
Если, к примеру, у меня возникнет похожая проблема, то я обращусь к коллеге, в 99.99% случае он укажет на мою тупость мы вместе поржем над этим и проблема решена.
В оставшемся 0,01% я не полезу анализировать запросы в скуле, и не буду пытаться написать замену виртуальной таблице "СрезПоследних", а просто исправлю проблемный регистр тем или иным образом, в зависимости от того какая проблема.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот