Имя: Пароль:
1C
1C 7.7
v7: Полное самопроизвольное удаление позиции номенклатуры
,
0 kirill123
 
18.07.20
11:55
День добрый!
Проблема странная, надеюсь кто-то сталкивался.
1с 7.7, конфигурация на базе ТИС.

С какой-то периодичностью удаляется позиция номенклатуры полностью. Это может быть как группа, так и отдельный товар. При этом одновременно другая позиция номенклатуры задваивается визуально, но обе версии "битые". У них пустые реквизиты и т.п.

Пример:
  - Пропала группа https://c2n.me/48rhiM5
  - "задвоилась" https://c2n.me/48rhkIU

Хочется понять - почему может такое происходить?
1 2S
 
18.07.20
12:00
Риб?
2 kirill123
 
18.07.20
12:05
(1) Нет, обычная база
3 kirill123
 
18.07.20
12:06
Находится на ССД, КЭШ в виртуальном диске из ОЗУ.
Никаких обменов не происходит, работает все через РДП, серрер 2008
4 ДенисЧ
 
18.07.20
12:26
а ЖР что говорит?
5 kirill123
 
18.07.20
12:33
(4) Если это про журнал регистрации - то по обеим "задвоенным" позициям номенклатуры (вот этим https://c2n.me/48rhkIU) - нет никаких записей в нем.
6 Злопчинский
 
18.07.20
12:37
(3) какой кэш?
в клюшках нет никаких кэшей.
7 kirill123
 
18.07.20
12:47
(6) Общий кэш системы настроен просто на виртуальный диск, как я понимаю 1с автоматически туда же.
8 Злопчинский
 
18.07.20
12:51
(0) что говорит типовая ведомость по остаткам по поводу движения задвоенных позиций?
9 Voronve
 
18.07.20
13:01
(0) ТИИ на копии делал ? Ошибки есть какие ?
10 kirill123
 
18.07.20
13:21
(8) Движения показывает по обеим позициям одинаковые, такие как должны быть по оригинальной позиции (проверял в старой базе, в которой бага еще не было).
Единственное: у нас учет ведется в разрезе не только номенклатуры, а и размеров. Так вот в базе с багом - по обеим "задвоенным" позициям в ведомости по остаткам размеры не выходят в печформу, хотя в группировках флажок стоит.
11 kirill123
 
18.07.20
13:22
(9) Делал, ошибок не было
12 Voronve
 
18.07.20
13:23
(11) Выгрузка/загрузка проходит нормально ?
13 Злопчинский
 
18.07.20
14:24
Ставлю на кривые руки при дописках. где-то косяк в алгоритме.
14 Злопчинский
 
18.07.20
14:25
формат базы? если дбф - критичных размеров нет?
15 kirill123
 
18.07.20
14:29
(13) Ну тут странно. Одно дело случайная пометка на удаление или даже полное удаление - ок, возможно.
А тут происходит дикость: одна позиция пропадает, одновременно у другой появяется призрак-дубль, но оба они "битые".
как такое кодом можно сделать?
16 2S
 
18.07.20
14:34
макс размер дбф?
17 kirill123
 
18.07.20
15:12
(16) 271515 Кб
18 Злопчинский
 
18.07.20
15:24
(15) Отборы/фильтры в списке номенклатуры? использоватьСписокЭлементов() - юзается?
19 kirill123
 
18.07.20
15:30
(18) Да, и достаточно часто кстати.

Вот такой сценарий например в форме списка:
Процедура ПоискПоПодстроке(Реж)
    
    Если (ПустоеЗначение(СокрЛП(ПодСтрока))=1) и (Реж=1) Тогда
        ИспользоватьСписокЭлементов();
        Возврат;
    КонецЕсли;

    СохрИсторию();    
    
    Если Реж=1 Тогда
        
        СписокНом = глПоискПоСтрокеНомВозвратСписка(ПодСтрока);
        СписокНом.Сортировать();
        Если ПустоеЗначение(СписокНом)=0 Тогда
            ИерархическийСписок(0);
            ИспользоватьСписокЭлементов(СписокНом);
        КонецЕсли;
    
    ИначеЕсли Реж=2 Тогда
        
        Параметр    = СоздатьОбъект("СписокЗначений");
        Параметр.ДобавитьЗначение(СокрЛП(Подстрока),"Подстрока");
        Параметр.ДобавитьЗначение("Справочник.Номенклатура","Источник");
        Параметр.ДобавитьЗначение("Номенклатура","ВидИсточника");
        ОткрытьФормуМодально("Отчет",Параметр,КаталогИБ() + "ExtForms\мои\НоменклатураОбрабГруппТиповая.ert");
        
        Если ТипЗначенияСтр(Параметр) <> "СписокЗначений" Тогда
            Возврат;
        КонецЕсли;
        Подстрока = Параметр.Получить("Подстрока");
        СписокВрем = Параметр.Получить("СписокТоваров");
        Если ТипЗначенияСтр(СписокВрем)="СписокЗначений" Тогда
            Если СписокВрем.РазмерСписка()>0 Тогда
                СписокВрем.Сортировать();
                Если ПустоеЗначение(СписокВрем)=0 Тогда
                    ИерархическийСписок(0);
                    ИспользоватьСписокЭлементов(СписокВрем);
                КонецЕсли;
            КонецЕсли;
        КонецЕсли;
        
    КонецЕсли;
    
КонецПроцедуры
20 Злопчинский
 
18.07.20
16:35
(19) порой в эту сторону. Подыми на мисете ветки по обсуждению ИспользоватьСписокЭлементов() - есть особенности. которые приводят к траблам похожим что у тебя.
.
по коду непонятно, но я бы сделал в качестве "подстраховки" - убрал фильтрацию списка справочника, а для выбора отфильтрованных по поиску - использовал бы что-то типа типовой тис Обработка.ВопросСтаблицейЗначений (переделав его или аналог сделать для выбора нужного значения из ТЗ)
21 kirill123
 
19.07.20
16:52
(20) посмотрел все что смог найти с ИспользоватьСписокЭлементов(), но похожего на мою проблему не нашел. Тут ещё возможно важный момент - данные в дбф тоже побиты. А восстанавливаем позицию мы по следующему алгоритму:

Номенклатура. Системный код 61024 (не код номенклатуры, а именно системный код). Это позиция которая пропала.

1. Через обработку Вычисление кода находим ее ID "  1B34
Задвоены костюм Легион, код 14435 (в боевой базе, это уже обычный код номенклатуры). То есть наша позиция, которая пропала - задвоилась в Костюм Легион.
2. Находим через программку просмотра ДБФ в боевой базе позиции по коду 14435 (задвоенные)
Испорчена из них та, у которой разные ID в колонках ID и  SP11186 (скорее всего вторая в списке
3. Через программу просмотра ДБФ ч старой базе (неиспорченной) находим позицию по ID "  1B34".
4. Копируем из старой базы в боевую данные из колонок, которые не совпадают.
5. Сохраняем изменения в программе просмотра ДБФ.
6. Удаляем все индексные файлы в боевой базе (которую исправляем) и перезапускаем 1с монопольно.
22 Злопчинский
 
19.07.20
18:01
(21) А что нашел?
23 Djelf
 
19.07.20
20:34
(0) Отбери права у всех на "Режим удаления объектов". Кто-то, имхо, развлекается с полными правами.
Если ни у кого нет таких прав, то напрямую через sql гадят.
Нужно найти эту гадину и заставить ответить перед всем коллективом (расстрел на месте нынче не толерантно).
24 Mikeware
 
19.07.20
21:04
(21) так и не понял, как именно задвоены - id'ы тоже? что такое "системный код"? id в 10-й форме, чтоль?
Или id "дубля" остается , остальные данные затираются?
==========
Найди все действия записи номенклатуры (в форме элемента в кнопке замени #Записать#Закрыть на вызов функции с этими действиями), и перед всеми попытками записи пиши в ЖР кто и что пишет. Найдешь, при чьих действиях происходит ошибка - пытай юзверя на предмет совершаемых действий.
25 Ёпрст
 
19.07.20
22:00
(0) id задваиваются штатно, при некоторых цсловиях в форме списка. Обнаружил(а) "лучшая ссср".. не помню точный ник, была тема или тут или на кубани. Воспроизводится тоже, даже на 27 релизе
26 Ёпрст
 
19.07.20
22:01
Связано, с редактированием в форме списка и..коррче, где то была ссылка в закладках
27 Злопчинский
 
19.07.20
22:02
(25) Да, именно про это я и имел в виду подсказывая ТС порытся
28 Злопчинский
 
19.07.20
22:11
Коды субъектов РФ - действующий актуальный список подскажет ссылку кто? это не инет, это яма выгребная какая-то, хрен что найдешь оперативно
29 Злопчинский
 
19.07.20
22:11
(28) сорри, ошибся веткой
30 Ёпрст
 
19.07.20
23:12
На кубани это было, вот ветка
http://www.kuban.ru/forum_new/forum9/arhiv/271386.html

правда, на кубани смотрю, всё повырезали, даже мой ник теперь как Гость светится..
Кубань жива еще ? Не ? сто лет там не был
31 Злопчинский
 
20.07.20
03:01
(30) жива, но совсем мало. там более-менее только зарплатные вопросы еле-еле дышат, а так почти тухляк
32 Злопчинский
 
20.07.20
03:03
(30) хрень открывается. если утебя норм открывается - можешь сохранить и куда-нить выложить страницу?
33 kirill123
 
20.07.20
08:41
(30) Та же история. Скиньте пжл в любом виде.
34 2S
 
20.07.20
08:46
(31) а Геннадий Янович еще дает жару?
35 Ёпрст
 
20.07.20
10:20
(32)  не, это ссылка с прошлых веток. В вэб архиве тоже нема, это надо на кубани спрашивать, куда они весь форум похерили, и зачем ники повырезали.
Смотреть на прошлые ветки, где все Гости, так себе зрелище
36 kirill123
 
20.07.20
10:32
(35) Написал в техподдержку форума, может получится достать.
37 Злопчинский
 
20.07.20
12:30
(35) ники они кто не заходит долго - аннулируют, там спецветка есть для флажкования присутствия
http://forums.kuban.ru/f1040/off_zashel_chtoby_ne_udalili_akkaunt-8595211.html
38 Злопчинский
 
20.07.20
12:31
(36) Это вряд ли, если похерили, то похерили, я свои ветки-бложики пытался достать, не удалось..
Можно попробовать на автора ветки выйти/найти и у нее поспрошать.
39 Злопчинский
 
20.07.20
12:32
А лучше всего - НАХРЕН ЗАБИТЬ И НЕ ИСПОЛЬЗОВАТЬ ИспользоватьСписокЭлементов() вообще.
это можно только если гарантировать что это будет использоваться ТОЛЬКО В РЕЖИМЕ ПРОСМОТРА.
а иначе - перекидывать в ТЗ или иные объекты и оттуда юзать нужные функции
40 tgu82
 
20.07.20
13:04
(39) Да. Не раз убеждался что использоватьсписокэлементов() - это зло
41 kirill123
 
20.07.20
13:55
(39) А если я отключаю программно таким образом его:
ИспользоватьСписокЭлементов();

И после этого открываю карточку номенклатуры и правлю его - может теоретически баг повториться?
42 Злопчинский
 
20.07.20
14:02
(41) по идее должно быть норм.
43 Злопчинский
 
20.07.20
14:02
и в ветке которяа погибла - там трабл был связан вроде с тем, что добавление/редактирвоание проводилось в списке.
44 kirill123
 
20.07.20
14:06
(43) У нас в списке Контрагенты и номенклатура вроде как не редактируются... Попробую таким путем обойти, спасибо.
45 Ёпрст
 
24.07.20
13:03
46 Злопчинский
 
24.07.20
14:37
(45) сграбил. другой вопрос - найду ли потом когда понадобится ;-)
47 Злопчинский
 
24.07.20
14:38
НА ИС положить что ли отдельной статьей.. ;-0
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.