Имя: Пароль:
1C
1С v8
Получить данные прошлой версии документа в отчете.
0 Rks_1C
 
04.09.24
15:49
Добрый день. Прошу совета, куда пойти? Требуется получить данные (номенклатуру) из всех предыдущих версий документа "Заказ клиента" и добавить в отчет. Цель - отследить "выпадающие продажи" и обеспечить наличие необходимого остатка на складе. Отчет, к которому эти данные хочу прикрепить готов, а вот с этим пунктом вопросики.
Как понял, данные версий хранятся в XML формате (_DataHistoryMetadata). В ИТС пишут получать методом ПолучитьМетаданные(). Не соображу как в кучу все это собрать. Количество версий заказов может быть от 2 до 15. Напихайте в панамку, кому не жалко, чтоб хоть было над чем подумать. (ERP 2 (2.5.11.96))
2 RomaH
 
04.09.24
16:50
история где хранится? БСП или платформа?

если платформа - то методы работы с историей - оттуда можно получить таблицы
эти таблицы потом в СКД передать - и вуаля
3 evorle145
 
04.09.24
17:24
(0) если не получится с версионированием, может будет проще свой регистр в расширение добавить и писать в него изменения таб части Заказа клиента. А потом уж по своему регистру отчет любой сделать можно.
4 Franchiser
 
04.09.24
17:35
(0) ИсторияДанных.ПолучитьМетаданные(Данные, номерверсии)
5 Rks_1C
 
05.09.24
06:35
(2) (3) (4) Ок, пон, что называется. Спасибо, пошел пробовать.
6 Rks_1C
 
13.09.24
15:24
История данных отключена для документа "Заказ клиента", а версионирование включено. Задумка в отчете новым набором данных - Объект, получить выборку по версиям и затем объединить с существующим отчетом (запросом). Подскажите, пожалуйста, с синтаксисом. Ну или чего почитать, чтоб разобраться?
7 Franchiser
 
14.09.24
14:22
(6) идея сама по себе бредовая, лучше уж тогда делать отдельные документы заказы.
8 Rks_1C
 
16.09.24
08:57
(7) Почему бредовая? Долго формировать будет или есть варианты как получить эти данные проще?
9 Мультук
 
16.09.24
09:08
(8)

Потому что вы вероятно вовсе удаляете строку с номенклатурой из Заказа клиента
А ведь там есть поле "Отменено" и "Причина отмены".
10 Михаил Козлов
 
16.09.24
09:20
(9)+. Есть и отчет Причины отмены заказов.
11 Rks_1C
 
16.09.24
09:52
(9) В версии документа остается же вся номенклатура, которая была на момент записи версии документа. Не совсем понял причем тут "Отменено" и "Причина отмена заказов".?
12 Rks_1C
 
16.09.24
10:30
(10) Отчет есть, но эта информация не нужна в отчете, который пытаюсь сделать.
13 mr_K
 
16.09.24
11:40
(9)+ Полностью поддерживаю. Отменять позиции в счете и указывать причину - единственно правильный методически вариант
14 mr_K
 
16.09.24
11:41
(11) из документа не стоит удалять строки, тогда и не будет необходимости анализировать xml с версиями.
16 Rks_1C
 
16.09.24
14:13
(14) а где такой функционал запрятан - отмена позиции? Бегло посмотрел, не нашел в заказе клиента такой опции.
17 Rks_1C
 
16.09.24
14:14
А все, разобрался.
18 Злоп
 
16.09.24
14:17
(13) И собирать отчет табличной части ПО ДОКУМЕНТАМ ...? а зачем регистры тогда? почему все отчеты не собирать по документам и отказаться от регистров, как ненужных сущностей...
19 Rks_1C
 
16.09.24
15:04
(18) так в регистре только номера версий, все данные версий  в XML формате. В том и сложность у меня, получить оттуда и вставить в отчет.
20 Dedal
 
16.09.24
15:21
(19) Сам подход к решению задачи не верен, откуда ты будешь брать данные почему позицию убрали? Может: клиент другую захотел, денег не хватило/выделили. Отмена позиции без наличия на складе ≠ выпавшая продажа из-за отсутствия на складе.

Самый лучший вариант тебе подсказали в (9). А версирование тут нужно чтобы стимулировать людей заполняющих заказ не удалять строчки. Вида удалили строчки вместо указания причины молодец: минус KPI,  минус премия.
21 Rks_1C
 
17.09.24
12:22
(20) Ок, теперь понятно, благодарю. Как раз задачу навесили, для всех отделов разработать схемы корректного и полного заполнения документов.