Имя: Пароль:
1C
1С v8
Исправление регистра накопления - потеря регистратора
0 Tornadius
 
10.12.18
13:48
Доброго всем дня. такая ситуация:  Конфа УПП (1.3.113.4) платформа 8.2.19.130. в конфу добавлены два регистра накопления у которых в качестве регистратора указан документ ПлатежныйОрдерСписаниеДенежныхСредств. При последнем обновлении с док. ПлатежныйОрдерСписаниеДенежныхСредств не была снята галочка и он перезатерся стандартным из типовой поставки. Соответственно движения по самописным добавленным регистрам накопления были затерты.
Обратное добавление в список регистраторов данного документа результатов не принесло.


Вопрос: Можно ли каким либо образом восстановить движения в регистрах, конкретно те строки у которых регистратором являлся ПлатежныйОрдерСписаниеДенежныхСредств?  

Вопрос 2: можно ли программно создать записи в регистрах взяв данные из резервной копии?
1 Очевидно
 
10.12.18
13:56
(0) а что мешает снова добавить этот документ регистратором в эти самописные РН и программно сформировать движения для регистров с потерянными данными (код обработки проведения же остался .. хотябы в бэкапе)?
2 Очевидно
 
10.12.18
13:58
(0) если сами документы очистились в результате этого обновления, тогда видимо только перенос из бэкапа ..
3 Дмитрий
 
10.12.18
14:01
(0) добавить документ с реквизитом типа ПлатежныйОрдерСписаниеДенежныхСредств

этот документ пусть делает нужную проводку
4 se85
 
10.12.18
14:38
(0) Бэкапп в тестовую и из нее перенос данных не ваш вариант?!
5 Tornadius
 
11.12.18
04:02
(1) Документы не очистились, пропали только те записи в самописном регистре накопления у которых ПлатежныйОрдерСписаниеДенежныхСредств был регистратором.
Перепроводить сам ордер, пусть даже и программно, не вариант, данные с 2008 по 2018 г. (закрытые периоды).
Вот я и спросил как добавить данные в РН программно без проведения док. ПлатежныйОрдерСписаниеДенежныхСредств.
(4) Я и планировал сделать перенос данных с бэкаппа, но не знаю как программно их записать в РН. Прочитать я из копии могу запросом, через подключение по COM. Но вот как их записать в реестр?
6 catena
 
11.12.18
05:07
(5)Красная буква Я в правом углу первого сообщения знает все про программное добавление записей регистра.
7 hhhh
 
11.12.18
06:12
(5) вообще-то обработка ВыгрузкаЗагрузкаXML рулит. Тупо запускаете, в бэкапе Выгрузить, в рабочей базе Загрузить.
8 gantonio
 
11.12.18
06:16
там строк 10 кода .. это просто таблица в которую можно писать не проводя документ ..лишь бы получить эти записи где-то ..
9 Tornadius
 
11.12.18
06:34
Записи в РН формировались подпиской на обработку проведения док.ПлатежныйОрдерСписаниеДенежныхСредств оттуда я могу взять код и заново сформировать записи. Сами документы ПлатежныйОрдерСписаниеДенежныхСредств в базе остались.
Но вопрос будут ли они идентичны тем что были? Поэтому и встал вопрос о переносе из бэкаппа. При записи в наборзаписей с отбором по регистру, например, НомерСтроки невозможно указать. он только на чтение.
Если выполнить код из подписки по проведению заново не задвоит ли со старыми записями или они потеряны?
10 Лодырь
 
11.12.18
06:36
(9) Кто мешает проверить? делов то на полчаса, если только тестировать.
11 gantonio
 
11.12.18
06:51
идентичны не будут, но тождественны если вы не снесли еще что то кроме этого будут , правда надо оценить как изменения в базе задним числом может повлиять на них ..
ну а самое простое это взять их в копии ..выгрузить эту таблицу и вставить назад .. тогда вообще ни о чем думать не надо.
12 Tornadius
 
11.12.18
06:55
(11) Можно поподробнее? Как быть со ссылками? куда выгружать таблицу? в файл?
13 gantonio
 
11.12.18
07:01
тут я бессилен. когда я теряю такие данные я обычно
выгружаю таблицу в тектовый файл - ишу код
далее загружаю из файла и записываю
при условии что считаю что все остальные записи на месте то
все просто ищу по коду записей или значению
конвертацию надо знать что бы пользоваться .. мне ее лень разворачивать не конкретной базе
Но вообще есть куча обработок что бы это сделать, думаю на инфостарте что нибудь есть, но я там не бываю .. там хотят какие то монетки ..
14 gantonio
 
11.12.18
07:06
всего то надо это написать код по выгрузке таблицы в фал и загрузки из нее в другой файл ..
кому то проще через ком, мне вот через текст ..
а вот перепровести программно только этот регистр можно тоже, но только в очень простых случаях .. или если очень хорошо знаете что у вас в базе творится.
15 catena
 
11.12.18
07:11
Выброчное проведение:

    ДокОбъект = ДокСсылка.ПолучитьОбъект();

    НачатьТранзакцию();

    ДокОбъект.Записать(РежимЗаписиДокумента.Проведение);
    ДокОбъект.Движения[ИмяРегистра].Прочитать();
    ТаблицаДвиженийРегистра = ДокОбъект.Движения[ИмяРегистра].Выгрузить();

    //здесь отменяем проведение документа, чтобы ничего не изменилось
    //в прошлых периодах (по другим регистрам)
    ОтменитьТранзакцию();

    Если ТипРегистра = "РегистрыСведений" Тогда
        НаборЗаписей = РегистрыСведений[ИмяРегистра].СоздатьНаборЗаписей();
    ИначеЕсли ТипРегистра = "РегистрыНакопления" Тогда    
        НаборЗаписей = РегистрыНакопления[ИмяРегистра].СоздатьНаборЗаписей();
    ИначеЕсли ТипРегистра = "РегистрыБухгалтерии" Тогда    
        НаборЗаписей = РегистрыБухгалтерии[ИмяРегистра].СоздатьНаборЗаписей();
    ИначеЕсли ТипРегистра = "РегистрыРасчета" Тогда    
        НаборЗаписей = РегистрыРасчета[ИмяРегистра].СоздатьНаборЗаписей();
    Иначе
        Возврат;
    КонецЕсли;    
    НаборЗаписей.Отбор.Регистратор.Установить(ДокСсылка);
    НаборЗаписей.Загрузить(ТаблицаДвиженийРегистра);
    НаборЗаписей.Записать();
16 Web00001
 
11.12.18
07:16
Тоже не понял, что удерживает от (7) ?
17 gantonio
 
11.12.18
07:22
ну, например у меня такой обработки в базе нет ) как впрочем и упп, если такая штука есть, то конечно самое просто ей сделать .. так как там конечно все по взрослому )
18 Tornadius
 
11.12.18
07:34
(16) там заморочки с конвертацией данных, надо образы метаданных делать и ...
написал обработку по образу подписки на проведение, попробую переповести только по данному регистру. Благо таких документов оказалось только 37 штук (сделал в копии запрос по регистру с отбором по типу регистратора)
19 hhhh
 
11.12.18
07:41
(18) конвертация там не участвует. Вы с чем-то путаете.
20 Tornadius
 
11.12.18
08:01
(1) Операции - Обработки - Универсальный обмен данными в формате XML -
первая строка на форме : Загрузка файла правил.
данный файл генерится в конфе "Конвертация данных" со всеми вытекающими танцами
21 Tornadius
 
11.12.18
08:04
(19)
22 Мимохожий Однако
 
11.12.18
08:09
(20) ВыгрузкаЗагрузкаXML?
23 Web00001
 
11.12.18
08:41
(17)Ни обработки в базе, ни интернета на компьютере, них.. ничего вообще нет у бедного 1сника. На форуме сидит с домофона.
(20)Может покажешь, где речь шла об обработке "Универсальный обмен данными в формате XML"? Ей тоже можно, но совершенно непонятно зачем - конфигурации идентичины.
24 Web00001
 
11.12.18
08:43
http://programmist1s.ru/perenos-dannyih-1s/ сразу с гайдом первая строка в гугле
25 el-gamberro
 
11.12.18
08:45
(23) Структура регистров идентична
26 Web00001
 
11.12.18
09:00
(25)Да, я имел ввиду, что структура данных которые надо перетащить идентична
27 Serg_1960
 
11.12.18
09:47
Я не фанат РИБ, но база из архива легко превращается в подчинённый узел минут за 10 (наде же ещё кофе попить).
Далее штатно - регистрация изменений и обмен.

PS: за идентичность конфигураций рабочей и архивной баз можно не беспокоится - процесс восстановления идентичности конфигураций в РИБ почти что типовая процедура :)
28 breezee
 
11.12.18
09:50
(0) Как он мог перезатереться? Вы что назвали, документе так же, как он называется в типовой конфе?
29 catena
 
11.12.18
09:53
(28)Нет, они типовой документ привязали к нетиповому регистру, а при обновлении типовой релиз убрал этот нетиповой регистр из движений типового документа.
30 Serg_1960
 
11.12.18
09:54
Да уж. Русский язык такой богатый и могучий, что не все с ним справляются :))
31 Tornadius
 
11.12.18
14:42
(24) Пробовал этой обработкой, но отказался, ибо там только стандартные виды сравнения, а как в запросе через операнд "Ссылка" не получится отобрать по типу документа., а вылавливать и добавлять в список казалось долго. я позже подсчитал, что их немного, когда свою обработку написал.
32 Tornadius
 
11.12.18
14:43
(27) 10 минут ?  база весит за 300 Гиг.
33 Tornadius
 
11.12.18
14:44
(28) Вы правы. так оно и произошло
34 hhhh
 
11.12.18
16:12
(33) зачем отбор. Вам без отбора. Ставите галочку на весь регистр полностью. Полностью регистр грузите. Без всяких ссылок.
35 Serg_1960
 
12.12.18
16:05
(32) Я не учитываю время, нужное на разворачивание базы из архива (во-первых: я не в курсе как именно Вы архивы ведёте; во-вторых: это неважно так, как Вам всё равно базу из архива разворачивать нужно) - я говорил только о создании РИБ, главного и подчиненного узла, из существующих базах.