Вход | Регистрация
    1  2
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Обрезать базу

v7: Обрезать базу
Я
   Mikhail Volkov
 
27.01.19 - 12:07
Попросили 7-ную базу (копию) обрезать по документам до 2018 года (справочники все перенести). Конфигурация ПРИБОРСЕРВИС: Кредитный кооператив 1.1. На счет переноса начальных остатков - вроде не нужны. Сделал правила выгрузки в КД2, копию базы, удалил из нее файлы документов: DH* и DT*. А вот что делать с этими?
1SJOURN - Заголовки документов.
1SCRDOC - Содержит вхождения документов в графы отбора, списки подчиненных документов, вхождения документов в общие журналы, для которых определен состав документов.
1SDNLOCK - Информация о нумерации документов.
 
 
   Mikhail Volkov
 
101 - 03.02.19 - 10:53
Оказывается при сохранении правил обмена для 7-ных конфигураций появляются 2 галочки: Выгружать модуль обработки выгрузки (загрузки) данных для платформы 7.7, и сами файлы модулей выгрузки и загрузки. Эти модули нужно вставлять в обработки V77Exp.ert и V77Imp.ert. Об этом узнал из v8: Конвертация данных. Помогите разобраться..
С модулем выгрузки не было проблем. Почти, в функцию Предопределенный параметр КодСчета (92) не подставил, каждое условие надо в скобочки брать (разучился с 7-кой работать). Исправил прямо в модуле V77Exp.ert.
А вот с модулем загрузки ошибок куча, вот первые из них:
Пока ПолучитьСтроку<<?>>() = 1 Цикл
{C:\SERV\1CV77\АРХИВЫ\V77IMP.ERT(81)}: Функция не обнаружена (ПолучитьСтроку)
Если ПустоеЗначение(КоррСчет<<?>>) = 1 Тогда
{C:\SERV\1CV77\АРХИВЫ\V77IMP.ERT(82)}: Переменная не определена (КоррСчет)
ТекстСообщения = "В строке №" + НомерСтроки <<?>>+ " не указан корреспондирующий счет.";
{C:\SERV\1CV77\АРХИВЫ\V77IMP.ERT(83)}: Переменная не определена (НомерСтроки)
Сообщить("" + ?(ОбъектНайден<<?>>, "Обновлен", "Загружен") + ": " + Строка(Объект), "i");
{C:\SERV\1CV77\АРХИВЫ\V77IMP.ERT(88)}: Переменная не определена (ОбъектНайден)
Сообщить("" + ?(ОбъектНайден, "Обновлен", <<?>>"Загружен") + ": " + Строка(Объект), "i");
{C:\SERV\1CV77\АРХИВЫ\V77IMP.ERT(88)}: Слишком много фактических параметров
Сообщить("" + ?(ОбъектНайден, "Обновлен", "Загружен") <<?>>+ ": " + Строка(Объект), "i");
{C:\SERV\1CV77\АРХИВЫ\V77IMP.ERT(88)}: Неопознанный оператор
...
В ПКО документов ПослеЗагрузкиОбъекта, в которых передаются счета вставил проверку заполненности счетов, например, в ПКО_АвансовыйОтчет_ПослеЗагрузкиОбъекта:

Если Параметры.Комментировать = 1 Тогда
    ТекстСообщения = "";
    Объект.ВыбратьСтроки();
    Пока ПолучитьСтроку() = 1 Цикл
        Если ПустоеЗначение(КоррСчет) = 1 Тогда
            ТекстСообщения = "В строке №" + НомерСтроки + " не указан корреспондирующий счет.";
            Прервать;
        КонецЕсли;
    КонецЦикла;
    Если ПустаяСтрока(ТекстСообщения) = 1 Тогда
        Сообщить("" + ?(ОбъектНайден, "Обновлен", "Загружен") + ": " + Строка(Объект), "i");
    Иначе
        Сообщить("" + ?(ОбъектНайден, "Обновлен", "Загружен") + ": " + Строка(Объект) + " " + ТекстСообщения, "!");
    КонецЕсли;
КонецЕсли;

Давно в 7-ке не писал, как правильно?
   ДенисЧ
 
102 - 03.02.19 - 11:00
Объект.ВыбратьСтроки();
    Пока Объект.ПолучитьСтроку() = 1 Цикл
   ДенисЧ
 
103 - 03.02.19 - 11:00
И далее по тексту.

"Давно в 7-ке не писал" - отмазка не катит, в 8ке так же надо
   Mikhail Volkov
 
104 - 03.02.19 - 12:18
(10) А эта?: Сообщить("" + ?(ОбъектНайден <<?>>= 1, "Обновлен", "Загружен") + ": " + Строка(Объект), "i");
{C:\SERV\1CV77\АРХИВЫ\V77IMP.ERT(88)}: Переменная не определена (ОбъектНайден)
Или чем заменить Объект.Ссылка.Пустая() в 7-ке?
   KoZuB
 
105 - 03.02.19 - 13:01
(101) "Обработчики "Правила конвертации объектов"
После загрузки
Условия возникновения события
Только для платформы V8."
   Aleksey
 
106 - 03.02.19 - 13:43
(105) брешут
   Mikhail Volkov
 
107 - 03.02.19 - 14:40
(105) Ладно, поверим, убрал ОбъектНайден. А что за сообщения (вроде не ошибки)?:
Порядковый номер объекта в файле:  41
Неверное имя реквизита:Документ.ПриходныйОрдер.Проведен
Порядковый номер объекта в файле:  41
Неверное имя реквизита:Документ.ПриходныйОрдер.ПометкаУдаления
Много, наверное по каждому загруженному документу.
   hhhh
 
108 - 03.02.19 - 16:22
(107) ну нету в семерке реквизита Проведен. Нет и никогда не было. И ПометкаУдаления никогда не было. Заканчивайте уже со своими восьмерочными замашками.
   Djelf
 
109 - 03.02.19 - 17:38
(107) Доработка КД для поддержки реквизитов Проведен и ПометкаУдаления http://catalog.mista.ru/public/240825/
   Mikhail Volkov
 
110 - 03.02.19 - 18:13
(109) Спс, это Конвертация реквизитов Проведен и ПометкаУдаления из 8 в 7.7, а у меня обе 7-ные.
(108) КД2 сама создала ПКС Проведен и ПометкаУдаления для всех документов. Что удалить их?
   hhhh
 
111 - 03.02.19 - 18:22
(110) наверно надо доработать под себя (109)
   Djelf
 
112 - 03.02.19 - 18:57
(110) Ты не понял. Это не фикс конвертация реквизитов только из 8ки, это фикс обработки этих реквизитов при загрузке в 7.7 и не важно какая конфигурация или база была источником.
Исправь как там написано и будет работать. У меня работало.
   Mikhail Volkov
 
113 - 03.02.19 - 19:38
(112) Там доработки ЗагрузитьДокументV8(), не нашел ее ни V77Exp.ert, ни V77Imp.ert!?
   Djelf
 
114 - 03.02.19 - 19:48
(113) Все верно. Ее там и нет! Поэтому и не работает.
Смотри внимательнее код в фиксе, это дополнительная процедура, которая будет выгружаться в код для V77Imp.
   Mikhail Volkov
 
115 - 04.02.19 - 06:54
(114) Не понял, куда ее вставлять/править, если не в V77Imp.ert, V77Exp.ert?
И ради чего, чтобы не было ошибок (107)? Не проще ли удалить ПКС Проведен и ПометкаУдаления из КД2?
   Djelf
 
116 - 04.02.19 - 08:29
(115) Чтобы понять куда его вставлять, нужно прочитать в статье по ссылке куда его вставлять. Там это написано.

Если нет разницы в том проведены или помечены на удаления документы - проще. Разрешаю удалить.
   Mikhail Volkov
 
117 - 04.02.19 - 08:32
(116) Вроде читал, но не нашел. Подсказать не можешь?
   Salimbek
 
118 - 04.02.19 - 08:39
(117) Странно, я вот такое прочитал в той статье: "Этот код находится в в Обработке ВыгрузкаКонвертации, макет ПроцедурыИФункцииМодуляЗагрузки"
   Mikhail Volkov
 
119 - 04.02.19 - 10:08
(118) ПроцедурыИФункцииМодуляЗагрузки - в самой КД2, а где конкретно?
   Ёпрст
 
120 - 04.02.19 - 11:18
да ё.. выгружаешь модуль в кд, ставляешь его целиком в импорт/экспорт.. усё.
   Ёпрст
 
121 - 04.02.19 - 11:19
А так то фигня, всего неделя прошла, можно было и кд к этому времени подучить
   Mikhail Volkov
 
122 - 04.02.19 - 19:07
(120) > Напомню, при выгрузки правил из конвертации можно выгрузить и обработчики для семерки, что я постоянно делал. И чтобы не переписывать каждый раз эти обработчики. я решил рабочий код прописать в конвертации. Нашел откуда он берется и заменил его на рабочий вариант.
Я про это спрашиваю (119)...
   Salimbek
 
123 - 04.02.19 - 20:34
(122) Я х.з., никогда не смотрел эту конвертацию, но могу предположить, что надо открыть "Обработки", и там поискать обработку с названием "ВыгрузкаКонвертации". Внутри этой самой обработки открыть макеты и искать среди них "ПроцедурыИФункцииМодуляЗагрузки"
   Mikhail Volkov
 
124 - 04.02.19 - 21:01
(123) Спс, кажись нашел в конфигураторе КД2: обработка ВыгрузкаКонвертации (Выгрузка правил обмена), макет ПроцедурыИФункцииМодуляЗагрузки (Процедуры и функции модуля загрузки данных).
   Mikhail Volkov
 
125 - 06.02.19 - 10:19
Да, заменил текст в этом макете на скаченный с http://catalog.mista.ru/public/240825/ и ошибок (107) не стало. Более того документы проводятся в процессе загрузки!
Еще не надо править модуль обработки загрузки данных для платформы 7.7, выгружаемый из КД2 (были ошибки, например (92)), сразу работает.
А вот проблема переноса не предопределенных счетов осталась. При наличии для счетов 2-х ПКО при выгрузке пропали ошибки: "Значение не найдено: Счет", а в приемную базу не загружаются. Может поправить что в ПроцедурыИФункцииМодуляЗагрузки?
   Владимир1С
 
126 - 06.02.19 - 14:47
Странная ветка. Такие виды обрезаний делаются следующим образом: включается сторонняя база, из неё методами работы с ДБФ в регистрах и документах устанавливаются флаги удаления, с контролем периода. Процедура занимает от силы 30 минут на период в 5 лет . Остатки формируются в 01.01.2019. Далее ТИИ с удалением объектов, проверки мелкие, и готово.
   Соло
 
127 - 06.02.19 - 15:19
(126) слишком сложно, да и не у все владеют "методами работы с ДБФ". Берём диск ИТС и ищем обработку экспорт импорт. Справочники хорошо перенесутся транрефом. Для однотипных конфигураций самое то.
   Владимир1С
 
128 - 06.02.19 - 16:16
(127) Код выслать? Прочитаете - удивитесь.
   Mikhail Volkov
 
129 - 06.02.19 - 18:17
(126) Это первоначально планировал сделать обрезание базы путем переноса нужных документов (за последний период) в пустую базу. Но из-за проблем переноса КД2 все же обрезание сделано примерно твоим способом, об этом сообщалось еще в (92).
Но проблема переноса между 7-ними базами с помощью КД2 осталась как отдельная задача (надо была ветку переименовать, или новую открыть). Часть проблем, с переносом признаков Проведен и ПометкаУдаления, успешно решилось (125). Осталось еще проблема с переносом не предопределенных счетов.
Для своего случая (не предопределенные счета используют только в кассовых документах) нашел решение: передавать их через Комментарий. В ПКС_РасходныйОрдер_Комментарий_ПередВыгрузкойСвойства прописал:

Если (ПустоеЗначение(Источник.КоррСчет) = 0) И (Предопределенный(Источник.КоррСчет.Код) = 0) Тогда
    Значение = Источник.Комментарий    + ?(ПустаяСтрока(Источник.Комментарий) = 0, " ", "") + "КоррСчет: " + Источник.КоррСчет.Код;
КонецЕсли;

А ПКО_РасходныйОрдер_ПослеЗагрузкиОбъекта дописал к (101) еще:
Если ПустоеЗначение(Объект.КоррСчет) = 1 Тогда
    КодКоррСчет = "";
    ПозКоррСчет = Найти(Объект.Комментарий, "КоррСчет");
    Если ПозКоррСчет = 1 Тогда
        КодКоррСчет = СтрЗаменить(Объект.Комментарий, "КоррСчет: ", "");
        Объект.Комментарий = "";
    ИначеЕсли ПозКоррСчет > 1 Тогда
        КодКоррСчет = СтрЗаменить(Прав(Объект.Комментарий, СтрДлина(Объект.Комментарий) - ПозКоррСчет + 1), "КоррСчет: ", "");
        Объект.Комментарий = СокрЛП(Сред(Объект.Комментарий, 1, ПозКоррСчет - 1));
    КонецЕсли;
    Если ПустаяСтрока(КодКоррСчет) = 0 Тогда
        КоррСчет = СоздатьОбъект("Счет");
        Если КоррСчет.НайтиПоКоду(КодКоррСчет) = 1 Тогда
            Объект.КоррСчет = КоррСчет.ТекущийСчет();
        КонецЕсли;
    КонецЕсли;
КонецЕсли;

//Если Параметры.Комментировать = 1 Тогда

    ТекстСообщения = "";
    Если ПустоеЗначение(Объект.КоррСчет) = 1 Тогда
        ТекстСообщения = "Не указан корреспондирующий счет.";
    КонецЕсли;
    Если ПустаяСтрока(ТекстСообщения) = 1 Тогда
        Сообщить("Загружен: " + Строка(Объект), "i");
    Иначе
        Сообщить("Загружен: " + Строка(Объект) + " " + ТекстСообщения, "!");
    КонецЕсли;
//КонецЕсли;


Но кассовые документы не имеют табличной части, КоррСчет может быть только один. А если не предопределенные счета будут использовать в документах с табличной частью!? Что-то другое придумывать...
   Владимир1С
 
130 - 07.02.19 - 11:44
(129)Сама поставновка вопроса создания базы путём переноса доков текущего периода из старой в новую это что то нездоровое. ИМХО.
 
 Рекламное место пустует
   Mikhail Volkov
 
131 - 07.02.19 - 13:45
(130) Этот вопрос закрыт, см. (92). По переносу счетов есть что сказать?
   Владимир1С
 
132 - 07.02.19 - 14:28
(131) Что конкретно? сами объекты аналитики - бухсчета? это через объединение конфигураций проще всего добавить. Если остатки по счетам - документом бухоперация, проводки начальных остатков создавать, в ряде случаев, созданием документов, по которым есть незакрытые итоги.
   Mikhail Volkov
 
133 - 07.02.19 - 16:08
(132) Документы переношу из одной базу 7.7 в другую тоже конфигурации. Не предопределенные счета в них пустые!?
   Salimbek
 
134 - 08.02.19 - 08:31
(133) Ну допиши загрузку, чтобы если такого-то счета нет - создавался.
   Mikhail Volkov
 
135 - 08.02.19 - 12:02
(134) Как?
Смотрю файл выгрузки, где счет предопределенный:
- <Свойство Имя="КоррСчет" Тип="ПланСчетовСсылка.Основной">
  <Значение>86.3</Значение> 
  </Свойство>
а где нет:
- <Свойство Имя="КоррСчет" Тип="ПланСчетовСсылка.Основной">
- <Ссылка Нпп="42">
- <Свойство Имя="Код" Тип="Строка">
  <Пусто /> 
  </Свойство>
  </Ссылка>
  </Свойство>
Дописал в ПКС_Основной_Код_ПередВыгрузкойСвойства_1_8
Значение = Источник.Код;
стало:
- <Свойство Имя="КоррСчет" Тип="ПланСчетовСсылка.Основной">
- <Ссылка Нпп="10">
- <Свойство Имя="Код" Тип="Строка">
  <Значение>80.1</Значение> 
  </Свойство>
  </Ссылка>
  </Свойство>
но не предопределенные счета не грузятся, пустые!? Что прописать в ПКО_Основной_ПослеЗагрузкиОбъекта?
   Mikhail Volkov
 
136 - 08.02.19 - 15:39
Волшебник! Можно тему переименовать на v7: КД2 Планы счетов, не переносятся не предопределенные счета, или проще новую открыть?
   Mikhail Volkov
 
137 - 08.02.19 - 17:52
  1  2

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