Автоматическая выгрузка прайса

1. yallow 25.08.11 11:45 Сейчас в теме
Всем привет,

Я в 1С новичок.

Задача - нужно выгружать из 1с 7.7 Торговля и Склад прайс-лист автоматически каждое утро.

Нужно чтобы прайс на диске регулярно обновлялся в формате excel. Собираюсь этого достичь через шедулер винды.
Буду пробовать делать как описано здесь - http://forum.infostart.ru/forum14/topic6108/

Проблема в том, что я не знаю как написать обработку которая просто бы выгружала прайс в определенную папку.

Подскажите пожалуйста.

Спасибо!
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. vcv 89 25.08.11 13:46 Сейчас в теме
Очень просто. Сохраняешь из конфигурации штатный отчет "ПечатьПрайса" как обработку (правой кнопкой мыша в дереве конфигурации).
В получившейся обработке в ПриОткрытии заполняешь нужные параметры формирования прайса и вызываешь процедуру Сформировать().
В конце процедуры Сформировать() заменяешь Таб.Показать() на Таб.Записать() с нужными параметрами.
Обеспечиваешь открытие этой обработки автоматически в нужной базе и в нужное время.
neonnod; yallow; +2 Ответить
3. yallow 26.08.11 20:22 Сейчас в теме
Огромное спасибо, все получилось.
4. yallow 27.08.11 02:35 Сейчас в теме
Рано обрадовался - на стороне 1с все получилось, а вот зашедулить пока никак. Никто не знает как теперь можно 1с запускать без залогиненного пользователя. Win 2003..
5. vcv 89 27.08.11 07:16 Сейчас в теме
(4) А что именно не получается? У меня есть только одна проблема - если прописваешь запуск из планировщика в режиме Предприятие, а не Конфигуратор, то, по непонятной причине, запускается очень неустойчиво. Помогает держать открытым терминальную сессию от того пользователя, от которого запускается 1С. Открытой и отключенной.
6. yallow 27.08.11 10:11 Сейчас в теме
Вот я хотел без терминальной сессии обойтись. Но для 1с видимо обязательно нужен какой-то рабочий стол, куда она будет выводить то, что происходит на экране, иначе никак. Запускаю так -
содержимое bat файла -
C:\Program Files\1Cv77\BIN\1CV7s.exe" enterprise /DC:\1cBases\UploadTest /NAuto /P22011983

Если запускаю сам bat - все отрабатывает - открывается 1с, отрабатывает и потом сам закрывается.

Но если этот bat задаю в планировщик, а раз выхожу из сессии, то он не работает.
7. platon_ 10 29.08.11 11:22 Сейчас в теме
Создайте Терминального пользователя. и задание запускайте от его имени.
8. yallow 29.08.11 15:42 Сейчас в теме
Ага, я именно так и сделал. Крутится теперь постоянно. Надо не забывать им залогиниваться при перезагрузке только..

Спасибо!
9. Без бекапа 15.09.11 10:09 Сейчас в теме
(8)Зачем залогиниваться? Вот скажем когда на 2003 создаешь задание на выполнение в нем в самом (при создании) указывается логин и пароль пользователя, под кем задача будет выполняться. У меня так штатным сбособом ночью и переиндексация работает и архивация и списание не актуальных резервов. Главное выполнять все именно на сервере где терминал установлен. В момент запуска задачи абсолютно не важно залогинен на сервере какой-либо пользователь или нет!
10. Melehov 03.10.11 14:15 Сейчас в теме
А как вывести в прайс-листе код товара и артикул?
11. Sergey_CV 10.10.11 20:15 Сейчас в теме
Melehov пишет:

А как вывести в прайс-листе код товара и артикул?

Очень просто... Добавляешь колнку "Артикул" и в не прописываешь тип-"выражение" а значение "Товар.Артикул"
ну или что то в этом роде
12. Sergey_CV 10.10.11 20:21 Сейчас в теме
А по вопросу выгрузки..
Когда то была схожая задача..
Решал так:
1. В 1С создал для этого нового пользователя.
2. В глобальном модуле в процедуре приНачалеРаботыСистемы прогписал условие что если это нужный пользователь то запускать нужную обработку.
3. В обработке в процедуре приОткрытии сразу делал запуск процедуры сформировать. Только в конце вместо Показать делал запись в екселевский файл напрямую.
4. Записывал файл и сразуже давал клманду на завешение работы 1С.
5. Писал батник на запуск 1С от имени этого пользователя и в назначении заданий винды запуск в определенное время
13. CheBurator 2696 14.10.11 23:16 Сейчас в теме
	//****************************************************************************************************************************
	//БЛОК ВЫГРУЗКИ НА ФТП *******************************************************************************************************
	//****************************************************************************************************************************
	ТекстВыгрузки = СоздатьОбъект("Текст");
	ТекстВыгрузки.ДобавитьСтроку("open " + "192.168.0.10");
	ТекстВыгрузки.ДобавитьСтроку("login");
	ТекстВыгрузки.ДобавитьСтроку("password");
	ТекстВыгрузки.ДобавитьСтроку("cd office");
	ТекстВыгрузки.ДобавитьСтроку("put " + КаталогПользователя() + (ИмяПрайса+".csv"));
	ТекстВыгрузки.ДобавитьСтроку("bye");
	ТекстВыгрузки.Записать(КаталогПользователя() + "ftp.txt");
	ТекстВыгрузки = "";
	
	КомандаСистемы("ftp -s:" + КаталогПользователя() + "Ftp.txt>> " + (КаталогПользователя() + "report.txt"));
	ФС.УдалитьФайл(КаталогПользователя() + "ftp.txt");
	
	ТекстВыгрузки = СоздатьОбъект("Текст");
	ТекстВыгрузки.Открыть(КаталогПользователя() + "report.txt");
	КС = ТекстВыгрузки.КоличествоСтрок()-4; //если все нормально - то в этой строке файла должно быть соотв.сообщение
											//проверим его
	Попытка 
		строкаКомплете = ТекстВыгрузки.ПолучитьСтроку(КС);
		Если  Найти(Нрег(строкаКомплете),"226 transfer complete") = 0
		Тогда а=1; а=а/0;
		КонецЕсли;
		тПротокол = ТекущееВремя()+" файл данных успешно отправлен на сервер интернет-магазина"+РазделительСтрок+тПротокол;
	    Форма.Обновить();
		ТекстВыгрузки = "";
		ФС.УдалитьФайл(КаталогПользователя() + (ИмяПрайса+".csv"));
		ФС.УдалитьФайл(КаталогПользователя() + "report.txt");
	Исключение
		тПротокол = ТекущееВремя()+" ПРОИЗОШЛА ОШИБКА ВО ВРЕМЯ ЗАГРУЗКИ СФОРМИРОВАННОГО ФАЙЛА НА СЕРВЕР ИНЕТРНЕТ-МАГАЗИНА"+РазделительСтрок+тПротокол;
		тПротокол = ТекущееВремя()+ИмяПрайса+РазделительСтрок+тПротокол;
	    Форма.Обновить();
		ТекстВыгрузки.Показать();
		ТекстВыгрузки = "";
	КонецПопытки;	
	//****************************************************************************************************************************
	//БЛОК ВЫГРУЗКИ НА ФТП *******************************************************************************************************
	//****************************************************************************************************************************

Показать
14. abigor09rus 25.10.11 11:28 Сейчас в теме
а возможно ли сделать выгрузку прайсов для Нного числа пользователей с заданной различной наценкой?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот