Имя: Пароль:
1C
1С v8
Период регистрации в дату
,
0 wishma
 
04.04.13
07:50
Здраствуйте!
Что имеем - в форме выбирается только месяц
Что нужно - выбирать произвольный период
Подскажите пожалуйста каким образом это можно сделать?
Вот сам код:


Процедура ПериодРегистрацииПриИзменении(Элемент)
   
   РаботаСДиалогами.ДатаКакМесяцПодобратьДатуПоТексту(Элемент.Значение, ПериодРегистрации);
   Элемент.Значение = РаботаСДиалогами.ДатаКакМесяцПредставление(ПериодРегистрации);
   
   
КонецПроцедуры // ПериодРегистрацииПриИзменении()

// Процедура - обработчик события "Регулирование" поля ввода периода регистрации.
//
Процедура ПериодРегистрацииРегулирование(Элемент, Направление, СтандартнаяОбработка)
   
   ПериодРегистрации = ДобавитьМесяц(ПериодРегистрации, Направление);
   Элемент.Значение = РаботаСДиалогами.ДатаКакМесяцПредставление(ПериодРегистрации);
   
   
КонецПроцедуры // ПериодРегистрацииРегулирование()

// Процедура - обработчик события "Очистка" поля ввода периода регистрации.
//
Процедура ПериодРегистрацииОчистка(Элемент, СтандартнаяОбработка)
   
   СтандартнаяОбработка = Ложь;
   
КонецПроцедуры // ПериодРегистрацииОчистка()

// Процедура - обработчик события "НачалоВыбораИзСписка" поля ввода периода регистрации.
//
Процедура ПериодРегистрацииНачалоВыбораИзСписка(Элемент, СтандартнаяОбработка)
   
   РаботаСДиалогами.НачалоВыбораИзСпискаПредставленияПериодаРегистрации(Элемент, СтандартнаяОбработка, ПериодРегистрации, ЭтаФорма);
   
   
КонецПроцедуры // ПериодРегистрацииНачалоВыбораИзСписка()

// Процедура - обработчик события "АвтоПодборТекста" поля ввода периода регистрации.
//
Процедура ПериодРегистрацииАвтоПодборТекста(Элемент, Текст, ТекстАвтоПодбора, СтандартнаяОбработка)
   
   РаботаСДиалогами.ДатаКакМесяцАвтоПодборТекста(Текст, ТекстАвтоПодбора, СтандартнаяОбработка);
   
КонецПроцедуры // ПериодРегистрацииАвтоПодборТекста()

// Процедура - обработчик события "ОкончаниеВводаТекста" поля ввода периода регистрации.
//
Процедура ПериодРегистрацииОкончаниеВводаТекста(Элемент, Текст, Значение, СтандартнаяОбработка)
   
   РаботаСДиалогами.ДатаКакМесяцОкончаниеВводаТекста(Текст, Значение, СтандартнаяОбработка);
   
КонецПроцедуры // ПериодРегистрацииОкончаниеВводаТекста()


Процедура ПриОткрытии()
   Если Не ЗначениеЗаполнено(ПериодРегистрации) Тогда
       ПериодРегистрации = НачалоМесяца(ТекущаяДата());
   КонецЕсли;
КонецПроцедуры


Процедура ДействияФормыНастройкаКатегорий(Кнопка)
   // 09.02.2011 *** MT *** Гареева (начало)
   //закомментирована строка (начало)
   //Форма = ПолучитьФорму("ФормаНастройкиКатегорий");
   //Форма.Открыть();
   //закомментирована строка (конец)    
   ФормаНастройки = ПолучитьОбщуюФорму("мт_НастройкаВидовРасчетовДляОтчетов");
   ФормаНастройки.Реквизит = "мт_КатегорияНачислений_ОтчетСправкаОструктуреЗП";
   ФормаНастройки.Открыть();
   // 09.02.2011 *** MT *** Гареева (конец)
   
КонецПроцедуры


ЕдиницаИзмерения = 1;
1 Wobland
 
04.04.13
07:52
ДатаКакМесяцПодобратьДатуПоТексту, ДобавитьМесяц, ДатаКакМесяцОкончаниеВводаТекста....

пеоеписать как надо
2 Wobland
 
04.04.13
07:52
(1) всё переписать
3 wishma
 
04.04.13
07:54
(2) а НА ЧТО переписать? то что ДатаКакМесяц не подходит тут - это однозначно)
4 Wobland
 
04.04.13
07:55
(3) на нужное тебе поведение
5 wishma
 
04.04.13
07:56
(4) не могу в СП найти как описать нужное мне поведение, может подскажите всё таки?
задачу вроде бы корректно сформулировал - изменить период с месяца на произвольный
6 Wobland
 
04.04.13
07:58
(5) а я тебе её переформулировал в "задать произвольный период"
7 Wobland
 
04.04.13
08:00
не знаю, что там на форме происходит. бывает на свете СтандартныйПериод
8 wishma
 
04.04.13
08:15
пробую сейчас привязать СтандартныйПериод

а вот сам модуль обьекта не могу сюда вставить, видимо форма на сайте не пускает в одно сообщение СТОЛЬКО текста :-(
9 Wobland
 
04.04.13
08:15
(8) тут такие портянки пропускаются, что жуть. не надо!
10 wishma
 
04.04.13
08:17
ну как скажете) сейчас пробую, отпишусь о результатах
11 Wobland
 
04.04.13
08:17
интересно, а ты правда надеялся, что найдутся люди, возжелающие прочитать десяток-другой килобайти текста? ;)
12 Wobland
 
04.04.13
08:20
а ещё в БП3 во всяческих отчётах есть условно удобный выбор периода
13 wishma
 
04.04.13
08:24
(11) ну вот и я так же подумал, что слишком много не нужной там информации
постарался ниже выбрать что имеет отношение к сабжу

(12) наверно я покажусь очень зелёным, но что такое БПЗ?

меня вот эти строчки в модуле обьекта смущают...
в двух предложениях - что с ними сделать можно? переписывать весь отчёт? не хотелось бы этого делать


Запрос.УстановитьПараметр("НачалоПериода",НачалоМесяца(ПериодРегистрации));
   Запрос.УстановитьПараметр("КонецПериода",КонецМесяца(ПериодРегистрации));
   Запрос.УстановитьПараметр("ДнейВПериоде",(КонецМесяца(ПериодРегистрации)-НачалоМесяца(ПериодРегистрации)+1)/мКоличествоСекундВСутках);


// потом другой запрос

Запрос.УстановитьПараметр("КоличествоМесяцев",1);
                  Запрос.УстановитьПараметр("НачалоПериода",НачалоМесяца(ПериодРегистрации));
                  Запрос.УстановитьПараметр("КонецПериода",КонецМесяца(ПериодРегистрации));
                  ВыборкаССЧ = Запрос.Выполнить().Выбрать();

//и вот ещё

ТекстЗапроса = "ВЫБРАТЬ
   |    &Дата1 КАК Дата
   |    Поместить ВТ_Периоды
   |";
   Запрос.УстановитьПараметр("Дата1",НачалоМесяца(ПериодРегистрации));
   Для СчетчикДней = 2 По День(КонецМесяца(ПериодРегистрации)) Цикл
       ТекстЗапроса = ТекстЗапроса +"
       |    Объединить Все
       |    Выбрать
       |    &Дата"+Строка(СчетчикДней);
       Запрос.УстановитьПараметр("Дата"+СчетчикДней,Дата(Год(ПериодРегистрации),Месяц(ПериодРегистрации),СчетчикДней));
   КонецЦикла;
14 Wobland
 
04.04.13
08:25
(13) Бухгалтерия предприятия КОРП, редакция 3.0
15 Wobland
 
04.04.13
08:26
(13) запрос работает за месяц, да. корректируется установкой других параметров
16 wishma
 
04.04.13
08:28
(14) не, отчёт в ЗУП 2.5 делаю
(15) "корректируется установкой других параметров"
а можно в этом месте поподробней?
17 Wobland
 
04.04.13
08:29
Запрос.УстановитьПараметр("НачалоПериода", ЛюбаяДата);
18 wishma
 
04.04.13
09:07
почему не понимает такую фразу?
Запрос.УстановитьПараметр("НачалоПериода",НачалоПериода(ПериодРегистрации));

при том что НачалоПериода указано в запросе как &НачалоПериода
19 Fish
 
04.04.13
09:12
(18) "почему не понимает такую фразу?" - Потому что надо читать СП и ЖКК.
20 Wobland
 
04.04.13
09:14
ошибки надо читать, в них почти всегда содержится всё нужное