Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: 1С для программиста

  Все выпуски  

RusFAQ.ru: 1С для программиста


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / 1С для программиста

Выпуск № 422
от 07.02.2007, 20:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 325, Экспертов: 53
В номере:Вопросов: 3, Ответов: 9


Вопрос № 73691: Открываю новый документ вхожу в Процедуру ВводНового(), далее срабатывает Процедура ПриОткрытии() и появляется форма для ввода данных, а пользователь нажимает "Х"(вверхнем правом углу окна) появляется вопрос "Сохранить документ ? Да Не...
Вопрос № 73725: Здравствуйте, уважаемые господа эксперты!!! Проблема в следующем: необходимо узнать сколько лет сотрудник проработал на госслужбе. Есть две переменной: Датапоступления и текущаяДата(). Текущаядата Всегда больше, чем датапоступления. Как корректно...
Вопрос № 73799: Доброго времени суток... Я пишу обработку, которая автоматически если не все Субконто заполенны их заполняет. Я сделал выборку всех проводок. Но когда я пытаюсь изменить реквизиты проводки, то мне выдается сообщение об ошибки, что типа не мо...

Вопрос № 73.691
Открываю новый документ вхожу в Процедуру ВводНового(), далее срабатывает Процедура ПриОткрытии() и появляется форма для ввода данных, а пользователь нажимает "Х"(вверхнем правом углу окна) появляется вопрос "Сохранить документ ? Да Нет Отмена" и при ответе "Да" сохраняется пустой документ. Режим открытия объектов =Просмотр. Как сделать так, чтобы этот вопрос не задавался и конечно не сохранялся документ. Буду признателен за ответ.
Отправлен: 01.02.2007, 21:35
Вопрос задал: Викентий (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Elric
Здравствуйте, Викентий!

Каким образом Вы входите в процедуру ВводНового если режим открытия ТолькоПросмотр? Явно что-то не оттуда.
Вопрос "Сохранить документ?" задается только в двух случаях:
а) Был создан новый документ (интерактивно создать документ в режиме "Только просмотр" этот нонсенс)
б) Был изменен открытый документ (интерактивно либо программно, например в той же процедуре ПриОткрытии)
Проверьте, какой случай -- Ваш.
---------
Мирный атом в КАЖДЫЙ дом!
Ответ отправил: Elric (статус: Специалист)
Ответ отправлен: 02.02.2007, 00:58
Оценка за ответ: 2

Отвечает: Шахрайчук Владимир Анатольевич
Здравствуйте, Викентий!
ПриЗаписи()
Если КоличествоСтрок()=0 Тогда
Предупреждение("Не сохранять!!!");
СтатусВозврата(0);
Форма.Закрыть(0);
Ответ отправил: Шахрайчук Владимир Анатольевич (статус: Студент)
Ответ отправлен: 02.02.2007, 11:12
Оценка за ответ: 5

Отвечает: Gl0betrotter
Здравствуйте, Викентий!

Сделать подобное у Вас получится исключительно на уровне кода - несмотря на то, что в настройках параметров системы режим открытия объектов стоит в значении "Просмотр" новый документ ввести можно - так придумала (недодумала) 1С...
Как реализовать программно - создаем константу РежимОткрытияОбъектов (Число, длина = 1, точность = 0, неотрицательное). В самое начало процедуры ВводНового() внедряем условие, приведенное ниже
Если Константа.РежимОткрытияОбъектов=0 Тогда
Предупреждение("Установлен режим открытия объектов: Просмотр."+РазделительСтрок+"Ввод новых документов запрещен!",5);
СтатусВозврата(0);
Возврат;
КонецЕсли;

В результате получаем - если значение нашей константы =0 - ввести новый документ не получится, если значение нашей константы =1 - милости просим, вводите новый и работайте...

Удачи!
Ответ отправил: Gl0betrotter (статус: Студент)
Ответ отправлен: 02.02.2007, 15:20
Оценка за ответ: 3

Отвечает: Владимир Лазурко
Здравствуйте, Викентий!
А всё ли в прорядке с правами доступа? Возможно роазработчик Вашей конфигурации не написал предупреждение или кто-то наоборот, убрал оное. По тексту модуля пробегитесь поиском строки "Форма.Просмотр" и станет ясно, где устанавливается просмотр и при каких условиях. Например, остутствуют права на документ, либо установлена какая-то константа запрета ввода документов и т.д.
Успехов!
Ответ отправил: Владимир Лазурко (статус: 7-ой класс)
Ответ отправлен: 03.02.2007, 08:43
Оценка за ответ: 1


Вопрос № 73.725
Здравствуйте, уважаемые господа эксперты!!!
Проблема в следующем: необходимо узнать сколько лет сотрудник проработал на госслужбе. Есть две переменной: Датапоступления и текущаяДата(). Текущаядата Всегда больше, чем датапоступления. Как корректно отнять одну дату от другой, чтоб вышло точное количество лет и месяцев работы на госслужбе???
Например 12.01.07-18.10.01 должно примерно получится примерно 26.09.05, расчет может неверный, но по-моему смысл понятен. В принципе, хватит знать только количество лет и месяцев...
Отправлен: 02.02.2007, 07:00
Вопрос задал: BigHard (статус: 1-ый класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Ahab
Здравствуйте, BigHard!

текущаяДата() - Датапоступления = количество дней разницы между ними... если примерно получить в годах надо то /365, если надо точно то тебе прийдётся ещё подумать.... ;)
удачи
Ответ отправил: Ahab (статус: 3-ий класс)
Ответ отправлен: 02.02.2007, 07:19
Оценка за ответ: 5
Комментарий оценки:
Да мне надо только годы, ксати я уже так сам сделал, додумался, блин, спасибо

Отвечает: IUnknown
Здравствуйте, BigHard!
узнаем количество месяцев
(ДатаГод('01.01.2006') - ДатаГод('01.01.2005')) * 12 + (ДатаМесяц('01.01.2006') - ДатаМесяц('01.01.2005'))

ну а количесвто лет либо целое от деления месяцев на 12, либо
Цел((Число(Формат('01.01.06',"ДГГГГММДД")) - Число(Формат('01.01.05',"ДГГГГММДД"))) / 10000)

---------
я не специалист
Ответ отправил: IUnknown (статус: 10-ый класс)
Ответ отправлен: 02.02.2007, 07:53

Отвечает: Palkin
Здравствуйте, BigHard!
Вот как это реализовано в ЗиК

Приложение:

Ответ отправил: Palkin (статус: 3-ий класс)
Ответ отправлен: 02.02.2007, 07:54


Вопрос № 73.799
Доброго времени суток...
Я пишу обработку, которая автоматически если не все Субконто заполенны их заполняет.
Я сделал выборку всех проводок. Но когда я пытаюсь изменить реквизиты проводки, то мне выдается сообщение об ошибки, что типа не могу изменить записанные проводки. Подскажите пожалуйста как мне получить доступ к изменению записанных проводок?

Приложение:

Отправлен: 02.02.2007, 18:37
Вопрос задал: Arkadiy Karanskiy (статус: 7-ой класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Elric
Здравствуйте, Arkadiy Karanskiy!

Вам надо создать объект Операция и менять соответствующие операции, а не пытаться обратиться непосредственно к проводке. И потом к операции применять метод Записать(). Выборка проводок сама по себе открыта "только для чтения".
Т.е. из выборки проводок (по Вашему алгоритму) определяете какую проводку нужно менять (и в какой операции), объект типа Операция позиционируете на эту операцию, меняете данные в соответствующей проводке этой оперции, записываете операцию.
И не забудьте, что если Вы меняете в проводке субконто, по которому делали отбор, то выборка сбивается, в таком случае лучше сначала сформировать таблицу значений с перечнем проводок/операций, а потом уже во второй фазе менять их.
---------
Мирный атом в КАЖДЫЙ дом!
Ответ отправил: Elric (статус: Специалист)
Ответ отправлен: 03.02.2007, 00:26

Отвечает: BigHard
Здравствуйте, Arkadiy Karanskiy!
Попробуйте сделать немного иначе:
По проводке находите документ, которым она создана и в этом документе заполняйте необходимые реквизиты и перепроводите его.
---------
Чем отличается чайник от программиста: У чайника в одном килобайте 1000 байт, а у программиста в одном километре 1024 метра
Ответ отправил: BigHard (статус: 1-ый класс)
Ответ отправлен: 05.02.2007, 06:14


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
ООО "Мастер-Эксперт Про", Москва, 2007
Авторские права | Реклама на портале
Версия системы: 4.44 beta от 26.01.2007
Яндекс Rambler's Top100

В избранное