Вопрос:
Как перенести настройку документа из одной базы в другую для 1С:Бухгалтерия 6.0?
Ответ:
1. Копируем базу, из которой необходимо перенести документ во временную директорию.
2. Удаляем из временной базы данных настройки всех документы, кроме нужного ("Документы и расчеты"/"Уд."). Если в журнале есть документы тех видов, которые нужно удалить, то необходимо предварительно очистить журнал операций ("Операции"/"Удаление операций")
3. Запускаем 1sbwconv.exe /s
4. Делаем экспорт "документов и расчетов" в файл ("Выгрузить").
5. Импортируем настройки документов из файла в новую базу данных ("Загрузить").
6. Копируем файл с формой (.gfd) в директорию с новой базой данных.
Вопрос:
При вводе документа для 1С:Бухгалтерия 6.0 в поле "номер" остается пустым. Из-за чего это происходит?
Ответ:
Вероятно, дело в настройке шрифтов. Попробуйте выключить режим Large Font или уменьшить размер шрифта через диалог "Сервис/Общие параметры/Списки/Выбрать шрифт".
Вопрос:
Как с нового года в 1С:Бухгалтерия 6.0 начать нумерацию документов заново?
Ответ:
Первый способ - сделать копию настроек документа и вносить в журнал документы нового вида. Второй - включать год в старшие разряды номера (980001). Чтобы в формах документов были видны только младшие разряды, нужно в поле, содержащие номер поставить следующее выражение: ФОРМАТ(ОКР(0+ВЫД(""+ЗН1\СТРДЛИНА(""+ЗН1)-3\4)\0)\"Е0")
Вопрос:
Почему в поле вида "Информационное табло" 1С:Бухгалтерия 6.0 выводятся суммы без копеек?
Ответ:
Реквизиты "Информационное табло", типа "число" выводятся целыми, а имеющие тип "текст" с двумя знаками после десятичной точки. Т.е. необходимо установить тип "текст".
Вопрос:
В 1С:Бухгалтерия 6.0 в документе есть поле типа "Субконто", вид субконто определяется по полю со счетом. При заполнении такого документа вид субконто не всегда соответствует счету. Почему это происходит и к чему может привести?
Ответ:
Программа не проверяет соответствие вида субконто и счета. После изменения счета необходимо выбрать поле, содержащее субкотно и выбрать новое значение. Если документом на основании некорректно внесенных данных будут сформированы проводки, то это может привести к неправильному расчету итогов по счету в разрезе субконто. Чтобы избежать такой ситуации, необходимо предусмотреть проверку соответствия счета и вида субконто в разделе описания формирования проводок.
Вопрос:
Почему программа округляет 1.5 до 1?
Ответ:
По нормативным документам, именно так и нужно округлять в финансовых расчетах.
Вопрос:
Какую структуру имеет информационная база 1С:Бухгалтерия 6.0.
Ответ:
Описание структуры данных можно найти в файле 1sbw.dd.
1sbcons.dbf - константы, настройки документов, отчетов, параметры субконто, шапки документов
1sbdoc.dbf - табличные части документов
1sbglkn.dbf - остатки и обороты по счетам
1sboper.dbf - журнал операций
1sbopert.dbf- временный файл, используется при вводе типовой операции
1sbsch.dbf - план счетов
1sbspsk.dbf - списки субконто
1sbsvpr.dbf - сводные проводки
1sbsvprt.dbf- временный файл, используется при расчете сводных проводок
1sbsvsk.dbf - временный файл, используется при построении отчетов
1sbsys.dbf - системные параметры
1sbsysl.dbf - локальные системные параметры
Файлы 1sbglkn.dbf и 1sbsvpr.dbf формируются при расчете итогов на основании 1sboper.dbf т.е. их можно восстановить пересчитав итоги начиная с периода, в котором были первые операции. Для удаления всех операций из журнала необходимо пользоваться командой "Операции/Удаление операций", просто удалить файл 1sboper.dbf недостаточно - останется информация о документах.
Вопрос:
Почему после удаления операций обЪем баз 1С:Бухгалтерия 6.0 не уменьшился?
Ответ:
Фактического удаления данных из файла не происходит, запись получает атрибут "Deleted" и занимаемое ей пространство будет использовано в дальнейшем при внесении новой информации. Если необходимо удалить из файла все записи помеченные к удалению, то можно воспользоваться командой Pack из пакета FoxPro или другой программой, работающей с файлами в формате dbf.
Вопрос:
Ключ защиты 1С:Бухгалтерия 6.0 мешает работе принтера. Как быть?
Ответ:
В первую очередь попробуйте запретить двусторонний обмен данными (Панель управления/Принтеры/Свойства/Сведения/Очердь/Двусторонний обмен данными с принтером). В некоторых случаях помогает изменение типа параллельного порта (Normal/ECP/EPP). В локальной сети есть возможность перенести на другой компьютер сервер защиты или принтер. Можно установить дополнительную карту с портом принтера или мультикарту т.е. разнести ключ защиты и принтер на разные порты LPT.
Вопрос:
Как работает Windows 2000 и 1С 7.7 ?
Ответ:
Нормально работает, в списке девайсов haspemul, находиться : My computer->hardware manager->show hidden devices. Еще одна интересная особенность - в ней все надо делать последовательно, иначе хасп не установить уже никогда. Т.е. поставить 1С, поставить драйвер хаспа, перезагрузиться, удалить драйвер хаспа, перезагрузиться, поставить эмулятор, поставить вместо auto - boot, перезагрузиться. Если где-то напутать или пропустить или не перезагрузиться, то при попытке установить драйвер или эмулятор она ругается на ошибку записи в реестр.
Вопрос:
Какие ключи для запуска приложений 1С ?
Ответ:
CONFIG - конфигуратор
DEBUG - отладчик
ENTERPRISE - предприятие
/D - каталог информационной базы данных
/U - каталог пользователя
/N - имя пользователя, как оно указанно в списке пользователей в конфигураторе
/P - пароль пользователя, имя которого указано в параметре /N
/M - монопольный режим
/T - параметр для переопределения каталога временных файлов Если путь имеет вид, типа c:\Program Files\:. то для запуска необходимо весь путь. Не забывайтеуказать путь в кавычках - /D"C:\Program Files\Vasya Pupkin"
Вопрос:
Как подавить вывод заставки 1C предприятия ?
Ответ:
Нужно поставить NO_SPLASH_SHOW и работает это только при запуске в режиме OLE Automation сервера или ручками через hiew.exe :
1cv7.exe 7.7.002 ищем 8B87548500, заменяем на 33C090909090
1cv7l.exe 7.7.014 ищем 8B8B548500, заменяем на 31C990909090
1cv7.exe 7.7.014 ищем 8B87548500, заменяем на 31C090909090
Вопрос:
Как пpовести докyмент без всяких вопpосов?
Ответ:
На кнопке ОК меняешь #Записать? Пpовести? Закpыть на то же без вопросов, а в ПpиЗаписи() АвтоВpемяТекyщее()
Вопрос:
Пpоблема в следyющем: если user1 загpyзил на своем компе две базы, то пpи попытке user2 войти в эти две базы появляется ошибка откpытия таблицы (т.е. в однy базy (любyю) user2 может войти, а в две сpазy нет). С user3, на компе котоpого эти две базы физически находятся, все в поpядке (т.е. он может войти сpазy в две базы). В чем пpоблема?
Ответ:
Эта проблема возникает, когда на машине user3 (там где лежит база) установлена ОС Win 9x, которая имеет ограничение в 1024 открытых по сети файла. Конфигурация открывает в среднем около 300 файлов (имеются ввиду типовые или навернутые самопальные DBF).Решение в переносе базы на машину с другой ОС (НТ, Новелл, Линух)
Вопрос:
Довольно часто возникают проблемы с тем, что кто-то сидит в монопольном режиме в SQL-базе, второй юзер ломится туда же и все падает.
Ответ:
Решение есть, если у вас SQL 7.0 - необходимо поставить ServicePack 2 для SQL 7.0 и тогда краха не будет, отваливаться будет _второй_ юзер, не попортив данных!
Вопрос:
А где можно найти программу для чтения *.MXL файлов Microsoft Excel ?
Ответ:
Прямо на сервере http://1c.rivne.com/files/xfilter.zip
Вопрос:
Насколько параметры сети влияют на производительность сетевой файл-серверной версии "1С:Предприятия"?
Ответ:
Сравните время обработки документов, когда данные находятся на диске сервера и когда на локальном диске рабочей станции. Если данные - на локальном диске, то это будет время "чистое", не зависящее от сети. При расположении данных на сервере получится время с учетом загруженности сети. Если эти параметры различаются в несколько раз, то можно говорить о плохой конфигурации сети. При этом следует учитывать, что при работе в монопольном режиме включен внутренний кэш программы, и она не обращается за каждой записью базы данных по сети на сервер, а использует кэш в оперативной памяти. Если же запустить программу в разделенном режиме - время увеличится, поскольку каждая запись извлекается с диска сервера. В наибольшей степени на производительность сетевой файл-серверной версии "1С:Предприятия" влияет аппаратное и программное обеспечение сервера.
Вопрос:
Как "сломать" паpоль на конфигуpационный файл?
Ответ:
Если на конфиуpацию стоит паpоль, то "сломать" его можно следующим обpазом:
(Вариант 1)
1.В файле BkENd.dll найти стpочку содеpжащую "TaskItem".
2.Заменить ее на любую дpугую стpочку, главное, что бы совпадали их длины.
3. Запустить конфигуpатоp, внести изменние и сохpанить конфигуpацию.
4. Веpнуть ноpмальный файл обpатно Единственное уточнение от меня: пpи этом становится дефолтным Id и свойства задачи в конфигуpации. Vladimir Sinitsin (2:5030/437.543)
(Вариант 2)
1. Установите плагин DocFile для FAR'a
2. Создайте в 1С:Конфигураторе пустой внешний отчет и сохраните его
3. Скопируйте при помощи FAR'a из защищенного отчета всю структуру за исключением "Container.Profile" в пустой отчет.
(Вариант 3)
В конфигурациях >7.70.003 пароль можно менять как и в конфигурациях
Вопрос:
При запуске "1С:Предприятие для SQL" выдается ошибка: SQL state 08004 (Native: 916) Server User ID 11 is not a valid user in database 'имя_базы'.
Ответ:
Это означает, что в Конфигураторе в параметрах соединения с базой данных SQL 6.5 указано имя пользователя, который отсутствует в списке пользователей данной базы или не является ее владельцем.
Вопрос:
Что делать, если при реиндексации возникает ошибка с кодом 630 (при работе с 32-bit Novell Client версии 3.00 и выше) ?
Ответ:
Такая ошибка возникает, если в свойствах Novell Client в закладке Advansed Settings значение параметра File Cache Level больше 1. В этом случае не производится реиндексация базы на сервере. Нужно установить значение этого параметра равным 1 или 0.
Вопрос:
Что делать, если при запуске "1C:Пpедпpиятия 7.7" выдается сообщение "Порядок сортировки строк, установленный для Базы Данных, отличается от системного !"?
Ответ:
Проверьте региональные установки Windows (кнопка "Пуск"-"Настройка"- "Панель управления"-"Язык и стандарты"). Необходимо выбрать язык - русский . Запустите программу в режиме Конфигуратора и в меню "Администрирование" выберите "Кодовая страница таблиц ИБ". Выберите в нем 1251 (Русский...языки). Если при запуске "1С:Предприятия" снова выдается то же самое сообщение, то выберите в Конфигураторе в Кодовой странице "Текущую системную установку" (в самом низу списка) и перезапустите Предприятие.
Вопрос:
Как организовать непосредственный доступ к рабочей базе 1С через ярлык на рабочем столе?
Ответ:
Во многих случаях возникает неудобство при обращении к рабочей базе программы 1С через диалоговое окошко Запуск 1С:Предприятия. Непосредственный запуск рабочей базы можно организовать самостоятельно, что позволит прежде всего экономить время при запуске конфигурации. Кликните на ярлыке 1С правой кнопкой мыши и выберите в появившемся подменю . На закладке в окошке указан путь к файлу 1cv7.exe (либо 1cv7s.exe; 1cv7l.exe). Например, "C:\Program Files\1Cv77\BIN\1cv7.exe". Открыть рабочую базу можно в режиме 1:Предприятие указав после заданного пути следующие параметры: enterprise /D Путь к рабочей базе . Например, если путь к Вашей базе D:\Base1C\1sbdb, то в окошке ОбЪект будет следующая запись:
"C:\Program Files\1Cv77\BIN\1cv7.exe" enterprise /DD:\Base1C\1sbdb
Нажав , Вы задействуете новый режим запуска.
Вопрос:
Как узнать себестоимость товара в ТиС 7.7 ред. 8.7?
Ответ:
Информация по себестоимости находится в регистре Партии товаров. Вот функция которая возвращает текущую себестоимость товара:
Как подсчитать итог по колонке в подчиненном справочнике?
Ответ:
Допустим у нас есть справочник "Номенклатура" и подчиненный к нему справочник "Цены" с периодическим реквизитом "Цена". Если нам надо получить сумму всех цен к какому-либо товару, тогда воспользуемся следующей функцией.
Как удалить нулевые значения периодического реквизита справочника?
Ответ:
Бывают ситуации, когда действительно необходимо убрать "лишние" нули из периодического реквизита справочника. Например, из реквизита "Цена". Рассмотрим пример решения такой задачи.
Исходные данные:
вСпр - элемент справочника, у которого есть временный реквизит "Цена". Тогда, так выглядит код программы для удаления всех "нулей", если они есть.
Как выгрузить табличную часть документов за определенный период и загрузить в новый документ ?
Ответ:
Предположим, что это документ 'Расходная Накладная' и нам надо выбрать документы за период , далее выгрузить табличную часть этих документов и вставить в текущий документ ( к примеру 'Акт по продажам').
Решение выглядит примерно так:
1) В документе 'Акт по продажам' необходимо создать два реквизита 'ДатаНачала ' и 'ДатаКонца'.
2) В диалоге формы вставить кнопку 'Заполнить' и повесить на нее процедуру ЗаполнитьТабЧасть().
3) Напишем процедуру с использованием обЪекта типа 'ТаблицаЗначений'.
Как послать сообщение по электронной почте?
Ответ:
Ниже представлена функция, которая пересылает данные из программы по электронной почте.
Как можно загрузить информацию из файлов формата *.DOC или *.XLS?
Ответ:
Вот два примера для Word и Excel:
Как перенести настройку документа из одной базы в другую для 1С:Бухгалтерия 6.0?
Ответ:
1. Копируем базу, из которой необходимо перенести документ во временную директорию.
2. Удаляем из временной базы данных настройки всех документы, кроме нужного ("Документы и расчеты"/"Уд."). Если в журнале есть документы тех видов, которые нужно удалить, то необходимо предварительно очистить журнал операций ("Операции"/"Удаление операций")
3. Запускаем 1sbwconv.exe /s
4. Делаем экспорт "документов и расчетов" в файл ("Выгрузить").
5. Импортируем настройки документов из файла в новую базу данных ("Загрузить").
6. Копируем файл с формой (.gfd) в директорию с новой базой данных.
Вопрос:
При вводе документа для 1С:Бухгалтерия 6.0 в поле "номер" остается пустым. Из-за чего это происходит?
Ответ:
Вероятно, дело в настройке шрифтов. Попробуйте выключить режим Large Font или уменьшить размер шрифта через диалог "Сервис/Общие параметры/Списки/Выбрать шрифт".
Вопрос:
Как с нового года в 1С:Бухгалтерия 6.0 начать нумерацию документов заново?
Ответ:
Первый способ - сделать копию настроек документа и вносить в журнал документы нового вида. Второй - включать год в старшие разряды номера (980001). Чтобы в формах документов были видны только младшие разряды, нужно в поле, содержащие номер поставить следующее выражение: ФОРМАТ(ОКР(0+ВЫД(""+ЗН1\СТРДЛИНА(""+ЗН1)-3\4)\0)\"Е0")
Вопрос:
Почему в поле вида "Информационное табло" 1С:Бухгалтерия 6.0 выводятся суммы без копеек?
Ответ:
Реквизиты "Информационное табло", типа "число" выводятся целыми, а имеющие тип "текст" с двумя знаками после десятичной точки. Т.е. необходимо установить тип "текст".
Вопрос:
В 1С:Бухгалтерия 6.0 в документе есть поле типа "Субконто", вид субконто определяется по полю со счетом. При заполнении такого документа вид субконто не всегда соответствует счету. Почему это происходит и к чему может привести?
Ответ:
Программа не проверяет соответствие вида субконто и счета. После изменения счета необходимо выбрать поле, содержащее субкотно и выбрать новое значение. Если документом на основании некорректно внесенных данных будут сформированы проводки, то это может привести к неправильному расчету итогов по счету в разрезе субконто. Чтобы избежать такой ситуации, необходимо предусмотреть проверку соответствия счета и вида субконто в разделе описания формирования проводок.
Вопрос:
Почему программа округляет 1.5 до 1?
Ответ:
По нормативным документам, именно так и нужно округлять в финансовых расчетах.
Вопрос:
Какую структуру имеет информационная база 1С:Бухгалтерия 6.0.
Ответ:
Описание структуры данных можно найти в файле 1sbw.dd.
1sbcons.dbf - константы, настройки документов, отчетов, параметры субконто, шапки документов
1sbdoc.dbf - табличные части документов
1sbglkn.dbf - остатки и обороты по счетам
1sboper.dbf - журнал операций
1sbopert.dbf- временный файл, используется при вводе типовой операции
1sbsch.dbf - план счетов
1sbspsk.dbf - списки субконто
1sbsvpr.dbf - сводные проводки
1sbsvprt.dbf- временный файл, используется при расчете сводных проводок
1sbsvsk.dbf - временный файл, используется при построении отчетов
1sbsys.dbf - системные параметры
1sbsysl.dbf - локальные системные параметры
Файлы 1sbglkn.dbf и 1sbsvpr.dbf формируются при расчете итогов на основании 1sboper.dbf т.е. их можно восстановить пересчитав итоги начиная с периода, в котором были первые операции. Для удаления всех операций из журнала необходимо пользоваться командой "Операции/Удаление операций", просто удалить файл 1sboper.dbf недостаточно - останется информация о документах.
Вопрос:
Почему после удаления операций обЪем баз 1С:Бухгалтерия 6.0 не уменьшился?
Ответ:
Фактического удаления данных из файла не происходит, запись получает атрибут "Deleted" и занимаемое ей пространство будет использовано в дальнейшем при внесении новой информации. Если необходимо удалить из файла все записи помеченные к удалению, то можно воспользоваться командой Pack из пакета FoxPro или другой программой, работающей с файлами в формате dbf.
Вопрос:
Ключ защиты 1С:Бухгалтерия 6.0 мешает работе принтера. Как быть?
Ответ:
В первую очередь попробуйте запретить двусторонний обмен данными (Панель управления/Принтеры/Свойства/Сведения/Очердь/Двусторонний обмен данными с принтером). В некоторых случаях помогает изменение типа параллельного порта (Normal/ECP/EPP). В локальной сети есть возможность перенести на другой компьютер сервер защиты или принтер. Можно установить дополнительную карту с портом принтера или мультикарту т.е. разнести ключ защиты и принтер на разные порты LPT.
Вопрос:
Как работает Windows 2000 и 1С 7.7 ?
Ответ:
Нормально работает, в списке девайсов haspemul, находиться : My computer->hardware manager->show hidden devices. Еще одна интересная особенность - в ней все надо делать последовательно, иначе хасп не установить уже никогда. Т.е. поставить 1С, поставить драйвер хаспа, перезагрузиться, удалить драйвер хаспа, перезагрузиться, поставить эмулятор, поставить вместо auto - boot, перезагрузиться. Если где-то напутать или пропустить или не перезагрузиться, то при попытке установить драйвер или эмулятор она ругается на ошибку записи в реестр.
Вопрос:
Какие ключи для запуска приложений 1С ?
Ответ:
CONFIG - конфигуратор
DEBUG - отладчик
ENTERPRISE - предприятие
/D - каталог информационной базы данных
/U - каталог пользователя
/N - имя пользователя, как оно указанно в списке пользователей в конфигураторе
/P - пароль пользователя, имя которого указано в параметре /N
/M - монопольный режим
/T - параметр для переопределения каталога временных файлов Если путь имеет вид, типа c:\Program Files\:. то для запуска необходимо весь путь. Не забывайтеуказать путь в кавычках - /D"C:\Program Files\Vasya Pupkin"
Вопрос:
Как подавить вывод заставки 1C предприятия ?
Ответ:
Нужно поставить NO_SPLASH_SHOW и работает это только при запуске в режиме OLE Automation сервера или ручками через hiew.exe :
1cv7.exe 7.7.002 ищем 8B87548500, заменяем на 33C090909090
1cv7l.exe 7.7.014 ищем 8B8B548500, заменяем на 31C990909090
1cv7.exe 7.7.014 ищем 8B87548500, заменяем на 31C090909090
Вопрос:
Как пpовести докyмент без всяких вопpосов?
Ответ:
На кнопке ОК меняешь #Записать? Пpовести? Закpыть на то же без вопросов, а в ПpиЗаписи() АвтоВpемяТекyщее()
Вопрос:
Пpоблема в следyющем: если user1 загpyзил на своем компе две базы, то пpи попытке user2 войти в эти две базы появляется ошибка откpытия таблицы (т.е. в однy базy (любyю) user2 может войти, а в две сpазy нет). С user3, на компе котоpого эти две базы физически находятся, все в поpядке (т.е. он может войти сpазy в две базы). В чем пpоблема?
Ответ:
Эта проблема возникает, когда на машине user3 (там где лежит база) установлена ОС Win 9x, которая имеет ограничение в 1024 открытых по сети файла. Конфигурация открывает в среднем около 300 файлов (имеются ввиду типовые или навернутые самопальные DBF).Решение в переносе базы на машину с другой ОС (НТ, Новелл, Линух)
Вопрос:
Довольно часто возникают проблемы с тем, что кто-то сидит в монопольном режиме в SQL-базе, второй юзер ломится туда же и все падает.
Ответ:
Решение есть, если у вас SQL 7.0 - необходимо поставить ServicePack 2 для SQL 7.0 и тогда краха не будет, отваливаться будет _второй_ юзер, не попортив данных!
Вопрос:
А где можно найти программу для чтения *.MXL файлов Microsoft Excel ?
Ответ:
Прямо на сервере http://1c.rivne.com/files/xfilter.zip
Вопрос:
Насколько параметры сети влияют на производительность сетевой файл-серверной версии "1С:Предприятия"?
Ответ:
Сравните время обработки документов, когда данные находятся на диске сервера и когда на локальном диске рабочей станции. Если данные - на локальном диске, то это будет время "чистое", не зависящее от сети. При расположении данных на сервере получится время с учетом загруженности сети. Если эти параметры различаются в несколько раз, то можно говорить о плохой конфигурации сети. При этом следует учитывать, что при работе в монопольном режиме включен внутренний кэш программы, и она не обращается за каждой записью базы данных по сети на сервер, а использует кэш в оперативной памяти. Если же запустить программу в разделенном режиме - время увеличится, поскольку каждая запись извлекается с диска сервера. В наибольшей степени на производительность сетевой файл-серверной версии "1С:Предприятия" влияет аппаратное и программное обеспечение сервера.
Вопрос:
Как "сломать" паpоль на конфигуpационный файл?
Ответ:
Если на конфиуpацию стоит паpоль, то "сломать" его можно следующим обpазом:
(Вариант 1)
1.В файле BkENd.dll найти стpочку содеpжащую "TaskItem".
2.Заменить ее на любую дpугую стpочку, главное, что бы совпадали их длины.
3. Запустить конфигуpатоp, внести изменние и сохpанить конфигуpацию.
4. Веpнуть ноpмальный файл обpатно Единственное уточнение от меня: пpи этом становится дефолтным Id и свойства задачи в конфигуpации. Vladimir Sinitsin (2:5030/437.543)
(Вариант 2)
1. Установите плагин DocFile для FAR'a
2. Создайте в 1С:Конфигураторе пустой внешний отчет и сохраните его
3. Скопируйте при помощи FAR'a из защищенного отчета всю структуру за исключением "Container.Profile" в пустой отчет.
(Вариант 3)
В конфигурациях >7.70.003 пароль можно менять как и в конфигурациях
Вопрос:
При запуске "1С:Предприятие для SQL" выдается ошибка: SQL state 08004 (Native: 916) Server User ID 11 is not a valid user in database 'имя_базы'.
Ответ:
Это означает, что в Конфигураторе в параметрах соединения с базой данных SQL 6.5 указано имя пользователя, который отсутствует в списке пользователей данной базы или не является ее владельцем.
Вопрос:
Что делать, если при реиндексации возникает ошибка с кодом 630 (при работе с 32-bit Novell Client версии 3.00 и выше) ?
Ответ:
Такая ошибка возникает, если в свойствах Novell Client в закладке Advansed Settings значение параметра File Cache Level больше 1. В этом случае не производится реиндексация базы на сервере. Нужно установить значение этого параметра равным 1 или 0.
Вопрос:
Что делать, если при запуске "1C:Пpедпpиятия 7.7" выдается сообщение "Порядок сортировки строк, установленный для Базы Данных, отличается от системного !"?
Ответ:
Проверьте региональные установки Windows (кнопка "Пуск"-"Настройка"- "Панель управления"-"Язык и стандарты"). Необходимо выбрать язык - русский . Запустите программу в режиме Конфигуратора и в меню "Администрирование" выберите "Кодовая страница таблиц ИБ". Выберите в нем 1251 (Русский...языки). Если при запуске "1С:Предприятия" снова выдается то же самое сообщение, то выберите в Конфигураторе в Кодовой странице "Текущую системную установку" (в самом низу списка) и перезапустите Предприятие.
Вопрос:
Как организовать непосредственный доступ к рабочей базе 1С через ярлык на рабочем столе?
Ответ:
Во многих случаях возникает неудобство при обращении к рабочей базе программы 1С через диалоговое окошко Запуск 1С:Предприятия. Непосредственный запуск рабочей базы можно организовать самостоятельно, что позволит прежде всего экономить время при запуске конфигурации. Кликните на ярлыке 1С правой кнопкой мыши и выберите в появившемся подменю . На закладке в окошке указан путь к файлу 1cv7.exe (либо 1cv7s.exe; 1cv7l.exe). Например, "C:\Program Files\1Cv77\BIN\1cv7.exe". Открыть рабочую базу можно в режиме 1:Предприятие указав после заданного пути следующие параметры: enterprise /D Путь к рабочей базе . Например, если путь к Вашей базе D:\Base1C\1sbdb, то в окошке ОбЪект будет следующая запись:
"C:\Program Files\1Cv77\BIN\1cv7.exe" enterprise /DD:\Base1C\1sbdb
Нажав , Вы задействуете новый режим запуска.
Вопрос:
Как узнать себестоимость товара в ТиС 7.7 ред. 8.7?
Ответ:
Информация по себестоимости находится в регистре Партии товаров. Вот функция которая возвращает текущую себестоимость товара:
Функция ПолучитьСреднююСебестоимость(вТовар) Перем РегПартий; // обЪект доступа к регистру ПартииТоваров Перем РезТаблица; // возвращаемая таблица значений Перем Стоимость, Колво; // вспомогательные переменные для расчета цены Перем ТекущийТовар; // текущий товар в выборке из регистра // изначально текущий товар не задан РегПартий = СоздатьОбЪект("Регистр.ПартииТоваров"); // устанавливаем фильтр на выборку итогов // упр. учет РегПартий.УстановитьЗначениеФильтра("Фирма", глПустаяФирма, 1); // фильтр на равенство // выбирать только по товару РегПартий.УстановитьЗначениеФильтра("Товар", вТовар, 2); // фильтр на вхождение // инициализируем переменные для суммирования итогов Стоимость = 0; Колво= 0; РегПартий.ВыбратьИтоги(); Пока РегПартий.ПолучитьИтог() = 1 Цикл Стоимость = Стоимость+РегПартий.Стоимость + РегПартий.НДС + РегПартий.СтоимостьНП; Колво = Колво+РегПартий.ОстатокТовара; КонецЦикла; Попытка вСебестоимость=Стоимость/Колво; Исключение вСебестоимость=0; КонецПопытки; Возврат вСебестоимость; КонецФункции // ПолучитьСреднююСебестоимостьВопрос:
Как подсчитать итог по колонке в подчиненном справочнике?
Ответ:
Допустим у нас есть справочник "Номенклатура" и подчиненный к нему справочник "Цены" с периодическим реквизитом "Цена". Если нам надо получить сумму всех цен к какому-либо товару, тогда воспользуемся следующей функцией.
// Функция возвращает строку с указанием суммы реквизита. Функция ВернутьСумму(вСпр) // Описание переменных. Перем вРез,вСум; // Обработка ошибки. Если (ПустоеЗначение(вСпр)=1) Тогда Возврат ""; КонецЕсли; // Сначала сумма=0. вСум=0; // Создаем обЪект - справочник цен. вС=СоздатьОбЪект("Справочник.Цены"); // Для периодических реквизитов нужно установить дату // выборки. вС.ИспользоватьДату(РабочаяДата()); // Установим владельца для списка элементов справочника. вС.ИспользоватьВладельца(вСпр.ТекущийЭлемент()); // Открываем выборку элементов. вС.ВыбратьЭлементы(); // Выбираем элемент из выборки. Пока (вС.ПолучитьЭлемент()=1) Цикл // Собственно суммируем. вСум=вСум+вС.Цена; КонецЦикла; // Подготавливаем результат. вРез="Сумма всех цен "+Строка(вСум); // Возвращаем результат. Возврат вРез; КонецФункцииВопрос:
Как удалить нулевые значения периодического реквизита справочника?
Ответ:
Бывают ситуации, когда действительно необходимо убрать "лишние" нули из периодического реквизита справочника. Например, из реквизита "Цена". Рассмотрим пример решения такой задачи.
Исходные данные:
вСпр - элемент справочника, у которого есть временный реквизит "Цена". Тогда, так выглядит код программы для удаления всех "нулей", если они есть.
// Начало кода. вПериодический=СоздатьОбЪект("Периодический"); // Создаем периодический обЪект. вПериодический.ИспользоватьОбЪект("Цена",вСпр.ТекущийЭлемент()); // Связываем обЪекты. вПервый=1; // Для того чтобы не потереть 1-й элемент, тк он достаточно важен, даже если и ноль. аПериодический.ВыбратьЗначения(); // Открываем выборку значений. Пока (вПериодический.ПолучитьЗначение()=1) Цикл // Выбираем значение из списка. // Не первый элемент. Если (вПериодический.Значение=0) Тогда // Удаляем это значение. вПериодический.Удалить(); КонецЕсли; Иначе вПервый=0; // Пропускаем первое значение. КонецЕсли; КонецЦикла;Вопрос:
Как выгрузить табличную часть документов за определенный период и загрузить в новый документ ?
Ответ:
Предположим, что это документ 'Расходная Накладная' и нам надо выбрать документы за период , далее выгрузить табличную часть этих документов и вставить в текущий документ ( к примеру 'Акт по продажам').
Решение выглядит примерно так:
1) В документе 'Акт по продажам' необходимо создать два реквизита 'ДатаНачала ' и 'ДатаКонца'.
2) В диалоге формы вставить кнопку 'Заполнить' и повесить на нее процедуру ЗаполнитьТабЧасть().
3) Напишем процедуру с использованием обЪекта типа 'ТаблицаЗначений'.
Процедура ЗаполнитьТабЧасть() Перем Док, ТЗ; // Удаляем все строки в табличной части заполняемого документа. УдалитьСтроки(); // Определяем переменные. Док = СоздатьОбЪект("Документ.РасходнаяНакладная"); ТЗ = СоздатьОбЪект("ТаблицаЗначений"); // Подготавливаем таблицу значений к заполнению. ВыгрузитьТабличнуюЧасть(ТЗ); ТЗ.УдалитьСтроки(); // Выбирам документы за период. Док.ВыбратьДокументы(ДатаНачала,ДатаКонца); //Проходим по каждому документу выбираем строки и заполняем 'ТаблицуЗначений'. Пока Док.ПолучитьДокумент()=1 Цикл Док.ВыбратьСтроки(); Пока (Док.ПолучитьСтроку()=1) Цикл // Заполняем ТЗ. ТЗ.НоваяСтрока(); ТЗ.Товар=Док.Товар; ТЗ.Количество=Док.Количество; и.т.д. КонецЦикла; КонецЦикла; // При необходимости можно дублирующий товар свернуть в одну строку. ТЗ.Свернуть("Товар","Количество"); //Загружаем табличную часть в документ 'Акт по продажам'. ЗагрузитьТабличнуюЧасть(ТЗ); В принципе все !!! КонецПроцедурыВопрос:
Как послать сообщение по электронной почте?
Ответ:
Ниже представлена функция, которая пересылает данные из программы по электронной почте.
//--------------------------- Функция общНетМейлСоздатьСообщение( вАдрес, вТема="", вСообщение="" ) // Функция создания сообщения электронной почты. // Возвращает "Да"/"Нет" - "Успех"/"Неудача". Перем objMAPISession, objMAPIMessages; Попытка Если (ПустаяСтрока(вАдрес)=1) Тогда отлСообщить("общНетМейлСоздатьСообщение() - "+ "не указан адрес ...."); Возврат Нет; КонецЕсли; objMAPISession=СоздатьОбЪект("MSMAPI.MAPISession"); objMAPIMessages=СоздатьОбЪект("MSMAPI.MAPIMessages"); objMAPISession.DownloadMail=0; objMAPISession.SignOn(); objMAPIMessages.SessionID=objMAPISession.SessionID; objMAPIMessages.Compose(); objMAPIMessages.RecipType=1; // Primary recipient. objMAPIMessages.RecipAddress=СокрЛП(вАдрес); objMAPIMessages.MsgSubject=СокрЛП(вТема); objMAPIMessages.MsgNoteText=СокрЛП(вСообщение); objMAPIMessages.Send(1); Исключение // Начало обработки исключительной ситуации. стрОшибка="общНетМейлСоздатьСообщение() - "+ """"+СокрЛП(ОписаниеОшибки())+""""+ " ...."; Сообщить(стрОшибка); КонецПопытки; Возврат Нет; КонецФункцииВопрос:
Как можно загрузить информацию из файлов формата *.DOC или *.XLS?
Ответ:
Вот два примера для Word и Excel:
1. Word: // Создаем обЪект Word. // фФайл - переменная с полным именем файла. вВорд=СоздатьОбЪект("Word.Application"); // Создаем обЪект. вВорд.Documents.Open (фФайл); // Открываем файл. вДок=вВорд.ActiveDocument; // Получаем обЪект документа. //вВорд.Visible=1; // Эта команда открывает окно Word с файлом (если надо его посмотреть). кол=вДок.Paragraphs.Count(); // Количество параграфов (строк). Для пер=1 По кол Цикл вСтрока=вДок.Paragraphs(пер).Range.Text; // Получаем строку. // Дальше уже можно обработать строку как угодно. КонецЦикла; вВорд.Quit(); // Выход из Wordа. 2. Excel: вExcel=СоздатьОбЪект("Excel.Application"); вExcel.Workbooks.Open (фФайл); //вExcel.Visible=1; вДок=вExcel.Worksheets(1); кол=вДок.Rows.Count; пНомерДок=вДок.Range("G5").Value; // Так можно получить значение из конкретной ячейки. Для пер=20 По кол Цикл Состояние("Обрабатывается строка - "+Строка(пер)); Количество=вДок.Cells(пер, 8).Value; // а так получаем значение из 8-го столбца. // Беда сотоит в том что кол всегда равно 65536 примерно строк... // Поэтому надо предусмотреть какой-то выход. // Или по конкретному значению или по количествоу строк... КонецЦикла;
Комментарии
5Ссылка http://1c.rivne.com/files/xfilter.zip и в правду не работает!