| 
    
        
     
     | 
    
  | 
v7: Непонятная операция/проводка. Как найти источник | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        kupec    
     12.12.22 
            ✎
    10:48 
 | 
         
        Доброго дня. Формирую карточку счета. Отображается сумма и количество с выбранными счетами проводок. Документ - операция. В журнале данная операция не отображается. Пытаюсь сделать через конфигуратор сообщение о виде документа
 
        1 - Опер = Ит.Операция; 2 - Сообщить(Опер.Содержание); 3 - Док=Опер.Документ.ТекущийДокумент(); 4 - Сообщить(ТипЗначенияСтр(Док)); 2 - Содержание сообщает, а так же все реквизиты операции 3 - Проходит без ошибок 4 - Сообщает тип значения, но именно на "ЭТОЙ" операции выдает пустое значение. Как найти, от куда данная проводка берется? Заранее спасибо  | 
|||
| 
    1
    
        Builder    
     12.12.22 
            ✎
    10:50 
 | 
         
        Операция может быть и без документа, введенная вручную, внезапно...     
         | 
|||
| 
    2
    
        kupec    
     12.12.22 
            ✎
    10:55 
 | 
         
        (1) нет её в журнале и не открывается она из карточки счета.     
         | 
|||
| 
    3
    
        Builder    
     12.12.22 
            ✎
    10:56 
 | 
         
        (0) В журнале Операций сделай отбор по "Операция", увидишь.
 
        https://prnt.sc/4goM6K7dZrFY  | 
|||
| 
    4
    
        Builder    
     12.12.22 
            ✎
    10:58 
 | 
         
        (2) Ну или ТиИ + переиндексация + пересчет бухитогов, если уж ничего не нашел.     
         | 
|||
| 
    5
    
        kupec    
     12.12.22 
            ✎
    11:00 
 | 
         
        В журнале её нет, даже с отбором. ТиИ тоже про это думал. Но у мен SQL. Поможет ли?     
         | 
|||
| 
    6
    
        Builder    
     12.12.22 
            ✎
    11:03 
 | 
         
        (5) Ну попробуй на копии.
 
        А вообще очень странно что не видно в журнале, что-то не договариваешь...  | 
|||
| 
    7
    
        kupec    
     12.12.22 
            ✎
    11:30 
 | 
         
        говорю все как есть. Не договаривать Нечего     
         | 
|||
| 
    8
    
        obs191    
     12.12.22 
            ✎
    11:32 
 | 
         
        Период журнала и дата операции?     
         | 
|||
| 
    9
    
        kupec    
     12.12.22 
            ✎
    11:34 
 | 
         
        период соответствует дате операции 28.11.2022     
         | 
|||
| 
    10
    
        YFedor    
     12.12.22 
            ✎
    11:34 
 | 
         
        (9) А кто мешал дату проводок и дату документа, формирующего проводки сделать разными?     
         | 
|||
| 
    11
    
        kupec    
     12.12.22 
            ✎
    11:35 
 | 
         
        Сейчас в обед попробую сделать полный пересчет итогов. Но думаю, это не поможет     
         | 
|||
| 
    12
    
        kupec    
     12.12.22 
            ✎
    11:35 
 | 
         
        (10) научи в 7.7 сделать это     
         | 
|||
| 
    13
    
        kupec    
     12.12.22 
            ✎
    11:44 
 | 
         
        Вот что нашел
 
        https://ibb.co/RgbnMZs  | 
|||
| 
    14
    
        АгентБезопасной Нацио    
     12.12.22 
            ✎
    11:44 
 | 
         
        (10) в клюшках штатно так не сделать. а те, кто может это сделать - не задают вопросов типа (0)
 
        (7) найди операцию в таблице 1soper, посмотри id документа (он там, емнип, наеборот называется - docid), ну и от него уже ищи что за док.  | 
|||
| 
    15
    
        kupec    
     12.12.22 
            ✎
    11:57 
 | 
         
        (14) наверно толку не хватит....как это можно сделать?     
         | 
|||
| 
    16
    
        Builder    
     12.12.22 
            ✎
    12:05 
 | 
         
        (15) Через SQL Server Management Studio
 
        Попробуй ТиИ сделать для начала, может поймает этот косяк.  | 
|||
| 
    17
    
        АгентБезопасной Нацио    
     12.12.22 
            ✎
    12:09 
 | 
         
        (16) нунафиг ТИИ. 
 
        для начала - просто реиндексацию средсвами SQL. >> через SQL Server Management Studio - у него скорее всего еще EM  | 
|||
| 
    18
    
        Builder    
     12.12.22 
            ✎
    12:12 
 | 
         
        (17) Ну не факт, 2008 скуль гораздо лучше работает с клюшками :)     
         | 
|||
| 
    19
    
        kupec    
     12.12.22 
            ✎
    12:25 
 | 
         
        (17) что такое EM? Ентерпрайс менеджер?     
         | 
|||
| 
    20
    
        kupec    
     12.12.22 
            ✎
    12:25 
 | 
         
        попытался пометить на удаление данную операцию (13) 7.7 зависла наглухо     
         | 
|||
| 
    21
    
        kupec    
     12.12.22 
            ✎
    12:26 
 | 
         
        как мне теперь закрыть соединение с базой? 7.7 закрылась без обьяснения причины. Пытался отсоединить через SQL базу. Теперь висит сам SQL и крутит на отсоединении базы. Уже минут 15     
         | 
|||
| 
    22
    
        kupec    
     12.12.22 
            ✎
    12:35 
 | 
         
        Пересчет БухИтогов ничего не дал. Как попробовать найти данную операцию через SQL. Подскажите пожалуйста     
         | 
|||
| 
    23
    
        АгентБезопасной Нацио    
     12.12.22 
            ✎
    13:38 
 | 
         
        (20) а она пометилась на удаление, или нет?
 
        (22) select * from _1soper where <тут тто признак, по которому можно идетифицировать эту операцию>  | 
|||
| 
    24
    
        vladmenleo    
     12.12.22 
            ✎
    13:38 
 | 
         
        (22) в sql клюшках пустая дата это 01.01.1753
 
        Соответственно через энтерпрайс мэнеджер можно выполнить такой скрипт DECLARE @EmptyDate DateTime SET @EmptyDate = CONVERT(DateTime, '17530101', 112) Select Журнал.* from _1sjourn Журнал where CONVERT(DateTime, LEFT(Журнал.DATE_TIME_IDDOC, 8), 112) = @EmptyDate Соответственно тебе будет известен IDDOC и IDDOCDEF твоей операции. А дальше сам думай удалить тебе его или еще что  | 
|||
| 
    25
    
        kupec    
     12.12.22 
            ✎
    14:15 
 | 
         
        (24) но почему то операция стоит между документов (13)
 
        (20) нет, не пометилась  | 
|||
| 
    26
    
        kupec    
     12.12.22 
            ✎
    14:19 
 | 
         
        (24) пустой ответ при выполнении запроса     
         | 
|||
| 
    27
    
        vladmenleo    
     12.12.22 
            ✎
    14:24 
 | 
         
        (24) на скриншоте в (13) общий журнал или журнал проводок?     
         | 
|||
| 
    28
    
        vladmenleo    
     12.12.22 
            ✎
    14:25 
 | 
         
        (26) пардон (27) это к (26)     
         | 
|||
| 
    29
    
        kupec    
     12.12.22 
            ✎
    14:27 
 | 
         
        Журнал проводок     
         | 
|||
| 
    30
    
        vladmenleo    
     12.12.22 
            ✎
    14:29 
 | 
         
        (29) ну тогда переделай запрос к проводкам, а не к журналу документов     
         | 
|||
| 
    31
    
        kupec    
     12.12.22 
            ✎
    14:31 
 | 
         
        (30) переделал, тот же самый результат, пустой ответ     
         | 
|||
| 
    32
    
        vladmenleo    
     12.12.22 
            ✎
    14:32 
 | 
         
        (29) поменяй в (24) _1sjourn на _1SENTRY
 
        и в условии поставь where CONVERT(DateTime, LEFT(Журнал.DATE_TIME_DOCID, 8), 112) = @EmptyDate  | 
|||
| 
    33
    
        kupec    
     12.12.22 
            ✎
    14:32 
 | 
         
        DECLARE @EmptyDate DateTime
 
        SET @EmptyDate = CONVERT(DateTime, '17530101', 112) Select Журнал.* from _1SOPER Журнал where CONVERT(DateTime, LEFT(Журнал.DATE_TIME_DOCID, 8), 112) = @EmptyDate  | 
|||
| 
    34
    
        kupec    
     12.12.22 
            ✎
    14:33 
 | 
         
        DECLARE @EmptyDate DateTime
 
        SET @EmptyDate = CONVERT(DateTime, '17530101', 112) Select Журнал.* from _1SENTRY Журнал where CONVERT(DateTime, LEFT(Журнал.DATE_TIME_DOCID, 8), 112) = @EmptyDate Все равно пусто  | 
|||
| 
    35
    
        vladmenleo    
     12.12.22 
            ✎
    14:37 
 | 
         
        (34) Странно, если в журнале есть, то и в базе должно быть.
 
        А если попробовать на условие меньше даты первого документа в базе типа так например? where CONVERT(DateTime, LEFT(Журнал.DATE_TIME_DOCID, 8), 112) < CONVERT(DateTime, '20000101', 112)  | 
|||
| 
    36
    
        kupec    
     12.12.22 
            ✎
    14:53 
 | 
         
        DECLARE @EmptyDate DateTime
 
        SET @EmptyDate = CONVERT(DateTime, '17530101', 112) Select Журнал.* from _1SENTRY Журнал where CONVERT(DateTime, LEFT(Журнал.DATE_TIME_DOCID, 8), 112) < CONVERT(DateTime, '20000101', 112) Пустой ответ  | 
|||
| 
    37
    
        kupec    
     12.12.22 
            ✎
    14:53 
 | 
         
        как то странно, в журнале проводок ни времени ни даты нет...     
         | 
|||
| 
    38
    
        kupec    
     12.12.22 
            ✎
    14:58 
 | 
||||
| 
    39
    
        vladmenleo    
     12.12.22 
            ✎
    15:06 
 | 
         
        (38) тогда может попробовать на условие 
 
        where Журнал.DATE_TIME_DOCID is null  | 
|||
| 
    40
    
        vladmenleo    
     12.12.22 
            ✎
    15:08 
 | 
         
        (38) или where
 
        Журнал.DOCID is null  | 
|||
| 
    41
    
        kupec    
     12.12.22 
            ✎
    15:34 
 | 
         
        DECLARE @EmptyDate DateTime
 
        SET @EmptyDate = CONVERT(DateTime, '17530101', 112) Select Журнал.* from _1SENTRY Журнал where Журнал.DOCID is null // Журнал.DATE_TIME_DOCID is null Оба запроса пустые  | 
|||
| 
    42
    
        kupec    
     12.12.22 
            ✎
    15:35 
 | 
         
        У меня вот такой вопрос, а если есть проводки...может наоборот поискать их и принадлежность к операции//документу...     
         | 
|||
| 
    43
    
        vladmenleo    
     12.12.22 
            ✎
    15:50 
 | 
         
        (42) Так как-раз это и пытаемся сделать - найти проводку в журнале, где iddoc и будет ссылка на документ     
         | 
|||
| 
    44
    
        Fedor-1971    
     12.12.22 
            ✎
    16:09 
 | 
         
        (42) попробуй отобрать в журнале проводок Сумма = СуммаТвоейПроводки
 
        По идее, должно вынайти массив с суммами, если их немного, то полистай и посмотри ТИИ делал без флажка "Создавать несуществующие ссылки"?  | 
|||
| 
    45
    
        kupec    
     12.12.22 
            ✎
    16:41 
 | 
         
        (44) попробую чуть позже. Надо сначала копию сделать     
         | 
|||
| 
    46
    
        Харлампий Дымба    
     12.12.22 
            ✎
    18:10 
 | 
         
        Ну я бы прежде лазанья внутрях сначала так покопался...
 
        В каком журнале не отображается операция? В журнале операций отображается? В журнале проводок отображается? Права на Документы.Операция, на Операция-Просмотр списка и Проводка-Просмотр Списка есть? Опер.Документ.ДатаДок и Опер.ДатаОперации верную дату показывают? Отбор по фирме, разные планы счетов используются? Опер.Выбрана() и Док.Выбран() оба единицы? ПустоеЗначение(Опер) и ПустоеЗначение(Опер.Документ) оба нули?  | 
|||
| 
    47
    
        kupec    
     13.12.22 
            ✎
    11:06 
 | 
         
        (46)       Ит.ВыбратьПериоды();
 
        Пока Ит.ПолучитьПериод() = 1 Цикл Опер = Ит.Операция; Док=Опер.Документ.ТекущийДокумент(); Док - пустое значение. в (38) отображение в журнале Опер.ДатаОперации - верное значение Опер.Документ - <Объект не найден>(0/)  | 
|||
| 
    48
    
        mikecool    
     13.12.22 
            ✎
    11:41 
 | 
         
        (47) реиндексацию делать в первую очередь     
         | 
|||
| 
    49
    
        kupec    
     13.12.22 
            ✎
    11:44 
 | 
         
        (48) средставами SQL как то можно это сделать? Или надо через ТиИ     
         | 
|||
| 
    50
    
        Харлампий Дымба    
     13.12.22 
            ✎
    11:52 
 | 
         
        Аа. Ну судя по картинке в (38) действительно операция откололась от какой-то приходной накладной. Что-то пошло не так в момент записи операции.
 
        Ну тогда всё просто: открыть журнал приходных накладных, за 28.11.2022 в районе 9 утра, найти приходную накладную с товаром Куриная грудка 13.285 на сумму 2700.84. Перепровести, убедиться что операция по документу создана и проводка правильная. Проблемную операцию похерить - удалить, можно предварительно удалив проводку или занулив сумму/количество.  | 
|||
| 
    51
    
        kupec    
     13.12.22 
            ✎
    11:57 
 | 
         
        (50) да в том то и дело, что я все эти операции проделал. Но ничего толком не нашел. Мои умения кончились и я написал сюда     
         | 
|||
| 
    52
    
        Харлампий Дымба    
     13.12.22 
            ✎
    12:30 
 | 
         
        Так а чего искать? Приход куриной грудки от Ивушки-Иваново 28го числа был? В базе отражен? Нет-отразить. Проводки есть? Нет - перепровести или ввести приход заново. Проблемные документы удалить и забыть.     
         | 
|||
| 
    53
    
        kupec    
     13.12.22 
            ✎
    12:53 
 | 
         
        Приход есть на это количество, только вот сумма проводки другая. И операция и документ есть. А от этой как избавиться? Пробовал пометить на удаление, виснет наглухо     
         | 
|||
| 
    54
    
        Харлампий Дымба    
     13.12.22 
            ✎
    13:19 
 | 
         
        Ну тут попробовать разное: F8 отключить проводки - удалить, удалить проводки - сохранить - удалить, через обработку выбрать операцию - удалить. А лучше бы переделать исходный приход, а проблемный пометить на удаление - возможно проблемная операция тоже тогда уйдёт. Просто если у исходного документа, к которому была изначально привязано операция, задано в конфигурации "Создавать операцию - Всегда", то удалить её без исходного документа ты не сможешь.     
         | 
|||
| 
    55
    
        uno-group    
     13.12.22 
            ✎
    14:27 
 | 
         
        Грохнуть ее на прямую в СКЛ. Документы прямыми запросами не удаляются случаем. может документ грохнули а при гроханье проводок 1с грохнулась из-за отключения света и т.п.     
         | 
|||
| 
    56
    
        АгентБезопасной Нацио    
     13.12.22 
            ✎
    14:36 
 | 
         
        (55) сначала нужно найти и посмотреть содержимрое docid
 
        ну и надо шрохнуть сначала проводки, а потом операцию (49) SET NOCOUNT ON DECLARE @TableName char(32) DECLARE SysCur CURSOR FOR SELECT name FROM sysobjects WHERE type='U' OPEN SysCur FETCH NEXT FROM SysCur INTO @TableName WHILE @@FETCH_STATUS=0 BEGIN DBCC DBREINDEX(@TableName) FETCH NEXT FROM SysCur INTO @TableName END CLOSE SysCur DEALLOCATE SysCur GO  | 
|||
| 
    57
    
        kupec    
     13.12.22 
            ✎
    14:52 
 | 
         
        (55) наверно потом надо будет делать пересчет итогов?     
         | 
|||
| 
    58
    
        АгентБезопасной Нацио    
     13.12.22 
            ✎
    16:37 
 | 
         
        (57) если проводки удалил "напрямую" - да, пересчет бухитогов нужен. (если движение регистра - соотвественно, пересчет итогов регистра)     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |