Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

1С от 2.0 до 8.0. ЛикбеЗ от ярлыка до Конфигуратора


Информационный Канал Subscribe.Ru

Рассылка 1С от 2.0 до 8.0. ЛикбеЗ от ярлыка до Конфигуратора (economics.book.likbez1c)

Выпуск # 18

 

Эпистолярий с ответами.

Продолжаем анализировать задачки из реальной жизни. Долго я сегодня шел до компьютера (нет, не из-за выборов, если бы я туда подался, то сегодня и вовсе бы выпуск не состоялся :) ), разные домашние приятные хлопоты, и получилось, что это к лучшему: пара писем прямо в одну тематику стыкуются, информативность выпуска повышая.
Вот самое заждавшееся письмо: В.

Здравствуйте, Вячеслав!
1. Возможно ли перенесение данных из таблицы Excel в справочник номенклатуры товаров более рационально, чем вручную? (7.7, 8.0)
2. Возможно ли устанавливать какую-либо маску (шаблон) для ввода большого количества данных (приход, остатки и т.п.), чтобы при заполнении формы часть полей с одинаковой информацией заполнялась автоматически?
Спасибо, Ирина.

Конечно же все можно! Например, распечатать из Excel'я, отсканировать на сканере, распознать в текстовый файл и написать программу, которая из него в 1С затягивает данные :))
Но наиболее продуктивный процесс в общении с этим редактором на уровне обмена между приложениями Windows - использовать OLE. Эта технология, если описывать в паре строк, позволяет одним приложениям запускать другие приложения, да еще и вызвать команды, которые можно внутри запущенного приложения в принципе выполнить. Приложение должно быть рассчитано на работу в таком режиме, кроме того, различают OLE - сервер и - клиент. Как правило, если OLE поддерживается, то приложение это и запускать другие может, и быть запускамым. Я сам даже не сталкивался с программами, которые были бы только сервером (или наоборот).
Как использовать в конкретной задаче OLE? В языке 1С есть команда - создать объект такого типа, а затем есть команда запустить приложение. Разработчик должен знать, какой идентификатор у запускаемого приложения, без этого ничего не получится. В книге по языку 1С примеры рассматриваются в самом конце. Как "1С.exe" в виндах числится там записано. У екселя, вроде бы, имя типа "Excel.Application", но могу сильно ошибиться. Когда приложение запущено, то можно использовать его методы. При работе с редактором таблиц я юзал метод типа .Value(), в параметры ставятся колонка и строка. Наверное, можно и задать значение, и получить значение. Ну и соответственно в 1С будет с десяток строк: создаем объект OLE с именем екселя, запускаем его (наверное с указанием документа, над которым работать), потом делаем цикл по определеному количеству строк таблицы, на каждом шаге вызываем Value() (или Cell()?) и соответсвуясь со счетчиком цикла "лезем" в нужную строчку. Далее - самое сложное :). Полученное значение надо записать в справочник. 1С-ский.
Если вопрос еще актуален, могу поискать процедурку (обработку).

По п.2. Сама платформа 1С ничего подобного не предоставляет. Значения по умолчанию (как правило, для шапок документов) подставляются уже на уровне алгоритмов, написанных на языке 1С. Все остальное - программировать самостоятельно. В.

Вот еще письмо про перенос данных. Ставлю рядом, по тематике, а не по хронологии. В.

С удовольствием Вас читаю. У буха какой то старый релиз "Бухгалтерия". Обновляет раз в 3 месяца. У нее набита база по товарам ( ассортимент-количества-ГТД и т.п.) Мы созрели ставить 1С Склад, либо Управление складом. Вопрос - можно ли будет с ее 1С Бух перенести=скопировать базу по товару в 1С Склад... что бы не набивть базу заново. ( реквизиты клиентов и .... )
С уважением, Борис

"Управление складом" - наверное все-таки управление торговлей? :) Но главное, что управление. Все сложные продукты на 8-й платформе не зря начинаются с "Управление ...". Это принципиальный шаг 1С в развитии своих продуктов, предлагаемых к приобретению.
Переход с 7-й платформы на 8-ю - это не только оптимизация быстродействия и т.п. Самое главное в прикладных конфигурациях - переход от автоматизации учета к автоматизации управления.
Как быть с бухгалтерией и другой программой?
Здесь уже равноправны два варианта.
Первый - через OLE. Только 1С запускает 1С. Кто кого - бухгалтерия Склад или наоборот - дело вкуса автора обработки. И в той, и в другой программе будут работать методы по работе со справочником - создать объект, найти элемент, получить атрибут, записать элемент...
Самое сложное - это сопоставить структуры хранения данных. В предыдущей задаче это неявно решается - в таблице скорее всего только наименования, ну еще несколько полей, главное, что все данные находятся на "одном уровне", в "одной плоскости". При переносе данных из одной типовой конфигурации в другую сначала несколько часов уйдет на бумажные зарисовки. Ведь ту же номенклатуру хочется перенести полностью?
Как номенклатура храниться в бухгалтерии? Есть собственно справочник номенклатуры, цены товаров и услуг - поля в нем; есть справочник единиц (ОКЕИ), из него элементы "подставляются" в поля номенклатуры. Как только эти атрибуты для ТМЦ в ТиС хранятся? Номенклатура в плане названия, полного наименования - аналогично. Цены? Уже хитрее. У каждого элемента спр. номенклатуры это подчиненный справочник. Количество типов цен - еще один справочник. Т.е. перенсти три цены из бухгалтерии - общение с тремя справочниками в ТиС.
Теперь с единицами. ОКЕИ в торговле - "справочный" справочник. Я его так обозвал, потому что его элементы не подставляются в поля номенклатуры. Есть опять же подчиненный спр. единиц измерения, и вот в нем каждый элемент заполняется из спр. ОКЕИ.
Продолжаем? :)

Контрагенты. Здесь более все схоже. Есть контрагент, есть подчиненный справочник договоров. Поля только надо выверить, чего где не хватает. В бухгалтерии еще вроде бы можно по умолчанию вообще договор не упоминать, в ТиС надо по любому хотя бы стандартный элемент "Основной договор" к каждому контрагенту приписать. Но и сложность есть! В ТиС контрагентов заполнить - еще не все!!! Есть сторонние юридические лица: в самом простом исполнении одно юр.лицо - один контрагент. В сложном случае - у одного "чужого" юр. лица много своих фирм, в ТиС они как контрагенты одного стороннего юр. лица проходят. Естественно, я имею в в виду 9-ю редакцию ТиС.

И еще ведь надо алоритм по обходу всех элементов дерева (многоуровневого справочника) создать и для номенклатуры, и для контрагентов... Сложно? Теперь уже совсем нет :). Я все разъяснил.
Делал я подобные переносы, обработку в 4-5 часов оценивал.
Я даже перенос остатков из программы в программу делал :))).

Теперь об альтернативном варианте.
Используется XML. Это штука такая, которая облегчает перенос данных из программы в программу через текстовый файл с помощью специальных драйверов - надо устанавливать XML Parser.
Правильнее сказать, не через текстовый, а ГИПЕРтекстовый файл. Драйвера до уровня букв сами все в файл запишут, но самое главное, что эта технология "понимает" объекты, узлы, т.е. я в принципе могу элемент справочника целиком "закинуть" на растерзание драйверу, а он в файле все разметит и запишет с подробными описаниями и разделителями все нужные атрибуты. И что интересно, все это потом можно считать :)))! Уже в приложении приемнике.
Кроме собственно данных, в XML-файл еще записываются правила. Ну например, "записать в файл элемент справочника: Наименование, Цена, Код. При загрузке элемента считать Наименование, Цена, а Код добавить буквой 'Ъ' в начале". И из источника уйдет "Вентилятор Binatone, 1000 руб, 0000387", а в базу-приемник запишется "Вентилятор Binatone, 1000 руб, Ъ0000387".
Как сделать такой перенос? Нужно и с XML разбираться, и инструмент по разработке правил переноса иметь. Я сам только 1С-ские готовые немного правил. 1С через XML делает все переносы данных между разными редакциями и разными конфигурациями (в пределах разумного): из ТиС 8.7 в 9.0, из из Бухгалтерии 4 в УСН (остатки); также обмен коммерческими предложениями (т.е. работа только со справочниками); !!! выгрузка проводок, синхронизация справочников и субкното. Можно еще заглянуть в раздел "Дополнительные возможности" - практически все обработки не обходятся без XML.

И завершение уже устаревшей темы про инвалидов. Реально я думаю все уже давно вопрос решили? Сколько людей выздоровело? :). Вот письмо. В.

Здрастье! Господа, пользующие 1с - УСН, бух, и т.п. Для Инвалидов не пробовали поставить в Сервис --- Сведения об организации --- закладка Налоги: "ДА" - в специально отведенном месте - "Организации предоставлена льгота по налогу .... ну в общем посыл на ст. 239 пп. 1,2" - как раз про инвалидов, а только потом может быть 1с-ка обратит внимание на ваши пожелания в карточке сотрудника?

С глубокоуважением Гащенко Елена.

Елена, "УСН, бух, и т.п." не прокатывает :(. Нет ни закладки такой, ни тем более специально отведенного места. Я даже заглядывал. И не только в ТиС, но и в УСН :). Поэтому без всяких может быть могу сказать - типовая конфигурация 1С:Бухгалтерия она одна такая. УСН, ТиС на нее если и похожи, то только не в плане функциональности, и методология, идеология у них другие.

Сейчас почту проверю, вроде на все ответил.
Далее я планирую развить мысль про иделогию 8-й платформы, про ее КПД, про ее позиционирование... Если вопросами не засыпете :) В.

 

dtpr_st@vpost.ru (ведущий рассылки dtprST)

Вячеслав Ткаченко

Поиск в рассылке
Архив на Subscribe.Ru
Поиск по архиву рассылки
"1С от 2.0 до 8.0. ЛикбеЗ от ярлыка до Конфигуратора"




http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное