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

Хранение данных

Автор Dresden, 06 июл 2011, 01:13

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

Dresden

Привет всем =)) у меня такой вопрос
у меня есть макет печатной формы, допустим там две колонки 1 и 2, к этой печатной форме есть основная форма с полями для внесения данных, так вот, мне требуется, чтобы значение колонки два на начало дня стало значением колонки 1.
Насколько я понимаю, мне нужно гдето хранить дату и значение колонки 2. так вот где? =)) думал насчет экспорта в txt, но както это криво помоему =)) Спасибо.

Dresden

"начало дня"
на начало следующего дня*

Шурыгин Иван Сергеевич

для таких моментов создан регистр сведений.
===================================
жизнь надо прожить так, чтоб вверху посмотрели.
и сказали "А ну ка повтори"
===================================

Dresden

Хм, спасибо, а который из них?
Свой регистр мне врядли разрешат добавить
Можно какой нибудь пример занесения туда данных и обращения к ним?

Шурыгин Иван Сергеевич

лучше создать свой...
===================================
жизнь надо прожить так, чтоб вверху посмотрели.
и сказали "А ну ка повтори"
===================================

Dresden

Дело в том, что я не до конца понимаю всю схему взаимодействия в 1С и учусь на примерах.
Начал писать, но не уверен до конца в том ли направлении.

РегистрПараметры=РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьНаборЗаписей();
Добавление=РегистрПараметры.Добавить();
Дата=ЭлементыФормы.Дата.Значение;
Добавление.Объект.Дата=Дата;

Шурыгин Иван Сергеевич

в вашем случае набор записей будет не логичен.
лучше использовать такую конструкцию:

МенеджерЗаписи = РегистрСведений.КонтрольМоихЗаписей.СоздатьМенеджерЗаписи();
МенеджерЗаписи.Период = Дата;
МенеджерЗаписи.Данное = ВашеДанное;
МенеджерЗаписи.Записать(Истина);


для реализации такого необходимо добавить новый регистр, периодический, с всего 1 измерением, это данное, типа который вы хотите сохранять.
===================================
жизнь надо прожить так, чтоб вверху посмотрели.
и сказали "А ну ка повтори"
===================================

Dresden


Dresden

Так ну впринципе у меня получилось добавить данные в регистр СОхраненныеНастрйоки, прочитать их, выгрузить в ТаблицуЗначений, но появилась другая проблема.
эта штука хранится в таком виде

|км6дата     |07.07.2011 00:00:00|
|км6остаток|54545                    |

мне требуется сравнить значение км6дата с ТекущейДатой, но не могу догнать как =\\
----------------------------------------
Если Строка.ИмяОбъекта=ТекущаяДата() Тогда
      ОбластьМакета.Параметры.НачалоДня=Строка.ИмяОбъекта;
КонецЕсли;
----------------------------------------
Этот код не работает, поскольку не могу догнать, как идентифицировать именно строку с "км6дата".Ребят, помогите, пожалуйста- уже второй день делаю, а по идее это должно занимать полчаса =\\

Dresden

Вот пример с файлом, может, кому нужен. Вопрос с хранением в 1С до сих пор открыт, пока переходит на ручное заполнение.
  СчитатьПараметры = Новый ТекстовыйДокумент;
  ПутьКФайлу="C:\km6_param.txt";
  СчитатьПараметрыФайл = Новый Файл(ПутьКФайлу);

  Если НЕ СчитатьПараметрыФайл.Существует() Тогда
ФайлПараметров=Новый ТекстовыйДокумент;
Дата=Элементыформы.Дата.Значение;
ФайлПараметров.ДобавитьСтроку(Дата);
Остаток=ОбластьМакета.Параметры.КонДня;
ФайлПараметров.ДобавитьСтроку(Остаток);
ФайлПараметров.Записать(ПутьКФайлу);
Иначе


  СчитатьПараметры.Прочитать(ПутьКФайлу);
  ПараметрДата= СчитатьПараметры.ПолучитьСтроку(1);
  ОстатокИзФайла= СчитатьПараметры.ПолучитьСтроку(2);
   ОбластьМакета.Параметры.НачалоДня=ОстатокИзФайла;
   ОбластьМакета.Параметры.КонДня = Число(ОбластьМакета.Параметры.НачалоДня) + Число(Областьмакета.Параметры.Итого);

   Если ПараметрДата=Дата и ОбластьМакета.Параметры.КонДня=ОстатокИзФайла Тогда
Иначе
  Запись=Новый ЗаписьТекста(ПутьКФайлу);
    СчитатьПараметры.УдалитьСтроку(1);
Запись.ЗаписатьСтроку(Дата);
Остаток=ОбластьМакета.Параметры.КонДня;
СчитатьПараметры.УдалитьСтроку(2);
Запись.ЗаписатьСтроку(Остаток);

КонецЕсли;
КонецЕсли;

Вообще, после delphi,php и c++ 1с кажется издевательством над программистом и решением, вставляющим палки в колеса.Хотя фреймворк он и есть фреймворк, или я не прав? =))

Теги:

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

Рейтинг@Mail.ru

Поиск