Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2, свеженьких 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> x-base Выгрузка сотрудников в файл дбф 2 страниц V  < 1 2          
Pepe Подменю пользователя
сообщение 22.06.13, 22:03
Сообщение #21

Почти крутой
Иконка группы
Группа: Местный
Сообщений: 1434
Из: Ужгород
Спасибо сказали: 761 раз
Рейтинг: 230

У вас неправильно организована выборка по справочнику.
Цитата
СпрСотры.ИспользоватьДату(ДатаВыборки);
используется для записи периодических реквизитов. Поэтому непонятно задание для выборки.

Спасибо сказали: Змейкин,

Змейкин Подменю пользователя
сообщение 23.06.13, 13:18
Сообщение #22

Общительный
**
Группа: Пользователи
Сообщений: 16
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(Pepe @ 22.06.13, 23:03) *
У вас неправильно организована выборка по справочнику. используется для записи периодических реквизитов. Поэтому непонятно задание для выборки.

Да я даже комментирую датувыборки(на форме Это поле отбора для периодических значений "Тип Дата") периодических элементов и действую. через ВыбратьЭлементы() ПолучитьЭлемент() но запись тоже не происходит колонки записываются а значения нет Не знаю вообще что думать(

Домовик Подменю пользователя
сообщение 24.06.13, 18:53
Сообщение #23

Ветеран
Иконка группы
Группа: Местный
Сообщений: 975
Из: Киев
Спасибо сказали: 168 раз
Рейтинг: 0

  ДБФ.Code  = "1";
  ДБФ.Name  = "ИмяПоля";


и смотрим, присвоило или нет. если да - ошибка с прочитыванием справочника, если нет - записи в файл.

а чем вы открываете файл?



вот еще этот прикол непонятен... зачем?
        СпрСотр.ИспользоватьРодителя(ПолучитьПустоеЗначение("Справочник.Сотрудники"));






условия ниже отладчиком пройти тоже. возможно, вы до записи строк в файл не доходите...

  Если СпрСотры.ПометкаУдаления()=1 Тогда
            Продолжить;    
        КонецЕсли;
        
        Если ПустоеЗначение(СпрСотры.ДатаПриема)=1 Тогда
            Продолжить;    
        КонецЕсли;
        Если ПустоеЗначение(СпрСотры.ДатаУвольнения)=0 Тогда
            Если СпрСотры.ДатаУвольнения<'01.01.2007' Тогда
                Продолжить;    
            КонецЕсли;
        КонецЕсли;


Сообщение отредактировал Домовик - 24.06.13, 19:21

Спасибо сказали: Змейкин,

igmig65 Подменю пользователя
сообщение 25.06.13, 9:30
Сообщение #24

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 613
Из: Донецкая обл
Спасибо сказали: 168 раз
Рейтинг: 140.9

Во первых зачем записывать дбф каждую строку, тоесть в цикле, это раз.
И еще, не знаю может это влияет и на запись, на открытие влияет точно - имя файла максимум 8 символов.
Ну и как сказано выше, посмотрите заходит в цикл вообще, если да то должно выдавать ваше сообщение - добавлена запись №...

Спасибо сказали: Змейкин,

Cthulhu Подменю пользователя
сообщение 25.06.13, 13:13
Сообщение #25

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 224
Из: не ту страну назвали Гондурасом
Спасибо сказали: 83 раз
Рейтинг: 0

Цитата(Pepe @ 22.06.13, 22:03) *
У вас неправильно организована выборка по справочнику. используется для записи периодических реквизитов. Поэтому непонятно задание для выборки.

"Описание встроенного языка" почему-то несогласно с процитированным. А именно:
Цитата
ИспользоватьДату
Установить дату выборки периодических реквизитов справочника.

Синтаксис:
ИспользоватьДату[<Дата>, <УстСразу>)
Англоязычный синоним: UseDate
Параметры:
<Дата> Необязательный параметр. Выражение со значением типа «дата».
<УстСразу> Необязательный параметр. Число: если 1, то дата, переданная в качестве параметра, будет установлена уже в текущей выборке; если 0 — то дата, переданная в качестве параметра будет установлена при следующей выборке. Значение по умолчанию — 0. Например:если "Цена" — периодический реквизит справочника, тоСпр.ИспользоватьДату(Д1, 1);Спр.ВыбратьЭлементы();А = Спр.Цена; — возвращает значение на дату Д1Спр.ИспользоватьДату(Д2, 1);Б = Спр.Цена; — возвращает значение на дату Д2!Если <УстСразу> — 0 (или опущен), тоСпр.ИспользоватьДату(Д1);Спр.ВыбратьЭлементы();А = Спр.Цена; — возвращает значение на дату Д1Спр.ИспользоватьДату(Д2);Б=Спр.Цена; — тоже возвращает значение на дату Д1!Спр.ВыбратьЭлементы();В=Спр.Цена; — только теперь возвращает значение на Д2.
Возвращаемое значение:
Текущее значение используемой даты (на момент до исполнения метода).
Описание:
Метод ИспользоватьДату устанавливает для объекта типа «справочник» дату, на которую будут в дальнейшем выбираться (или записываться) значения периодических реквизитов справочника.
Это очень важный метод, о котором необходимо всегда помнить при работе со справочниками, имеющими периодические реквизиты. Если он пропущен, то чначения выбранных периодических реквизитов справочника будут не определены.

Замечание: Если к объекту типа «справочник» однажды применен метод ИспользоватьДату, то в дальнейшем, чтобы выбирать значения периодических реквизитов справочника, нельзя применять к этому же объекту методы Получить и Установить, т. е. в такой последовательности эти методы несовместимы.
Замечание: Данный метод имеет следующую особенность применения: его нельзя использовать «через две точки». Например, если в документе с именем "ДокНакл" есть реквизит "Фирма" типа «справочник», у которого есть периодические реквизиты НДС и СН, то следующий оператор:
ДокНакл.Фирма.ИспользоватьДату(Дата);
работать не будет. В данном случае следует просто использовать промежуточную переменную, например:
ФирДок = ДокНакл.Фирма;
ФирДок.ИспользоватьДату(РабочаяДата());
НДСДок = ФирДок.НДС;

Пример:
// Здесь мы работаем в локальном контексте модуля Формы
// редактирования документа.
// Реквизит "Должность" в документе является справочником,
// у которого "МинОкл" - периодический реквизит
Длж = СоздатьОбъект("Справочник.Должности");
Длж.ИспользоватьДату(ДатаДок);
Длж.НайтиЭлемент(Должность);
Сообщить(Длж.Наименование + " Минимальный оклад" + Строка(Длж.МинОкл));
См. также: Получить, Установить, НайтиЭлемент, ВыбратьЭлементы


Цитата(igmig65 @ 25.06.13, 9:30) *
Во первых зачем записывать дбф каждую строку, тоесть в цикле, это раз. ...

Затем, что иначе заполненная новая запись не будет сохранена (добавлена) в файл (если не включен режим автосохранения).
Цитата
И еще, не знаю может это влияет и на запись, на открытие влияет точно - имя файла максимум 8 символов.

кстати, да. (прим.: запись - это тоже после открытия))

Спасибо сказали: Змейкин,

Змейкин Подменю пользователя
сообщение 25.06.13, 17:49
Сообщение #26

Общительный
**
Группа: Пользователи
Сообщений: 16
Спасибо сказали: 0 раз
Рейтинг: 0

Загвоздка была в выгрузке в этом куске кода не выбирались из за него элементы
 Пока СпрСотры.ПолучитьЭлемент() > 0 Цикл
        Если СпрСотры.ПометкаУдаления()=1 Тогда
            Продолжить;    
        КонецЕсли;
        
        Если ПустоеЗначение(СпрСотры.ДатаПриема)=1 Тогда
            Продолжить;    
        КонецЕсли;
        Если ПустоеЗначение(СпрСотры.ДатаУвольнения)=0 Тогда
            Если СпрСотры.ДатаУвольнения<'01.01.2007' Тогда
                Продолжить;    
            КонецЕсли;
        КонецЕсли;


Цитата(Домовик @ 24.06.13, 19:53) *
  СпрСотр.ИспользоватьРодителя(ПолучитьПустоеЗначение("Справочник.Сотрудники"));

это в загрузке чтобы в дальнейшем хотел сделать чтобы сотрудники записывались в том же порядке как я их выгрузил

Спасибо всем огромное)очень помогли разобраться!!!! icon_beer17.gif

Vofka Подменю пользователя
сообщение 25.06.13, 18:39
Сообщение #27

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4519 раз
Рейтинг: 3641.2

Цитата(Змейкин @ 25.06.13, 18:49) *
Спасибо всем огромное)очень помогли разобраться!!!!

Жмите палец тем, кто помогал.

Спасибо сказали: Змейкин,

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


2 страниц V  < 1 2
Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 19.04.24, 15:37
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!