Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 07:01

Обработка дает ошибку: Перед выполнением откройте базу!

Автор desc84, 20 янв 2014, 11:09

0 Пользователей и 1 гость просматривают эту тему.

desc84

Ребят прислали обработку, говорят на месте разработки все работает у нас нет. выдает ошибку Перед выполнением откройте базу!
Что и где посмотреть для исправления ошибки?
Вот код
Процедура ВыполнитьНаСервере()
   
   ДБФ = Новый Xbase;
   Дбф.поля.Добавить("NumDoc","s",20);
   Дбф.поля.Добавить("Code","s",20);
   Дбф.поля.Добавить("Kol","n",14,2);
   Дбф.поля.Добавить("SUmNDS","n",14,2);
   Дбф.поля.Добавить("Sum","n",14,2);
   Дбф.поля.Добавить("Opisanie","s",255);                                                   
   ДБФ.СоздатьФайл("\\srv\1c\Славяне\A"+Прав("0"+День(Объект.Дата),2)+Прав("0"+Месяц(Объект.Дата),2)+Прав(Формат(Год(Объект.Дата),"ЧГ=0"),2)+".dbf");
   //ДБФ.СоздатьФайл("d:\Dsuh\A"+Прав("0"+День(Объект.Дата),2)+Прав("0"+Месяц(Объект.Дата),2)+Прав(Формат(Год(Объект.Дата),"ЧГ=0"),2)+".dbf");
   ДБФ.Кодировка = КодировкаXBase.OEM;
   Зап = Новый Запрос;   
   Зап.Параметры.Вставить("ДН", НачалоДня(Объект.Дата));
   Зап.Параметры.Вставить("ДК", КонецДня(Объект.Дата));
   Зап.Параметры.Вставить("Контр", Объект.Контрагент);
   
   Зап.Текст =   "ВЫБРАТЬ
                 |   РеализацияТоваровУслуг.Номер КАК Номер,
                 |   РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,
                 |   РеализацияТоваровУслугТовары.Количество,
                 |   РеализацияТоваровУслугТовары.Сумма,
                 |   РеализацияТоваровУслугТовары.СуммаНДС,
                 |   РеализацияТоваровУслуг.Ссылка КАК Ссылка,
                 |   ПОДСТРОКА(РеализацияТоваровУслугТовары.Номенклатура.Комментарий, 0, 75) КАК КодНом
                 |ИЗ
                 |   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
                 |      ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
                 |      ПО РеализацияТоваровУслугТовары.Ссылка = РеализацияТоваровУслуг.Ссылка
                 |ГДЕ
                 |   РеализацияТоваровУслуг.Дата МЕЖДУ &ДН И &ДК
                 |   И РеализацияТоваровУслуг.Проведен = ИСТИНА
                 |   И РеализацияТоваровУслуг.Контрагент = &Контр
                 |
                 |СГРУППИРОВАТЬ ПО
                 |   РеализацияТоваровУслуг.Номер,
                 |   РеализацияТоваровУслугТовары.Номенклатура,
                 |   РеализацияТоваровУслугТовары.Количество,
                 |   РеализацияТоваровУслугТовары.Сумма,
                 |   РеализацияТоваровУслугТовары.СуммаНДС,
                 |   РеализацияТоваровУслуг.Ссылка,
                 |   ПОДСТРОКА(РеализацияТоваровУслугТовары.Номенклатура.Комментарий, 0, 75),
                 |   ПОДСТРОКА(РеализацияТоваровУслугТовары.Номенклатура.Комментарий, 0, 75)
                 |
                 |УПОРЯДОЧИТЬ ПО
                 |   Ссылка,
                 |   Номер,
                 |   Номенклатура
                 |ИТОГИ ПО
                 |   Ссылка";
   //н = Новый Справочники.Номенклатура;
   
   ТабДокумент = Новый ТабличныйДокумент;
   
   //ОблШ   = Макет.ПолучитьОбласть("Шапка");
   //ОблД   = Макет.ПолучитьОбласть("Док");
   //ОблС   = Макет.ПолучитьОбласть("Строка");
   //ОблШ.Параметры.Шап = "Дата:"+Объект.Дата+" контрагент:"+Объект.Контрагент;
   //ТабДокумент.Вывести(ОблШ);
   //
   ТЗ = Зап.Выполнить().Выбрать();
   Пока ТЗ.Следующий()=1 Цикл
      Дбф.Добавить();
      Если ПустаяСтрока(ТЗ.номенклатура) Тогда
         ДБФ.numdoc = ПрефиксацияОбъектовКлиентСервер.ПолучитьНомерНаПечать(ТЗ.Номер,Истина,Истина);
         ДБФ.opisanie = ТЗ.ссылка.Комментарий;
   //      ОблД.Параметры.НД = ТЗ.Номер;
   //      ОблД.Параметры.Опис = ТЗ.ссылка.Комментарий;
   //      ТабДокумент.Вывести(ОблД);
   //      
      Иначе
         ДБФ.code = ТЗ.КодНом;
         ДБФ.kol = ТЗ.Количество;
         ДБФ.Sum = ТЗ.Сумма;
         ДБФ.SumNDS = ТЗ.СуммаНДС;
   //      ОблС.Параметры.Код = ТЗ.Номенклатура.комментарий+"-("+ТЗ.Номенклатура.Наименование+")";
   //      ОблС.Параметры.Кол = ТЗ.Количество;
   //      ОблС.Параметры.Сум = ТЗ.Сумма;
   //      ОблС.Параметры.СумНДС = ТЗ.СуммаНДС;
   //      ТабДокумент.Вывести(ОблС);
   //      
      КонецЕсли;
      дбф.Записать();
   КонецЦикла;   
   ДБФ.ЗакрытьФайл();
   Сообщить("Выгрузка прошла успешно!!!");
   //ТабДокумент.Показать();      
   
   
КонецПроцедуры

LordWizard

А зачем из 8-ки создавать ДБФ-файл? Вперед - в прошлое?? :xfbnsdfb:
Правильно ведите учет или пишите программы и вам воздастся!...

(Кстати - кнопочку Сказать Спасибо - никто не отменял)

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск