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

RFpro.ru: 1С для программиста

  Все выпуски  

RusFAQ.ru: 1С для программиста


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / 1С для программиста

Выпуск № 560
от 30.07.2007, 15:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 422, Экспертов: 59
В номере:Вопросов: 2, Ответов: 5


Вопрос № 96205: Ребята подскажите как делать бекап базы 1с автоматом. База простая то есть расположена на одном компе без всяких sql и так далее. Я уже задавал похожий вопрос мне посоветовали AutoSaver написанный на vb6. Он вроде бекапит нормально но при выключении ...
Вопрос № 96317: 1С 7.7 ТиС. В счет фактуре указаны товары с различными ставками НДС. Необходимо подсчитать сумму НДС по ставкам. Т.е. сумма с НДС 10%, сумма с НДС 18% и вывести в счет фактуру....

Вопрос № 96.205
Ребята подскажите как делать бекап базы 1с автоматом. База простая то есть расположена на одном компе без всяких sql и так далее. Я уже задавал похожий вопрос мне посоветовали AutoSaver написанный на vb6. Он вроде бекапит нормально но при выключении компа и даже просто после выключения и включения программы в ней полностью сбрасываются настройки и расписание. Можно ли как-нибудь этого избежать? или я неправильно ей пользуюсь. Или если это возможно помогите найти кряк к программе mz:архиватор. Она тоже неплохо сохраняет копии но нигде нет кряка. Возможно есть еще какие либо способы архивирования баз по расписанию. Подскажите пожалуста.
Отправлен: 24.07.2007, 13:23
Вопрос задал: Alexander Sergeevich (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Gl0betrotter
Здравствуйте, Alexander Sergeevich!

Если база не SQL, тогда почему бы Вам не использовать WinRAR и планировщик Windows?

1. Установите WinRAR.

2. Создайте командный файл (например, autobackup.cmd), в котором для каждой базы разместите строку следующего содержания:
c:progra~1winrarwinrar.exe a -o+ -agYYYYMMDDHHMM -apase1backup -ep1 -dh -s -t D:DataBasesBackUpsFilesase1_backup_.rar @D:DataBasesBackUpsBINase1_backup.txt

Эта строка означает следующее:
a -Добавить файлы в архив
-o+ -Перезаписывать существующие файлы
-agYYYYMMDDHHMM -Добавить к имени архива текущие дату и время в виде ГодМесяцДеньЧасыМинуты
-ap -Задать путь base1backup внутри архива
-ep1 -Исключить из путей базовый каталог
-dh -Открывать совместно используемые файлы
-s -Создать непрерывный (solid) архив
-t -Протестировать файлы после архивирования
D:DataBasesBackUpsFilesase1_backup_.rar -указание пути и имени файла архива
D:DataBasesBackUpsBINase1_backup.txt -указание пути и имени файла, в котором прописаны архивируемые файлы

Содержимое файла base1_backup.txt:
d:databasesase1*.dbf
d:databasesase1*.lst
d:databasesase11cv7.dd
d:databasesase11cv7.md
d:databasesase1*.spl
d:databasesase1userdef

3. Пуск - Настройка - Панель управления - Назначенные задания - Добавить задание
В окне "Мастер планирования заданий": Далее - Обзор - находим и выбираем файл autobackup.cmd, указываем выполнять это задание ежедневно - Далее - указываем время запуска и дату начала - Далее - обязательно указываем логин и пароль пользователя, от имени которого будет запущено задание - Далее - если необходимо указываем Установить дополнительные параметры... - Готово.

Можно также разместить ярлык файла autobackup.cmd в автозагрузку (указав в его свойствах Окно: Свернутое в значок - чтобы не раздражало) - в таком случае архивирование запустится после вхождения в ОСь.

Удачи!
Ответ отправил: Gl0betrotter (статус: Студент)
Ответ отправлен: 24.07.2007, 15:24

Отвечает: SeArCH
Здравствуйте, Alexander Sergeevich!
Можно автоматизировать стандартную 1с выгрузку. Работает на 1сV7.7, на 8ке не знаю, не пробовал:
1. создаётся файл .vbs примерно следующего содержания:

Dim fso
Dim PathDataBase
Dim Path_Exchange
Dim NameFilePackage
Dim ExecutableFile1C
Dim NameObject
Dim UserName
Dim UserPass

Sub Initial
Set fso = CreateObject("Scripting.FileSystemObject")
Path_Exchange = "<disk>:<путь к папке, где будет лежать файл backup.prm>"
PathDataBase = "/D" & "<disk>:<путь к базе>"
NameFilePackage = "backup.prm"
ExecutableFile1C = """C:Program Files1Cv77BIN1cv7s.exe"""
NameObject = "V77s.Application"
UserName = "<имя польз-ля 1с>"
UserPass = "<пароль 1с>"
End Sub

Sub RunPackage

ComStr = ExecutableFile1C & " CONFIG " & PathDataBase & " /N" & UserName & " /P" & UserPass & " /M /@" & Path_Exchange & NameFilePackage
Set WshShell = WScript.CreateObject("Wscript.Shell")
res = WshShell.Run (ComStr,1,true)
Set WshShell = Nothing
End Sub

Initial()
RunPackage()

2. создаётся файл backup.prm в папке <Path_Exchange> примерно следующего содержания:
[General]
Output=<путь к файлу>Выгрузка.log
Quit=Y
UnloadData=Y
CheckAndRepair=N
SaveData=N
AutoExchange=N

[UnloadData]
IncludeUserDef=Y
UnloadToFile=<путь, куда будет осущ. выгрузка><имя файла>.zip

Подробнее о параметрах файла .prm написано в конфиг. и адм. 1с.

3. запихиваем созданный .vbs в назначенные задания.

Правда у этого способа есть ограничение: 1с не сможет архивировать файл выгрузки > 2Гб. Ну и собсно придётся хранить имя польз и пароль к 1с в vbs-нике в открытом виде и папки пользователей, ExtForms и тд придётся архивировать отдельно, но это можно сделать средствами того же .vbs
Ответ отправил: SeArCH (статус: 1-ый класс)
Ответ отправлен: 25.07.2007, 10:36

Отвечает: Николай Александрович
Здравствуйте, Alexander Sergeevich!

Есть программа nnCron, бесплатная для Российмкого пользователя, и совершенно незаменимая для админа.... Расписание настраивается с точностью до милисекунд (если конечно надо).... А используя внешний архиватор (например WinRAR), можно упаковывать всё что угодно....
Формат файла nnCron такой:

#( Архив_1С_Полный
NoLog
AsLoggedUser
Time: 0 4 * * 1 *
Action:
StartIn: "D:Program FilesWinRAR"
ShowNormal NormalPriority
START-APP: D:Program FilesWinRARRar.exe a -rr1p -agYYYY-MM-DD -ed -m5 -mdg -os -s -t -n@D:АрхивыArxiv.lst -y -r D:Архивы1C D:Работа1С*.*
)#

#( Архив_1С_Ежедневный
NoLog
AsLoggedUser
Time: 0 4 * * 2-7 *
Action:
StartIn: "D:Program FilesWinRAR"
ShowNormal NormalPriority
START-APP: D:Program FilesWinRARRar.exe a -rr1p -agYYYY-MM-DD -ed -m5 -mdg -os -s -t -n@D:АрхивыArxiv.lst -y -r -tn1d D:Архивы1C D:Работа1С*.*
)#

Формат списка Arxiv.lst:

*.dbf
1cv7.*
*.txt
*.xml
*.ert
*.usr
*.cfg
*.lst
*.prm
*.lbl
*.mxl
*.ini
*.dd
*.md
*.res

В данном примере будет выполняться полная архивация каждый понедельник и архивация изменённых файлов каждые вторник-воскресенье ночью в 4 утра по маскам файлов из Arxiv.lst, в директорию D:Архивы с именем 1С[дата] , из диретории с 1С D:Работа1С. Кстати запуск программ по расписанию это только малая толика умений программы....
Если не найдёте программу nnCron пишите могу выслать.... весит всего 1Mb + инструкции и Help 0,8Mb.
Удачи Вам!!!
Ответ отправил: Николай Александрович (статус: 2-ой класс)
Ответ отправлен: 25.07.2007, 21:17


Вопрос № 96.317
1С 7.7 ТиС. В счет фактуре указаны товары с различными ставками НДС. Необходимо подсчитать сумму НДС по ставкам. Т.е. сумма с НДС 10%, сумма с НДС 18% и вывести в счет фактуру.

Приложение:

Отправлен: 25.07.2007, 12:02
Вопрос задал: Egor M (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Афанасьев Владимир Владимирович
Здравствуйте, Egor M!
Решить указанный вами вопрос можно с помощью запроса, вот его пример:

Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Период с ВыбНачПериода по ВыбКонПериода;
|СчетФактураВыданный = Документ.СчетФактураВыданный.ТекущийДокумент;
|СтавкаНДС = Документ.СчетФактураВыданный.СтавкаНДС;
|Сумма = Документ.СчетФактураВыданный.Сумма;
|Функция СуммаСумма18 = Сумма(Сумма) когда(СтавкаНДС = Перечисление.СтавкиНДС.НДС18);
|Функция СуммаСумма10 = Сумма(Сумма) когда(СтавкаНДС = Перечисление.СтавкиНДС.НДС10);
|Группировка СчетФактураВыданный;
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;

а результат запроса можно уже выводить в любой удобной для вас форме.
Ответ отправил: Афанасьев Владимир Владимирович (статус: 1-ый класс)
Ответ отправлен: 25.07.2007, 13:13

Отвечает: Ромашов Евгений Николаевич
Здравствуйте, Egor M!

создать таблицу значений, выгрузитьтабличнуючасть("СтвкаНДС,НДС");
затем таблицу свернуть("СтавкаНДС","НДС");

Потом перебираешь таблицу и получаешь искомый результат
Ответ отправил: Ромашов Евгений Николаевич (статус: 4-ый класс)
Ответ отправлен: 25.07.2007, 15:55


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.53 beta от 09.07.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное