|   |   | 
| 
 | v7: Загрузка Excel файла в 1С 7.7. | ☑ | ||
|---|---|---|---|---|
| 0
    
        Amazing 15.08.22✎ 23:43 | 
        Здравствуйте!
 Есть список в Excel: Ф.И.О, сумма начисления, сумма подоходного налога. Как сделать так, чтобы списки могли загружаться из Excel в виде бухгалтерской справки в 1С? Наверное нужно ещё добавить в список табельный номер? Для этого нужна обработка? | |||
| 1
    
        Злопчинский 16.08.22✎ 00:24 | 
        1. нужна обработка
 2. нужен некий ИД, который прочитали из Экселя и по этому ИДу нашли нужный объект в базе. ИД - д.б. уникальным в пределах базы. Что это будет за ИД - зависит от конфигурации, скорее всего у вас речь идет о 1С Бухгалтерия 7.7 3. Будет геморно, так как бухсправка - это проводки. в проводках нужно задавать субконто-аналитику (в вашей эксельной табличке этого нет). плюс к этому кроме балансовых счетов надо разложить еще правильно по забалансовым счетам, например забалансовый счет исчисления дохода. Возмможно загрузку проводок сделать с пуствми субконт о на корреспондирующих счетах, и уже бух ручками будет прсотавлять нужные субконто. 4. нихрена непонятно зачем это вам надо. таким образом вы пытаетесь подменить расчет зарплаты и исчисления НДФЛ? - ну так нахрена это делать бухсправкой? грузите эти цифры в документ "начисление ЗП". Правда там вроде как нет отдельной колонки НДФЛ, ибо ндфл считается вполне четко по правилам и отдельно его ручками ставить смысла нет.. . мне идея кажется гунявой. используйте штатный документ начисления ЗП, заказчиваете туда суммы начисления, НДФЛ посчитается автоматом. если вам не нравится как НДФЛ считается автоматом и вы пытаетесь в (0) таким образом "считать правильно" - нихера не получится, ибо вам придется полностью переписать в Бухии "зарплатный блок". . как-то так. . могу ошибаться, в бухию 77 давно не смотрел, описал как помню. | |||
| 2
    
        victuan1 16.08.22✎ 05:24 | 
        Имхо, обычное задание на курсовую работу.     | |||
| 3
    
        bolder 16.08.22✎ 06:41 | 
        (2) Да, это не похоже на реальную работу.Потому что пытаться самим все рассчитывать в Excel при наличии даже 7.7, я не говорю о ЗУП 8 выглядит как детсад, а не студенческая работа.     | |||
| 4
    
        Amazing 16.08.22✎ 07:39 | 
        (1) Доброе утро!)
 Да, речь о 1С Бухгалтерия 7.7. Иксель делает расчёт, который не может сделать 1С - всё просто, там определённый алгоритм, а мы хотим забирать готовые суммы. Если нужно будет в загруженной бух.справке подправить или проставить что-то руками - не проблема, в любом случае это меньше, чем делать её с нуля. | |||
| 5
    
        Amazing 16.08.22✎ 07:39 | 
        (2) для профи - да, скорее всего!)     | |||
| 6
    
        Amazing 16.08.22✎ 07:40 | 
        (3) 1С не может сделать именно такой расчёт, ответил выше.     | |||
| 7
    
        andrewalexk 16.08.22✎ 07:44 | 
        :) есть готовая обработка преобразования xls в ТЗ называется FromExcel.ert
 а потом уже превращаешь таблицу в документ | |||
| 8
    
        Kigo_Kigo 16.08.22✎ 09:34 | 
        (6) 1С не может сделать такой расчет который может Ексель? вот умора Бббгггггг     | |||
| 9
    
        andrewalexk 16.08.22✎ 10:01 | 
        (8) :) возможно он имел ввиду что вместо ведения учета в экселе лучше вести учет в 1с77     | |||
| 10
    
        Amazing 16.08.22✎ 10:09 | 
        (8) в типовой конфигурации - не может. А специально никто не станет ничего переделывать в отношении расчёта.     | |||
| 11
    
        Fynjy 16.08.22✎ 10:14 | 
        Заканчивался 2022 год, приложение появившиеся в 1998 с официальным релизов в 1999 году продолжало успешно использоваться.
 Кстати только в этом году фирма 1С ограничила поддержку 1С 7.7 кардинально. | |||
| 12
    
        Amazing 16.08.22✎ 10:39 | 
        (11) что Вас удивляет?) Ну не у всех установлены восьмёрки, что теперь - людям не работать?)     | |||
| 13
    
        andrewalexk 16.08.22✎ 10:57 | 
        (11) :) ключевое слово успешно?     | |||
| 14
    
        bolder 16.08.22✎ 11:19 | 
        (6) Вы хотите сказать, что начисление с точностью до рубля в рассчитываете а Excel,а результаты начисления и налоги , сумму на руки будете в 1с не считать а вность бух справкой?
 Вы же понимаете, что давая в руки бухгалтеру такой инструмент, как бухсправка - всю ответственность за правильное начисление налогов ( а это не только НДФЛ) вы берете на себя( ну может разделяя с бухом).А больничные?А отпуска?Да вас живьем сьедят с этой хотелкой. Поэтому максимум - предложенное в (1) решение по занесению одного столбца. А если там меньше 10 человек то вообще проблема надумана, ну 100-1000 еще другое дело)) Но как то троллингом тянет...в 7.7 считать ЗП даже 100 человек..Там точно всяких исключений и чудес будет немеряно... | |||
| 15
    
        Amazing 16.08.22✎ 11:40 | 
        (13) это вопросы к их руководству.)     | |||
| 16
    
        Amazing 16.08.22✎ 11:42 | 
        (14) кто Вас сказал, что это считается зарплата?) Это выплата, но совершенно другого характера и всё там идеально считается, только нужно провести в 1С начисление этой выплаты и удержание с него подоходного налога...     | |||
| 17
    
        GrayS19 16.08.22✎ 12:23 | 
        По-хорошему - 2 часа работы, 80 бел.руб. Но ТС умудряется все вопросы решить нахаляву. Наверное, и в этот раз решит     | |||
| 18
    
        Amazing 16.08.22✎ 12:32 | 
        (17) это Вы сейчас пытаетесь кинуть камень в мою сторону?
 Что такое "ТС". Ну и так для справки: ничего бесплатно не решали и это априори невозможно с злыми людьми.) | |||
| 19
    
        andrewalexk 16.08.22✎ 12:34 | 
        (18) :) тупикстартер     | |||
| 20
    
        Amazing 16.08.22✎ 12:52 | 
        (19) как злостно.))))     | |||
| 21
    
        Злопчинский 16.08.22✎ 12:54 | 
        (16) Обясните куроводству что НДФЛ считается не с выплаты, а с дохода с начала года. и если по остальным "выплатам" вы недобрали или перебрали НДФЛ, то с этой выплаты НДФЛ надо будет взять больше или меньше. Есть особенности если выплаты идут за счет разных источников финансирования типа часть с бюджета, часть с коммерца.     | |||
| 22
    
        GrayS19 16.08.22✎ 12:55 | 
        (18) "ничего бесплатно не решали и это априори невозможно с злыми людьми" - со злыми бесплатно невозможно, с добрыми бесплатно возможно ? значит все, кому платили деньги за решения - злые ?     | |||
| 23
    
        GrayS19 16.08.22✎ 12:56 | 
        (21) Сергей, он твой земляк, в Беларуси НДФЛ нету     | |||
| 24
    
        andrewalexk 16.08.22✎ 12:58 | 
        (20) :) априори злые люди такие...     | |||
| 25
    
        NorthWind 16.08.22✎ 13:21 | 
        (0) написать обработку. Семерка позволяет читать эксель с помощью ADO или через OLE обьекты Microsoft Office. Читаете файлик, заполняете справку, профит. Могут быть определенные вопросы с привязкой сотрудников по ФИО к справочнику сотрудников 1С - дубликаты в справочнике, орфографические ошибки при написании в Excel и т.д. могут приводить к тому что сотр не привяжется или привяжется не к тому элементу, к которому надо.     | |||
| 26
    
        victuan1 17.08.22✎ 05:34 | 
        (4) Ну в принципе, задача мне понятна и она реальна. По сути в Бух загруженные проводки по ЗП нужны для правильного ведения бух. баланса.
 Сделать мог бы я за оплату и даже ТЗ мог бы составить вменяемое для этой задачи. Но к сожалению, времени совсем нет. Как вариант искать ТС-у вменяемого кодера-семерочника, со знанием бух. учета. Он эту задачу сделает. Я со своей стороны могу только выслать бесплатно обработку - образец как загружать данные из Эксель в 1С 7.7 в принципе. | |||
| 27
    
        victuan1 17.08.22✎ 05:41 | 
        Надо сказать, что в свое время (в начале 00-ых годов) полностью поддержал через Эксель расчет зарплаты бюджетного учреждения на 400 сотрудников. С поддержкой КЛАДРа и выгрузкой рег. отчетности в ФНС и ПФР. Т.к. у 1С в то время не было вменяемых решений для расчета ЗП.
 Бухгалтер была счастлива, т.к. считала зарплату со всей рег. отчетности от силы 2 недели в месяц, остальное время она была свободна (до перехода на Эксель у нее уходил весь месяц со сверхурочными до поздней ночи). Когда пришло время - успешно мигрировал им данные по ЗП из Эксель в КАМИН 2.0. Я там не работаю уже давно, но знаю, что сидят на Камине до сих пор. Думаю с 2023 года будут переходить на ЗБУ, ибо Камин прекращает поддержку 7.7 с 2023 года https://www.kaminsoft.ru/images/kamin/others/Ogranichennaya_podderzhka_tipovyh_konfiguracij_KAMIN_na_platforme%20_1SPredpriyatie_7.pdf | |||
| 28
    
        VoditelKobyly 17.08.22✎ 07:08 | 
        Если интересно, то подключение и получение данных в ТЗ если есть 1срр
 СтрокаПодключения = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\t\Акт.xls;Extended Properties=""Excel 12.0;HDR=NO"""; РСЭксел = СоздатьОбъект("ODBCRecordSet"); ДБ = СоздатьОбъект("ODBCDatabase"); ДБ.DriverConnect(СтрокаПодключения); Если ДБ.ЕстьСоединение() = 0 Тогда Если ПустаяСтрока(ДБ.ПолучитьОписаниеОшибки()) = 0 Тогда Предупреждение("Ошибка ODBCDataBase: " + РазделительСтрок + ДБ.ПолучитьОписаниеОшибки()); Возврат; КонецЕсли; Иначе РСЭксел.УстБД(ДБ); КонецЕсли; ТестЗапроса="SELECT * FROM [Sheet1$]"; ТЗ_Ексель=РСЭксел.ВыполнитьИнструкцию(ТестЗапроса); Далее крути ТЗ и формируй с нее свою справку | |||
| 29
    
        Amazing 17.08.22✎ 11:28 | 
        (22) не нужно мои слова интерпретировать так буквально.)     | |||
| 30
    
        Amazing 17.08.22✎ 11:30 | 
        (26) (27) Благодарю!)     | |||
| 31
    
        Amazing 17.08.22✎ 11:30 | 
        (28) Спасибо!     | |||
| 32
    
        Amazing 17.08.22✎ 11:31 | 
        (25) Спасибо!)     | |||
| 33
    
        mistеr 17.08.22✎ 11:31 | 
        (10) Если вам все равно кто-то будет делать обработку, пусть заодно и расчет сделает. :)     | |||
| 34
    
        Amazing 17.08.22✎ 11:34 | 
        (26) Написал на почту.)     | |||
| 35
    
        Amazing 17.08.22✎ 11:36 | 
        (33) нет, расчёт уже сделан там, где он сделан.)     | |||
| 36
    
        victuan1 17.08.22✎ 11:54 | 
        (34) Ответил.     | |||
| 37
    
        Arbuz 17.08.22✎ 17:26 | 
        (28) А есть ли ODBC для OpenDocument Spreadsheet?     | |||
| 38
    
        GrayS19 18.08.22✎ 13:38 | 
        (37) попробовал пример из (28). Сообщение об ошибке 1С: Ошибка ODBCDataBase: Источник данных не найден и не указан драйвер, используемый по умолчанию. Глубже пока не копал.     | |||
| 39
    
        VoditelKobyly 18.08.22✎ 13:45 | 
        (38) Надеюсь буковки Source=D:\t\Акт.xls; поменял на свои?     | |||
| 40
    
        GrayS19 18.08.22✎ 14:10 | 
        поменял, файл есть, даже через ADO его загрузил     | |||
| 41
    
        GrayS19 18.08.22✎ 14:11 | 
        Win 7 32 бита, надо в список установленных ODBC лезть, пока совсем некогда, злые быхи задач накидали     | |||
| 42
    
        GrayS19 18.08.22✎ 14:12 | 
        (41) *бухи :)     | |||
| 43
    
        Arbuz 18.08.22✎ 14:20 | 
        (38) Microsoft Access Database Engine 2010 Redistributable установлен?
 https://www.microsoft.com/en-us/download/details.aspx?id=13255 | |||
| 44
    
        GrayS19 18.08.22✎ 14:41 | 
        (43) установил. то же сообщение https://drive.google.com/file/d/1gRfNZ-1Aaox8mrpmXLtRAnfaNVaggJYZ/view?usp=sharing (43)     | |||
| 45
    
        GrayS19 18.08.22✎ 14:45 | 
        установленные в системе драйвера ODBC https://drive.google.com/file/d/1ovHpZHSolR1iGwHFsLNGbJKhIZVxx7D7/view?usp=sharing     | |||
| 46
    
        Lazy Stranger 18.08.22✎ 15:01 | 
        Можно по-простому, хоть и, вероятно, менее эффективно:
 Excel=СоздатьОбъект("Excel.Application"); Попытка SourceTable=Excel.Workbooks.Open(СокрЛП(ФайлXLS)); ЛистXLS=SourceTable.Sheets(1); Исключение Предупреждение("Не удалось открыть файл "+СокрЛП(ФайлXLS)+":"+РазделительСтрок+ОписаниеОшибки(),30); Возврат; КонецПопытки; текНомерСтроки=НомерПервойСтроки-1; Пока 1=1 Цикл текНомерСтроки=текНомерСтроки+1; состояние(текНомерСтроки); Артикул=СокрЛП(ЛистXLS.Cells(ТекНомерСтроки,НомКолАртикул).Value); Если ПустаяСтрока(Артикул)=1 Тогда Прервать; КонецЕсли; | |||
| 47
    
        Arbuz 18.08.22✎ 15:07 | 
        (46) Не, ну хочется же через ODBC селектом 
 (45) А операционка 64 бит? | |||
| 48
    
        GrayS19 18.08.22✎ 15:29 | 
        (47) 32 бита Windows 7     | |||
| 49
    
        NorthWind 18.08.22✎ 20:54 | 
        Если файлы xls (не xlsx), то лучше использовать драйвер Jet 4. Он есть в любой винде начиная с Windows 98, не нужно ничего доустанавливать.
 СтрокаПодключения = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + ИмяФайла + "; Extended Properties = " + """Excel 8.0" + ";HDR=NO;IMEX=1"";" ; Соединение = СоздатьОбъект ("ADODB.Connection"); Попытка Соединение.Open(СтрокаПодключения); Исключение Сообщить ("Ошибка открытия файла средствами ADO. Возможно, OLE DB провайдер Jet 4.0 не установлен или файл не имеет формат Excel 97-2003"); Сообщить ("Текст ошибки : " + ОписаниеОшибки ()); Соединение = ""; Возврат; КонецПопытки; Попытка НаборЗаписей = Соединение.Execute("SELECT * FROM [" + СокрЛП (ИмяЛиста) + "$A" + Строка (СтрокаНачало) + ":CZ" + Строка (СтрокаКонец) + "] "); Исключение Сообщить("Не удалось выполнить запрос к файлу Excel средствами ADO, ошибка " + ОписаниеОшибки ()); Соединение.Close (); Соединение = ""; Возврат; КонецПопытки; | |||
| 50
    
        andrewalexk 18.08.22✎ 21:53 | 
        (49) :) если xls еще и актуален то только из-за 1с77     | |||
| 51
    
        Злопчинский 18.08.22✎ 22:54 | 
        Если XLS - то проще всего Йокселем прочитать в ТЗ.     | |||
| 52
    
        Arbuz 19.08.22✎ 15:29 | 
        в (28) некорректная строка подключения объекта ODBCDatabase. Должно быть что-то вроде
 База = СоздатьОбъект("ODBCDataBase"); Имя = "d:\path\file.xls"; Стр = " |DRIVER=Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb); |ReadOnly=1; |FIL=excel 14.0; |DBQ=" + Имя + " |"; Если База.Соединение(Стр) = 1 Тогда Запрос = СоздатьОбъект("ODBCRecordSet"); Запрос.УстБД(База); Текст = "select * |from [Лист1$A1:AZ]"; Запрос.ВыполнитьИнструкцию(Текст, ТЗ_Ексель); База.Закрыть(); Иначе Сообщить("Нет " + База.ПолучитьОписаниеОшибки()); КонецЕсли; Но проблема в препроцессоре 1срр - знак доллара chr(36), так и не смог победить. Можно попробовать параметризованные запросы. (49) Да, но ADODB не возвращает ТЗ(ИТЗ). Надо в цикле ковырять, что "неаккуратненько, дохтур". (51) Неее, дяденька, надо селектом сразу во внутреннюю структуру... Сразу можно ещё сджойнить несколько таблиц/файлов и отфильтровать по группировке. Так-то инструментов из Экселя завались. | |||
| 53
    
        Злопчинский 19.08.22✎ 15:46 | 
        "сразу во внутреннюю структуру..." - не понял...     | |||
| 54
    
        Злопчинский 19.08.22✎ 15:48 | 
        но для клюшек простого варинта у меня нет, такого чтобы типа
 ТЗ = ПолучитьДанные(тутфайлxlsилиxlsx,номерИлиИмяЛиста) | |||
| 55
    
        Arbuz 19.08.22✎ 16:11 | 
        (53) Ну, я имел ввиду, что ты ему скл запрос, он тебе ТЗ (или даже ИТЗ). Красивое. Иначе смысл в этой 1срр'шной ODBC прокладке, кроме как родные скуль-базы?
 (54) дык, я именно об этом. | |||
| 56
    
        GrayS19 19.08.22✎ 16:32 | 
        (52) а в ADODB можно узнать, сколько первых пустых столбцов в файле ? а то перебор по № столбца есть, но если в столбце "А" есть информация, то его №=1, столбца "В" №=2. А если в "А" пусто-пусто до конца файла, то уже столбца "В" №=2. Понятно, что RecordSet обрезал пустую информацию, а сколько столбцов обрезал ?     | |||
| 57
    
        GrayS19 19.08.22✎ 16:33 | 
        (56) 8А если в "А" пусто-пусто до конца файла, то уже столбца "В" №=1     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |