Zhubatyrov Yermek

22
Рейтинг

ermek6



  •   Регистрация: 10.01.2011 (13 лет назад)

  •   Был(а) на сайте: 16.04.2024

Друзья
  • Денис Гончаров
  • Дмитрий Малышев
  • Андрей Волин
  • Aibek Kydr
  • Андрей Шамин
Подписчики 6

Группы

IE2023 Участник

Рейтинг 22

Перенос данных из базы с поврежденными таблицами

Статья Системный администратор Программист Платформа 1С v8.3 1С:Бухгалтерия 2.0 Казахстан Бухгалтерский учет Управленческий учет Бесплатно (free) Нет файла Инструменты администратора БД

У клиента что-то произошло с жестким диском, что потребовало восстановления данных на нем. Базу 1С вроде бы сохранили, и она даже открылась. Однако при попытке доступа к документу "Платежный ордер, списание денежных средств" база вылетает с ошибкой. Также при получении оборотов за период в целом и по декадам выводились разные цифры. Обработка переноса данных в идентичную конфигурацию не подошла, из-за того, что так же вылетала с ошибкой БД. Ниже опишу мои действия по созданию новой конфигурации.

06.06.2017    17333    ermek6    14       

15

Корректировка регистров "Партии товаров" и "Продажи себестоимость"

Инструменты и обработки Программист Платформа 1С v8.3 1С:Управление торговлей 10 Управленческий учет Windows Абонемент ($m) Внешняя обработка (ert,epf) Корректировка данных

По наследству досталась база, в которой приходы осуществлялись как попало. Валютные цены фиксировались в местной валюте, либо неправильный курс, либо приходовали по цене реализации. Короче, бардак. Предлагаемая обработка проходит по товарным документам и корректирует себестоимость списания.

2 стартмани

05.05.2016    8597    5    ermek6    2       

1

Синхронизация элементов по внутреннему идентификатору

Инструменты и обработки Системный администратор Программист Платформа 1С v8.3 Конфигурации 1cv8 Windows Абонемент ($m) Внешняя обработка (ert,epf) Перенос данных 1C

Обработка для поиска и замены элементов с сопоставлением по внутренним идентификаторам и возможностью выбора соответствующего элемента вручную

2 стартмани

10.08.2015    9562    9    ermek6    7       

1

Комментарии

НовостиКонференция INFOSTART TECH EVENT 2023 завершилась. Доступны видеозаписи. Отзывы участников#720 31.10.23 6:22
В целом, всё понравилось, однако были несколько докладов, на которых бы я хотел по присутствовать, но они шли параллельно
DevМассивФайлов в ДеревоЗначений#21 30.04.19 9:27
Держи для УФ :-D

Прикрепленные файлы:

НайтиФайлы.epf
tree.png
DevМассивФайлов в ДеревоЗначений#20 30.04.19 9:12
А, ну естественно, в управляемом режиме открывается форма по умолчанию и не запускается модуль объекта.

запусти в режиме обычного приложения.
DevМассивФайлов в ДеревоЗначений#18 29.04.19 13:17
Пройдись отладчиком. Посмотри что в массиве файлов после "НайтиФайлы()"
Посмотри, заходит ли в процедуру ОбработатьПутьФайла, и что туда передается
Посмотри, вызывает ли рекурсивно сама себя процедура ОбработатьПутьФайла
DevМассивФайлов в ДеревоЗначений#16 29.04.19 13:13
А папка такая есть? А подпапки в ней есть? Поменяй на C:\Users\<UserName>\Desktop
DevМассивФайлов в ДеревоЗначений#14 29.04.19 13:10
А деталей по больше нету? Описание ошибки там какое, или результат.

&РежимЭкстрасенса
Быть может стоит поменять путь?
DevМассивФайлов в ДеревоЗначений#12 29.04.19 12:47
Попробуй запустить вложенный файл. Должен показать дерево значений

Прикрепленные файлы:

НайтиФайлы.epf
DevМассивФайлов в ДеревоЗначений#11 29.04.19 12:36
F9->F11->F11......F11

Прикрепленные файлы:

list.png
DevМассивФайлов в ДеревоЗначений#7 29.04.19 11:06
Как то так:
Код
Процедура ОбработатьПутьФайла(Знач Файл, Строки)
   Файл = СтрЗаменить(Файл,"/","");
   ПозицияРазделителя = Найти(Файл,"");
   Если ПозицияРазделителя=0 Тогда
      Имя = Файл;
      Остаток = "";
   Иначе
      Имя = Лев(Файл,ПозицияРазделителя - 1);
      Остаток = Прав(Файл,СтрДлина(Файл)-ПозицияРазделителя);
   КонецЕсли;

   Строка = Строки.Найти(Имя,"Имя");
   Если Строка = Неопределено Тогда
      Строка = Строки.Добавить();
      Строка.Имя = Имя;
   КонецЕсли;
   Если СтрДлина(Остаток)>0 Тогда
      ОбработатьПутьФайла(Остаток, Строка.Строки);   
   КонецЕсли;
КонецПроцедуры

Файлы = НайтиФайлы("C:\Temp","*",Истина);
Дерево = Новый ДеревоЗначений;
Дерево.Колонки.Добавить("Имя");
Для Каждого Файл ИЗ Файлы Цикл
   ОбработатьПутьФайла(Файл.ПолноеИмя, Дерево.Строки);   
КонецЦикла

DevПередача признаков в процедуру &quot;ПриЗаписи&quot; через ДополнительныеСвойства#4 29.04.19 10:14
(2) в зависимости от свойства проведение по-разному идёт. Если новый док сразу проводится, то нужно, что бы свойство уже было в базе.

Я тоже думал про при изменении делать, но тогда нужно ссылку нового юзать для новых доков