Форум программистов, компьютерный форум, киберфорум
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
1С Отчет оборотов по 2-х счетах Как организовать отчет, чтобы выводило например субконто контрагенты и договора и по них по счету 63 СНД, СНК, ДО,КО... и здесь же по счету 37 СНД, СНК,ДО,КО... Ит = СоздатьОбъект("БухгалтерскиеИтоги"); Ит.ИспользоватьСубконто(ВидыСубконто.Контрагенты,,1); Ит.ИспользоватьСубконто(ВидыСубконто.Договора,,1); СписокСчетов = "63,37"; Ит.ВыполнитьЗапрос(ДатаНач,ДатаКон,СписокСчетов);... https://www.cyberforum.ru/ 1c/ thread2067612.html Потстроение регистра сведений и работа дакумента с ним 1С
Я пишу дипломный проект на тему "Автоматизация управления учебным процессом". У меня такая проблема. есть регистр сведений "КарточкаУчащегося". В него должны записываться сведения по учащимся. Проблема в том, что для 9-х классов нужно сделать так, что бы для одного ученика хранилась информация по четвертям, то есть для первой четверти - одна, для второй-вторая т.п. примерно вот так: |...
1С Как редактировать форму СФ_выданный? Здравствуйте, я новичок в 1С. Можно ли в 1С 7.7 редактировать форму выбора журналов? Т.е. например, есть форма списка "Счета-фактуры выданные" в меню "Журналы", где по двойному клику открывается форма выбора с кнопкой "печать". Можно ли редактировать ее и как до нее добраться? https://www.cyberforum.ru/ 1c/ thread2067610.html 1С Упорядочивание строк в документе https://www.cyberforum.ru/ 1c/ thread2067609.html
Процедура УпорядочитьСтроки() Если Вопрос("Упорядочить строки?","Да+Нет") = "Да" Тогда ТЗН = СоздатьОбъект("ТаблицаЗначений"); Док = СоздатьОбъект("Документ.ПредЗаявка"); Док.ВыгрузитьТабличнуюЧасть(ТЗН); ТЗН.НоваяКолонка("Родитель"); ТЗН.Родитель = Номенклатура.Родитель; ТЗН.Сортировать.("Родитель +"); КонецЕсли; КонецПроцедуры;
1С Группы справочника
Подскажите пожалуйста. Вот такая ситуация: надо в справочнике найти группу1 по определеному реквизиту документа, потом перейти в каталог этой группы1 и искать следующую группу2 по другому реквизиту документа, потом зайти в каталог группы2 и искать сам элемент. Так вот в чем вопрос: как осуществить переход в каталог сначала одной группы, а потом во внутренний ее каталог другой группы? Ну то есть...
1С и снова батник https://www.cyberforum.ru/ 1c/ thread2067607.html
Есть задача написать батник уменя получилось вот так xcopy C:\test\baza C:\test\backup%date% /f /i /y /s /h /c Поискал в нете что то сам потправил работает . копирует базу 1С. по дате все как надо. все файлы сохраняет . Вообщемто все работает. Но теперь проблема другая нужно чтобы данные архивировались . Если кто сможет подсказать . то это было бы хорошо. в Любом случае добью до победного...
1С таблицы значений в 1с 7.7. Доброго времени суток. у меня есть 2 ТЗ. условно 1-ую можно назвать план, вторую-факт. Как рассчитать % брака по определенному сотруднику по такой формуле: 100-(100*КолвоФакт)/КолвоПлан) Данные КолвоФакт- берется из ТЗФАКт., КолвоФакт из ТЗПлан Может кто может подсказать, как это возможно рассчитать. Зареннее огромное спасибо за помощь https://www.cyberforum.ru/ 1c/ thread2067606.html А можно обратиться к БД 1С не через конфигуратор, а посредством Sql-за 1С
Всем доброго времени суток, Вопрос начинающего: у меня есть копия БД 1С, я хочу к ней обратиться через какую-нибудь программу типа SQL Navigator, чтобы писать нормальные sql-запросы. Не мог бы кто-нибудь помочь хоть с какой-нибудь информацией по моему вопросу: возможно ли это и как. Желательно очень подробно )))
1С 1c V8.x: Оформление Таблицы Word. Ole Automation. Создается таблица в Word. Как задать цвет границ таблицы??? Rng8.I_nsertAfter("1, 2, 3"); Rng8.I_nsertParagraphAfter(); Rng8.I_nsertAfter("4, 5, 6"); Rng8.I_nsertParagraphAfter(); Rng8.I_nsertAfter("7, 8, 9"); Rng8.I_nsertParagraphAfter(); Rng8.ConvertToTable(","); https://www.cyberforum.ru/ 1c/ thread2067604.html 1С Табличное Поле https://www.cyberforum.ru/ 1c/ thread2067603.html
Всем привет! Недавно начал изучать 1С 8.1 Программирование и столкнулся пока что с неразрешимой для себя задачей На форме документа есть ТабличноеПоле, в котором есть колонка ВидРасчета с полем ввода. Хочу сделать чтобы каждый раз при вводе новых данных в этой колонке ставилось значение по умолчанию: Оклад. Но никак не могу понять как грамотно сделать это программно! Создал сразу на форме...
1С Функциональные Опции
Передо мной стоит задача продавать программу кусками. На слух, вроде, как для этого опции и предназначены. Кто-нибудь на практике использовал?
1С Нужно Применить Пару Параметров К Запросу https://www.cyberforum.ru/ 1c/ thread2067601.html
Имеется ниже следующий код .SpoilerTarget">Спойлер: Раскрывающийся Текст Код ( (Unknown Language)): ВЫБРАТЬ Данные.ЛицевойСчет, ВЫРАЗИТЬ(ВЫБОР КОГДА Данные.СуммаСреднемесячныхНачислений = 0
0 / 0 / 0
Регистрация: 16.05.2009
Сообщений: 142
18.03.2010, 10:15 0

Загрузка Dbf-файлов с длиной имени больше 8 символов (1С 7.7) - 1С - Ответ 11139060

18.03.2010, 10:15. Показов 69813. Ответов 24
Метки (Все метки)

Ответ

Цитата Сообщение от vitfil
Для какого банана, извиняюсь, переименовывать?
При длинном пути надо брать либо в кавычки имя файла, либо, ИмяФайла = Лев(ДлинноеИмяФайла,7)+"~.dbf"
Поясню подробней. На диске в различных каталогах находятся файлы dbf с длиной имени порядка 12-14 символов. Если длина имени не превышает 8 символов- файлы открываются нормально, если же больше - программа вылетает с ошибкой "Перед выполнением операции нужно открыть базу!" на строчках
ДБФ.Первая();
и Пока ДБФ.ВКонце() = 0 Цикл

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


Первоначальная версия процедур:

[codebox]
Процедура ВыборФайла()

КаталогЗагрузки = "";
ФайлЗагрузки = "";
Если ФС.ВыбратьФайл(1, ФайлЗагрузки, КаталогЗагрузки, "Выберите файл", "*.dbf|*.dbf", , ) = 1 Тогда
ФайлЗагрузки = КаталогЗагрузки + ФайлЗагрузки;
КонецЕсли;

КонецПроцедуры

Процедура ПриВыбореИмениФайла()
Поз=Найти(ФайлЗагрузки,".");
Если (Поз=0) Или (Поз>8) Тогда
ФайлЗагрузки=СокрП(Лев(СокрЛ(ФайлЗагрузки),12))+".DBF";
Иначе
ФайлЗагрузки=СокрЛП(Лев(ФайлЗагрузки,Поз)+"DBF");
КонецЕсли;
КонецПроцедуры


Процедура Сформировать()

ИмФайл=СокрЛП(ФайлЗагрузки);
Док1 = СоздатьОбъект("Документ.РеестрСчетовВходящийЛПУ");
ДБФ = СоздатьОбъект("XBase");
ДБФ.ОткрытьФайл(ИмФайл,,1);
Док1.Новый();
ДБФ.Первая();
Пока ДБФ.ВКонце() = 0 Цикл
Док1.НоваяСтрока();
// и т.д.
[/codebox]


Решил сделать возможной загрузку файлов и с длинными именами. Алгоритм следующий:
1) long = 0;
2) пытаемся открыть файл, если длина больше 8 символов Тогда
а) усекаем имя до 8 символов;
б) переименовываем файл на диске в короткое имя;
в) присваиваем переменной long значение 1;
Иначе
ничего не делаем
Далее создаем объект типа XBase, создаем новый документ, открываем наш файл DBF и начинаем заполнять документ значениями полей файла. Если у нас был длинный файл (long=1), то после окончания всех действий вновь переименовываем файл (возвращаем ему исходное имя).


[codebox]
Перем КороткоеИмяФайла,ПолноеИмяФайла;
Процедура ВыборФайла()

КаталогЗагрузки = "";
ФайлЗагрузки = "";
Если ФС.ВыбратьФайл(0, ФайлЗагрузки, КаталогЗагрузки, "Выберите файл", "*.dbf|*.dbf", , ) = 1 Тогда
ПолноеИмяФайла = КаталогЗагрузки + ФайлЗагрузки;
КонецЕсли;

КонецПроцедуры

Процедура ПриВыбореИмениФайла()
long=0;
Поз=Найти(ФайлЗагрузки,".");
Если (Поз>8) Тогда // длинное имя файла
КороткоеИмяФайла=СокрП(Лев(СокрЛ(ФайлЗагрузки),8))+".DBF";;
long = 1;
ФС.УстТекКаталог(КаталогЗагрузки);
Результат = "";
Результат = ФС.НайтиПервыйФайл(ФайлЗагрузки);
Если Результат<>"" Тогда
ФС.ПереименоватьФайл(СокрЛП(КаталогЗагрузки)+"\"+ Результат,СокрЛП (КаталогЗагрузки)+"\" + КороткоеИмяФайла,1);//теперь наш файл называется R91000.dbf
КонецЕсли;
Иначе
КороткоеИмяФайла=СокрЛП(Лев(ФайлЗагрузки,Поз)+"DBF");
КонецЕсли;
КонецПроцедуры

Процедура Сформировать()
ИмФайл=СокрЛП(КороткоеИмяФайла);
Док1 = СоздатьОбъект("Документ.РеестрСчетовВходящийЛПУ");
ДБФ = СоздатьОбъект("XBase");
ФС.УстТекКаталог(КаталогЗагрузки);
ДБФ.ОткрытьФайл(ИмФайл,,1);
Док1.Новый();
ДБФ.Первая();
Пока ДБФ.ВКонце() = 0 Цикл
Док1.НоваяСтрока();
//и т.д.
[/codebox]

В новом варианте обработка файлов с длинными именами все равно невозможна, программа вылетает с теми же ошибками. Подскажите, возможно ли реализовать мою задумку в 1С?

Вернуться к обсуждению:
Загрузка Dbf-файлов с длиной имени больше 8 символов (1С 7.7) 1С
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.03.2010, 10:15
Готовые ответы и решения:

Доступ к полям длиной более 255 символов баз DBF
При чтении строкового поля базы DBF длиной более 255 символов получаем неверные данные. Все...

Загрузка Dbf файлов
Такая проблема, при загрузке пачки документов, попался &quot;битый&quot;, и на нём загрузка вылетает вот с...

Ошибка при имени dbf файла более 8 символов ( MSDASQL.1 )
Всем доброго времени суток :) Цель функции: Найти *.dbf файлы в директории, присоединиться к ним в...

Преобразовать строки длиной больше 10 символов
С клавиатуры вводим число n типа int. Затем вводим n строк. Если в строке больше 10 символов, то...

24
18.03.2010, 10:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.03.2010, 10:15
Помогаю со студенческими работами здесь

Строки: вывести слова длиной больше 5 символов
Есть строка, например str = &quot; 'More', 'Szlipkno', 'Самолет', 'Санки', 'Glecho' &quot; и нужно сделать ...

Запись в базу текста длиной больше 255 символов
Всем привет. Пищу программу которая пишет и читает текстовые данные в аксес базу данных. Но тут...

Вывести на экран строки длиной больше 5 и меньше 20 символов из контейнера multiset<string>
Здравствуйте, у меня такой вопрос, например существует контейнер multiset&lt;string&gt;, как можно...

Строка: убрать пробелы и найти все палиндромы (длиной больше пяти символов) во всем тексте
В строку вводится текст(возможно с пробелами). Нужно чтобы программа, убрала пробелы и нашла все...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru