Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Как отследить изменение в регистре количества номенклатуры?

Как отследить изменение в регистре количества номенклатуры?
Я
   Web00001
 
15.08.19 - 08:03
Доброго времени суток. Пишу синхронизацию остатков с вебсервисом заказчика. Как отследить новую\изменнную номенклатуру которая есть на остатках, понятно. Но непонятно как отследить её отсутствие. То есть провел человек документ поступление. Номенклатура пометилась как измененная. Остатки по ней уехали при след синхронизации. А потом человек взял и удалил что-то из документа. И все номенклатура здесь с остатков пропала а по ней информация на сервере никак не изменилась. Не могу ничего придумать. Единственное, что приходит в голову - помечать выгруженную номенклатуру и смотреть ее количество на остатках. Но это каждый раз перебирать вообще ВСЮ выгруженную ранее номенклатуру. Что конечно не айс. Что посоветуете?
 
 
   unbred
 
1 - 15.08.19 - 08:05
"Номенклатура пометилась как измененная." " с остатков пропала а по ней информация на сервере никак не изменилась" 
ты уж определись.
   VS-1976
 
2 - 15.08.19 - 08:05
Делаешь регистр номенклатур, которые выгружаются ( типа реестр ), а потом левое соединение с остатком
   Web00001
 
3 - 15.08.19 - 08:16
(1)Если проводится документ БЕЗ этой номенклатуры, то в ЭТОЙ базе остатки поменяются, но на web сервер они не придут. Потому, что никто(включая эту базу) не в курсе, что номенклатура вообще была в документе.
   Web00001
 
4 - 15.08.19 - 08:18
(2)Хотелось бы избежать возни с хранением выгруженной номенклатуры. Это избыточная, ненужная информация в базе.
   unbred
 
5 - 15.08.19 - 08:19
(3)> "Номенклатура пометилась как измененная." 
. значит ты ей признак какой-то дал. 
>"никто(включая эту базу) не в курсе, что номенклатура вообще была в документе."
значит хреновый признак.
переделай.
   unbred
 
6 - 15.08.19 - 08:20
(4) в твоём случае самое оно,если в реквизите не хранишь значение.
   Web00001
 
7 - 15.08.19 - 08:21
(5)>>значит хреновый признак.
Причем здесь признак? Я не могу пометить того, что нет.
   Web00001
 
8 - 15.08.19 - 08:22
(6)Да не так принипиально где это хранить. Неохота вообще хранить ибо (4)
   Sapiens_bru
 
9 - 15.08.19 - 08:22
(3) Ответ в (2).
По сути тебе нужно реализовать копию каталога сайта в базе. Это тебя спасет и от исчезающих остатков и от удалённой номенклатуры.
   unbred
 
10 - 15.08.19 - 08:24
(8) ну как бы регистры для этого придуманы. если есть другой способ-подскажи.
   Web00001
 
11 - 15.08.19 - 08:28
(10)>>ну как бы регистры для этого придуманы
Для хранения информации которая не нужна на этом сервере?
>> если есть другой способ-подскажи.
Знал бы способ я бы не спрашивал. Я думаю проверять тч перед записью документа на тему удаленных строк. Но как-то это немного костыльно.
   Сияющий в темноте
 
12 - 15.08.19 - 08:29
Можно еще регистрацию к обмену задействовать.
она при проведении документа и изменении остатка зарегистрирует отбор по номенклатуре к обмену,а тот факт,что выборкп по этому отбору даст ноль будет означать,что номенклатуру удалили.
причем,это стандартная функция платформы.
   unbred
 
13 - 15.08.19 - 08:29
(11) >Для хранения информации которая не нужна на этом сервере?
ну тебе же нужна.)
   Cyberhawk
 
14 - 15.08.19 - 08:29
Подписка на регистр остатков
   Cyberhawk
 
15 - 15.08.19 - 08:32
В ПередЗаписью создаешь НЗ и читаешь старый набор (с отбором по регистратору), выгружаешь нужные измерения (склад / номенклатура). Дополняешь их значениями из нового (текушего) набора. Получаешь полный массив измененных складов / товаров.
   Cyberhawk
 
16 - 15.08.19 - 08:33
Складываешь эти массивы в БД.
Ну а дальше по нужному тебе событию уже получаешь актуальные остатки по всем измененным измерениям и отправляешь куда надо.
Профит.
   Cyberhawk
 
17 - 15.08.19 - 08:34
Если без регистра, то аналогично подписка ПередЗаписью документа и лезешь в ТЧ от ссылки и в ТЧ объекта и получаешь полный массив измененных позиций. Дальше аналогично. Профит
   Web00001
 
18 - 15.08.19 - 08:37
(12)План обмена используется. У меня базовая УТ, приходится вручную регать там номенклатуру. То есть недоступно все это.
(15)Недоступны подписки на события в расширениях
(17)Тоже думал об этом в (11)
   piter3
 
19 - 15.08.19 - 08:38
(18) Делай не вручную
   Cyberhawk
 
20 - 15.08.19 - 08:39
"Недоступны подписки на события в расширениях" // Ну так модуль объекта значит с аннотацией "Перед"
   Web00001
 
21 - 15.08.19 - 08:47
(19)Как? УТ базовая, юзаю план обмен "ОбменССайтом". При записи объекта в этот план ничего не падает. Я так понимаю, потому, что синхронизация отключена. Может есть другая причина, я не знаю, сложно разобраться почему, нет половины модулей.
(20)Ну да. можно юзать этот костыль. Помечать номенклатуру которая пропала из документа как подозрительную. И проверять ее при выгрузке. Костыльно, но должно работать.
   Cyberhawk
 
22 - 15.08.19 - 08:50
(21) Что-то ты заладил "костыль да костыль"
   Web00001
 
23 - 15.08.19 - 08:53
(22)Да чота много приседаний над такой простой задачей. И как-то все равно по дурацки, какой вариант не возьми.
   Cyberhawk
 
24 - 15.08.19 - 08:55
Других вариантов для точечной маркировки измененных остатков, кроме описанного мною, и нет
   Cyberhawk
 
25 - 15.08.19 - 08:56
(потому как у нужного измерения в типовом регистре может не стоять "Основной отбор" и авторегистрация регистра не спасет)
   Rovan
 
26 - 15.08.19 - 09:11
а через план обмена нельзя сделать ?
он может хранить в том числе изменения регистров


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.