|
v7: Загрузка данных из Excel в 1С | ☑ | ||
---|---|---|---|---|
0
Asia2016
21.07.17
✎
13:59
|
Есть выписка из банка в формате .xls. Надо загрузить в документ выписка в 1С.
В банковской выписке в одну ячейку вбит расчетный счет/ИНН/контрагент. Как можно присвоить значение Расчетный счет - первые 20 знаков, затем ИНН - 9 знаков Ячейка=ОкноExcel.ActiveCell.Offset(0, 1); Ячейка.Activate(); РасчетныйСчет =Ячейка.Value; |
|||
1
Ёпрст
21.07.17
✎
13:59
|
РасчетныйСчет = Лев(Хрень,20);
ИНН = Сред(Хрень,21,9); |
|||
2
Волшебник
модератор
21.07.17
✎
13:59
|
функция Лев и Сред
|
|||
3
Масянька
21.07.17
✎
14:00
|
(0) Вбит без разделителей?
|
|||
4
Масянька
21.07.17
✎
14:02
|
(1) А если ИП?
|
|||
5
Ёпрст
21.07.17
✎
14:03
|
(4)
ИНН = Сред(Хрень,21); |
|||
6
aka AMIGO
21.07.17
✎
14:03
|
(4) в строке может быть разделитель типа ИНН/КПП или еще какой.
ТС - как партизан.. |
|||
7
Asia2016
21.07.17
✎
14:06
|
да разделители есть /
|
|||
8
Asia2016
21.07.17
✎
14:08
|
спасибо
|
|||
9
Масянька
21.07.17
✎
14:09
|
(7) Замечательно.
Найти(), Лев(), Сред(), Прав(). |
|||
10
Ёпрст
21.07.17
✎
14:14
|
(9) глРазложить()
или через ИзСтрокиСРазделителями |
|||
11
Масянька
21.07.17
✎
14:15
|
(10) Не ищем легких путей :)
|
|||
12
Asia2016
21.07.17
✎
15:06
|
Еще не вечер
Почему не присваивает Субконто1 наименование контрагента. В отладке Наименование контрагента выбирает правильно по инн. Ячейка=ОкноExcel.ActiveCell.Offset(0, 1); Ячейка.Activate(); Куча=Ячейка.Value; ИНН = Сред(Куча,22,9); СпрКонт.ВыбратьЭлементы(); Пока СпрКонт.ПолучитьЭлемент() = 1 Цикл Если ИНН = СпрКонт.ИНН Тогда НазначитьТип("Субконто1", "Справочник.Контрагенты"); НазначитьТип("Субконто2", "Справочник.Договора"); Субконто1 = СпрКонт.Наименование; КонецЕсли; КонецЦикла; |
|||
13
Ёпрст
21.07.17
✎
15:21
|
(12)
Потому, что вот тут Субконто1 = СпрКонт.Наименование написан бред (не Пит) |
|||
14
Ёпрст
21.07.17
✎
15:21
|
Субконто1 у вас, это не строка, это элемент конкретного справочника
|
|||
15
Ёпрст
21.07.17
✎
15:22
|
ну и перебирать все элементы..тоже не есть гуд.
|
|||
16
Asia2016
21.07.17
✎
15:28
|
Субконто1 реквизит в выписке тип значения не определенный. в зависимости от счета выбирается тип. почему бред
|
|||
17
Масянька
21.07.17
✎
15:28
|
(12) В (13) - вместо Наименование нужно ТекущийЭлемент(). А в (15) - просто ищите нужно контрагента по ИНН - не нужно перебирать все элементы.
|
|||
18
Asia2016
21.07.17
✎
15:32
|
ЗАРАБОТАЛО!!
|
|||
19
Asia2016
22.07.17
✎
07:45
|
Движение по ячейкам
Ячейка=ОкноExcel.ActiveCell.Offset(1, -6); т.е. 1 на строку ниже -6 на 6 столбцов влево но не переводит выдает сообщение Ячейка=ОкноExcel.ActiveCell.Offset(1,-6); {Документ.ВыпискаНов.Форма.Модуль(470)}: : Не могу осуществить перевод строки |
|||
20
bolder
22.07.17
✎
08:05
|
(0) Упоротый постановщик задачи.Давно уже есть 1С-совместимый формат обмена с банками.Читается Любой типовой.Вам зачем велосипеды с квадратными колёсами?
|
|||
21
Asia2016
22.07.17
✎
08:18
|
(20) зачем же так?
|
|||
22
Asia2016
22.07.17
✎
08:19
|
может у вас и есть 1С-совместимый формат обмена с банками.
|
|||
23
bolder
22.07.17
✎
08:19
|
(21) Потому что это профанация.
|
|||
24
Asia2016
22.07.17
✎
08:20
|
у нас нет, поэтому приходится пыхтеть самим или с помощью форума
|
|||
25
bolder
22.07.17
✎
08:21
|
(24) Где у Вас то?)
|
|||
26
Asia2016
22.07.17
✎
08:27
|
у нас, это у меня. впрочем мы от темы уклоняемся.
|
|||
27
vadim777
22.07.17
✎
08:35
|
(0) В первый раз слышу, что выписки банка в формате xls. У вас клиент-банк их формирует? Нельзя формат изменить на другой - dbf, cvs?
|
|||
28
Asia2016
22.07.17
✎
08:37
|
в указанных вами форматах нет. только в txt
|
|||
29
Asia2016
22.07.17
✎
08:38
|
выбрали excel
|
|||
30
Asia2016
22.07.17
✎
08:40
|
(27) более того у нашей организации несколько счетов, причем форма у всех разная. хочу с помощью форума разобраться на одном банке, потом уже посмотреть что делать с остальными.
|
|||
31
h-sp
22.07.17
✎
08:41
|
(29) а зачем вы активную ячейку какую-то там берете? Бредите? Тупо взять номер строки и колонки в таблице уже не модно?
|
|||
32
Asia2016
22.07.17
✎
08:43
|
каким образом?
|
|||
33
Asia2016
22.07.17
✎
09:12
|
Ячейка=ОкноExcel.ActiveCell.Offset(1, -2);
работает не могу понять, почему на сдвигает только на две |
|||
34
vadim777
22.07.17
✎
09:18
|
(30) Была аналогичная ситуацию и у нас - у каждого банка свой формат. Разбил задачу на две части.
1. Для каждого банка - свой блок загрузки данных в Таблицу значений стандартного формата. 2. Общий блок обработки этой ТЗ по формированию БВ. |
|||
35
vadim777
22.07.17
✎
09:21
|
(33) Загрузите БВ из Excel в ТЗ - легче будет работать.
Всегда отделяйте мух от котлет, по другому - применяйте принцип разделяй и властвуй. |
|||
36
Asia2016
22.07.17
✎
09:24
|
(34) что такое БВ
|
|||
37
vadim777
22.07.17
✎
09:25
|
(36) Банковская выписка
|
|||
38
Asia2016
22.07.17
✎
09:26
|
(37) при загрузке в ТЗ надо все равно считывать с Excel. т.е. те же проблемы при переводе строк
|
|||
39
vadim777
22.07.17
✎
09:37
|
(38) Ты делишь задачу на стандартизированные этапы
1. Загрузка БВ из Excel в Т3_1 2. Обработка ТЗ_1 - заполнение ТЗ_2 3. Обработка ТЗ_2 - формирование из ТЗ_2 БВ Поверь, это гораздо проще и быстрее, чем сразу из Excel в БВ. Потом эти 3 модуля можешь отдельно дорабатывать, усовершенствовать, не трогая остальных. Последний, 3-й, будет стандартный для остальных банков. |
|||
40
Asia2016
22.07.17
✎
09:53
|
(38) спасибо.
в как перевести строку в Excel. БВ состоит из много строк и 8 столбцов. первую строку загрузила. надо прочитать следующую в Excel. пытаюсь сделать через Ячейка=ОкноExcel.ActiveCell.Offset(1, -6) не получается. как сдвинутся на вторую строку |
|||
41
Зуекщмшср
22.07.17
✎
09:53
|
(0) Найди обработку XLS_Doc_v26 в инете, я ее еще лет 15 назад писал для 1С 7.7, универсальная обработка загрузки данных из excel. Попробуй, может пригодится.
|
|||
42
Asia2016
22.07.17
✎
09:59
|
(41) нашла только упоминание о ней Нужна инфа по загрузке DBF файлов
|
|||
43
vadim777
22.07.17
✎
10:16
|
(42) Проверь почту - что нашлось выслал.
|
|||
44
Asia2016
22.07.17
✎
13:27
|
спасибо. сижу разбираю.
|
|||
45
Asia2016
22.07.17
✎
13:32
|
и еще вопрос: например датаА в формате текст и датаВ в формате дата
А="18.07.2017" В='18.07.2017' Как их прописать в условие Если СокрЛП(А)=СокрЛП(Строка(В)) Тогда В преобразовывает в формат текст, но условие не выполняется Почему? |
|||
46
vadim777
22.07.17
✎
13:43
|
(45) Насколько помню, преобразование даты вида '18.07.2017' в строку вернет строку вида "18.7.2017", или "17.7.17". Вставь отладочный вывод Сообщить(СокрЛП(В)).
|
|||
47
Asia2016
22.07.17
✎
13:53
|
спасибо разобралась
|
|||
48
Asia2016
22.07.17
✎
14:22
|
Спасибо всем!
(43) Большое спасибо! Пока работает 1 банк. Буду экспериментировать с другими., Ура!!!!!!!!!!!!!! |
|||
49
vadim777
22.07.17
✎
15:27
|
(48) Молодец. Теперь по правилам форума добавь свое фото в личную карточку.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |