К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Код

Гость
0 - 01.12.2016 - 15:03
Помогите кодом
Есть две стрелки на документе нужно чтоб по нажатию одной открывался документ предедущего дня, вперед уже сам догадаюсь как сделать по аналогии. По условию просто дата предедщуего дня. т.е. сейчас открыт документ 01.12 я в форме документа вверху сделал стрелку нужно по ее нажатию чтоб открывалась форма документа от 30.11. (учет идет 1 документ один день)

чтоб не подумали что я лентяй то вот на что мозгов хватило.
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Документ.Ссылка
|ИЗ
| Документ.Привет КАК Привет
|ГДЕ
| Привет.Дата = &Дата";

Запрос.УстановитьПараметр("Дата", ТекущаяДата);

РезультатЗапроса = Запрос.Выполнить.Выбрать();
ТекущаяДата = ТекущаяДата -1;



1 - 01.12.2016 - 15:39
и в чем проблема?
Гость
2 - 01.12.2016 - 16:00
не фурычит
3 - 01.12.2016 - 16:07
ТекущаяДата = ТекущаяДата -1;
Какой ужас.... не знать элементарных вещей.... время в 1с измеряется не в днях, а в секундах....
короче, "Учиться, учиться, унд [*****] айн маль учитья" как говаривал старик Крупский...
Гость
4 - 01.12.2016 - 16:09
Не верный алгоритм: 1. А если предыдущий документ позавчерашний (сеанс на следующем дне после праздника)?
2. Результат ТекущаяДата -1 уменьшит ТекущаяДата на одну секунду ;)
И вообще, достаточно выбрать документ, а дату получить по ссылке сразу в отборе.
5 - 01.12.2016 - 16:15
зачем?)
зы
семерошник?))
6 - 01.12.2016 - 16:19
Цитата:
Сообщение от user1C Посмотреть сообщение
семерошник?
тем более учиться... с 7-ки на 8-ку довольно легко переходить. а вот потом обратно, практически нереально...
Гость
7 - 01.12.2016 - 16:19
5-user1C >
"ВЫБРАТЬ
| Документ.Ссылка
|ИЗ
| Документ.Привет КАК Привет
|ГДЕ
| Привет.Дата = &Дата";
8 - 01.12.2016 - 16:27
(7) и это тоже... конструктор запросов обычно помогает искать такие примитивные ляпы типа как здесь "ВЫБРАТЬ Документ.Ссылка...
9 - 01.12.2016 - 16:32
7-VZ >
ТекущаяДата = ТекущаяДата -1;
10 - 01.12.2016 - 17:03
Цитата:
Сообщение от bma1 Посмотреть сообщение
Цитата: Сообщение от user1C семерошник? тем более учиться... с 7-ки на 8-ку довольно легко переходить. а вот потом обратно, практически нереально...
Не правда ваша. 77 намного проще в программировании простых вещей.
Гость
11 - 01.12.2016 - 17:12
9-user1C > См.(4). П.2.
12 - 01.12.2016 - 18:03
11-VZ >См.(5).П.зы
))
13 - 01.12.2016 - 18:19
Цитата:
Сообщение от shotsdv2008 Посмотреть сообщение
Не правда ваша. 77 намного проще в программировании простых вещей.
Потому что слишком привыкаешь ко многим хорошим вещам... типа явного разделения обращения к ссылке и объекту, обходов коллекций (и к ним самим), разделению кода на серверный и клиентский и т.п.
Гость
14 - 01.12.2016 - 19:44
Смешная тема ) Один в документ в день ) А журнала нет что ли ? в в запросе надо просто применить MIN() И MAX на на разницу дат документов. А можно следующий выписывать на основании предыдущего ) Пипец проблема ))
Гость
15 - 02.12.2016 - 09:57
Да вот чет не получается ((( хотел попросить пример кода для кнопки (управляемые формы) чтоб при нажатии на нее открывалась форма предедущего документа (думал по дате сделать но чет думаю теперь лучше по номеру документа т.к. выходные\ праздники и будет ошибка)
Гость
16 - 02.12.2016 - 10:30
Цитата:
Сообщение от max815 Посмотреть сообщение
но чет думаю теперь лучше по номеру документа т.к. выходные\ праздники и будет ошибка
мой брат - деб... пардон, одноэсник

ошибка в номере (исправление руками), помеченный на удаление документ - будем иметь вздрюченного аднаЭсника
Гость
17 - 03.12.2016 - 07:43
0-max815 > - В 7.7 всё просто - я бы так оформил:

Процедура ПоСтрелкеВверх()

Если Выбран()=0 Тогда //Если текущий документ не записан, нужно записать
Предупреждение("Текущий Документ должен быть записан - Запишите!!",5);
Возврат;
КонецЕсли;

Док=СоздатьОбъект("Документ."+ТекущийДокумент().Ви д());
Док.ОбратныйПорядок(1);
Док.ВыбратьДокументы(,ТекущийДокумент());

Док.ПолучитьДокумент();//нашли текущий документ
Док.ПолучитьДокумент();//нашли предыдущий документ

Конт="";
РежимПросмотра=1;//только просмотр
ОткрытьФорму(Док.ТекущийДокумент(),Конт,РежимПросм отра);
КонецПроцедуры //ПоСтрелкеВверх()

//Примечание:
<РежимПросмотра> - необязательный параметр. Числовое выражение:
1 - открыть форму в режиме только просмотра;
0 - открыть форму в режиме редактирования;
-1 (минус единица) - в этом случае используется вариант,
предусмотренный текущим значением параметра ''Режим открытия объектов'',
установленным пользователем интерактивно.

Если использовать текст процедуры отсюда,
необходимо удалить пробелы, проставленный в некоторых местах
местным редактором форума.
Гость
18 - 03.12.2016 - 07:48
17-perpetum >
Да, пропустил ещё:
//После серии
//Док.ПолучитьДокумент();
//Док.ПолучитьДокумент();
//Проверка на выбран():
Если Док.Выбран()=0 Тогда
Предупреждение("Для выбора Нет предыдущего документа!",5);
Возврат;
КонецЕсли;
19 - 04.12.2016 - 09:56
хорош графоманить
Гость
20 - 04.12.2016 - 10:42
Спасибо большое, но чет ничего не понятно к примеру ПолучитьДокумент - такого нет в 8.2 и я может неправильно написал но создавать ничего не надо стрелки должно просто открывать предедущей документ по коду
Гость
21 - 04.12.2016 - 12:57
20-max815 > При открытии формируй список документов на разумную глубину.


К списку вопросов
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск




Copyright ©, Все права защищены