Группа: Пользователи
Сообщений: 10
Спасибо сказали: 0 раз
Рейтинг: 0
Здравствуйте! Переношу документы из 7,7 в 8,1 через Эксель с помощью типовой обработки 8,1 =Загрузка данных из табличного документа= Файл Экселя в виде (авансовые отчеты) Номер Дата Время Сумма АО-0000002 08.05.08 12:02:10 1276 АО-0000001 05.07.08 12:00:50 250 АО-0000004 08.09.08 12:00:10 30 АО-0000003 09.09.08 12:00:20 84.1 АО-0000025 18.02.09 12:00:10 108 АО-0000001 03.03.09 11:55:37 135 АО-0000002 15.03.09 19:20:48 280 АО-0000003 30.03.09 12:01:20 260 АО-0000041 31.03.09 12:00:10 51.2 АО-0000004 10.04.09 12:01:30 500 АО-0000005 28.04.09 09:40:05 200 АО-0000006 02.05.09 12:00:40 440 АО-0000007 15.05.09 14:23:49 470 Со всеми переменными разобрался, но не могу добиться, чтобы обработка читала дату документа. В примере, который идет вместе с обработкой в экселе дата стоит в формате 20090113185138 и в закладке события дописаны команды ДатаДок=Дата(СОКРЛП(ТекстыЯчеек[2])); Обработка выдает-Получение элемента по индексу для значения не определено. Меняю дату в формат 20090113185138-Получение элемента по индексу для значения не определено Мне время вновь созданного документа не актуально, актуальна лишь дата. Я в программировании 1С не силен, подскажите как можно поступить в данном случае. Спасибо.
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8
Цитата(Zaval @ 26.11.13, 19:56)
Вы представляете, сколько времени займет у Вас перенос таким способом?
Откуда вы знаете количественные характеристики базы? Может там всех документов 100 штук. И сколько это может занять? Я думаю, с предварительной подготовкой, в день можно уложиться на среднестатистической базе.
Группа: Пользователи
Сообщений: 10
Спасибо сказали: 0 раз
Рейтинг: 0
Цитата(Zaval @ 26.11.13, 19:56)
В каком именно - 7.7 или 8.Х? И сразу - "перенос документов"? Вы представляете, сколько времени займет у Вас перенос таким способом?
На закладке Настройки включите ручную нумерацию колонок и расставьте все по-своему.
И... это, почему 8.1 а не 8.2?
В настройках нумерация колонок ручная - я же писал разобрался, но заполнение даты идет програмным путем-тут я и прошу помоши. А в каком программировании я не силен-имеет разницу? Документов на самом деле не много, но вручную никак.
Группа: Местный
Сообщений: 1994
Из: Киева и окрестностей
Спасибо сказали: 406 раз
Рейтинг: 0
Цитата(Vofka @ 26.11.13, 20:03)
Откуда вы знаете количественные характеристики базы? Может там всех документов 100 штук. И сколько это может занять? Я думаю, с предварительной подготовкой, в день можно уложиться на среднестатистической базе.
Не знаю Главное - чтобы ТС знал и понимал, во что ввязывается...
Цитата(kuman @ 26.11.13, 20:12)
В настройках нумерация колонок ручная - я же писал разобрался
Не вижу, уверены, что на этом форуме?
На той платформе, где более "не силен", нужно свести всякие манипуляции к минимуму.
Нпр, можно при выгрузке из 7.7 сразу сформировать в одну ячейку ГГГГММДДччммсс, тогда в обработке в строке Дата указать номер колонки, РежимЗагрузки - Вычислять, Выражение - что-то вроде
Дата(СокрЛП(ТекстЯчейки))
или
Значение = Дата(СокрЛП(ТекстЯчейки))
Точно не скажу - давно с этим не возился.
А так придется в Выражении из фрагментов данных двух ячеек формировать аргумент для Дата()
Смотрите в СП "Общее описание..." - "Встроенные функции", там все есть.
Группа: Пользователи
Сообщений: 10
Спасибо сказали: 0 раз
Рейтинг: 0
Цитата(Zaval @ 26.11.13, 21:07)
Не знаю Главное - чтобы ТС знал и понимал, во что ввязывается...
Не вижу, уверены, что на этом форуме?
На той платформе, где более "не силен", нужно свести всякие манипуляции к минимуму.
Нпр, можно при выгрузке из 7.7 сразу сформировать в одну ячейку ГГГГММДДччммсс, тогда в обработке в строке Дата указать номер колонки, РежимЗагрузки - Вычислять, Выражение - что-то вроде
Дата(СокрЛП(ТекстЯчейки))
или
Значение = Дата(СокрЛП(ТекстЯчейки))
Точно не скажу - давно с этим не возился.
А так придется в Выражении из фрагментов данных двух ячеек формировать аргумент для Дата()
Смотрите в СП "Общее описание..." - "Встроенные функции", там все есть.
Мне категорична дата, а время можно задать во всех документах 12-00-00, скажем. А в обработке нет строки дата, в которую можно подставить вычислять выражение. [необходимо зарегистрироваться для просмотра ссылки]
Группа: Местный
Сообщений: 1994
Из: Киева и окрестностей
Спасибо сказали: 406 раз
Рейтинг: 0
Ппц.. Это "типовая обработка "Загрузка данных из табличного документа""???
Проверьте тип значения в ячейке. Запустите Предприятие из Конфигуратора в режиме Отладки. При остановке по ошибке из окна сообщения перейдите в Конфигуратор, поставьте на нужной строке точку останова - проверяйте типы значений.
На инфостарте написано "- файлы настроек для загрузки документов конфигурации "Бухгалтерия предприятия, редакция 1.6": ПоступлениеТоваровИУслуг.mxlz и РеализацияТоваровИУслуг.mxlz" Поэтому требуется сама обработка и эти файлы.
Группа: Пользователи
Сообщений: 10
Спасибо сказали: 0 раз
Рейтинг: 0
Цитата(Ardi @ 26.11.13, 22:01)
Написать
Сообщить(ТекстыЯчеек[2])
Сообщить(ТекстыЯчеек)
Сообщить(ТипЗнч(ТекстыЯчеек))
на первую команду -если формат ячейки 20090113185138, то пишет 20090113185138 -если формат ячейки 08.05.08, то 08.05.08. А на остальные команды пишет массив. Я так понимаю, надо число в виде 08.05.08 разобрать на понятное команды 1С типа год-месяц-число? Типа такого (гугл) ДатаДок_1 = СОКРЛП(ТекстыЯчеек[1]); Год = Число(Сред(ДатаДок_1, 7, 4)); Месяц = Число(Сред(ДатаДок_1, 4, 2)); День = Число(Сред(ДатаДок_1, 1, 2)); ДатаДок = Дата(Год, Месяц, День); Только я не знаю, что тут означают команды, поэтому править и не могу.
Группа: Пользователи
Сообщений: 10
Спасибо сказали: 0 раз
Рейтинг: 0
Цитата(Zaval @ 26.11.13, 22:43)
Тогда уж как-то так
ДатаДок_1 = СОКРЛП(ТекстыЯчеек[2]); Год = 2000 + Число(Сред(ДатаДок_1, 7, 2)); Месяц = Число(Сред(ДатаДок_1, 4, 2)); День = Число(Лев(ДатаДок_1, 2)); ДатаДок = Дата(Год, Месяц, День);
или так
ДатаДок_1 = СОКРЛП(ТекстыЯчеек[2]); Год = 2000 + Число(Сред(ДатаДок_1, 7, 2)); Месяц = Число(Сред(ДатаДок_1, 4, 2)); День = Число(Лев(ДатаДок_1, 2));
Время = СОКРЛП(ТекстыЯчеек[3]); Часы = Число(Лев(Время, 2)); Минуты = Число(Сред(Время, 4, 2)); Секунды = Число(Сред(Время, 7, 2));
ДатаДок = Дата(Год, Месяц, День, Часы, Минуты, Секунды);
"Что означают команды" - смотрите в СП.
Спасибо! Да, это оно - команды разбирают мой формат времени по полочкам. Но при присвоении даты документа выдает ошибку. Не понимает формат типа
ДатаДок = Дата(Год, Месяц, День, Часы, Минуты, Секунды)
Может дело в формате даты Типа [необходимо зарегистрироваться для просмотра ссылки]
А нет, дата документа формируется, только вопрос, при исполнении какого события ее вставлять. Обработка ругается Создан новый документ Добавлена строка: 1 Ошибка при вызове метода контекста (Записать): Не задана дата документа Объект не записан: ДокументТабличнаяЧастьСтрока.ПрочиеЗатраты.Затраты.
Пишу сообщить ДатаДок - выдает все верно- Создан новый документ 04.03.2008 12:00:10 Добавлена строка: 1 04.03.2008 12:00:10 Добавлена строка: 2 --------------------------------------------- Получение элемента по индексу для значения не определено Объект не записан: ДокументТабличнаяЧастьСтрока.ПрочиеЗатраты.Затраты
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!