Переключение на Главную Страницу Страницы: [1]  ОтправитьПечать
Очень популярная тема (более 25 ответов) Параметры по-умолчанию (число прочтений - 21895 )
alest
Senior Member
****
Отсутствует



Сообщений: 380
Местоположение: Гродно, Беларусь
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Параметры по-умолчанию
13. Марта 2007 :: 08:07
Печать  
Вроде было так решено, что значение параметра по умолчанию в файле определения указывается, а в файле реализации не нужно. Или я  опять отстал от жизни?
Уж много раз спотыкалсяПечаль Вот сейчас опять. Помогите, разобраться бы раз и навсегда...

Определение:
Число      ПроверкаРазрешенияРедактирования(ГрупповойКонтекст Конт, Строка Реквизиты, Число ДокументФиксируетЗаписи=0);
Реализация:
Процедура ПроверкаРазрешенияРедактирования(Конт, Реквизиты, ДокументФиксируетЗаписи) Экспорт
Вызов:
глЗарплата.ПроверкаРазрешенияРедактирования(Контекст, "кнЗаписать, кнПровести");

Результат:
глЗарплата.ПроверкаРазрешенияРедактирования(Контекст, "кнЗаписать, кнПровести");
{Документ.РаботыПоПутевомуЛисту.Форма.Модуль(24)}: Недостаточное число параметров передано при вызове функции/процедуры объекта
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Параметры по-умолчанию
Ответ #1 - 13. Марта 2007 :: 08:24
Печать  
А это случайно не класс-потомок, в котором нет подобного правильного определения?
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
alest
Senior Member
****
Отсутствует



Сообщений: 380
Местоположение: Гродно, Беларусь
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Параметры по-умолчанию
Ответ #2 - 13. Марта 2007 :: 08:34
Печать  
class Зарплата = Зарплата.txt
{


Процедура ПроверкаРазрешенияРедактирования(Конт, Реквизиты, ДокументФиксируетЗаписи) Экспорт
     РасшЖурналРасчетов.ПроверкаРазрешенияРедактированияДокумента(Конт, Реквизиты, ДокументФиксируетЗаписи);
КонецПроцедуры      // ПроверкаРазрешенияРедактирования

Вызов метода РасшЖурналРасчетов закомментарил, итог тот же, ругается именно на вызов метода Зарплаты.
Озадачен
  
Наверх
ICQ  
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Параметры по-умолчанию
Ответ #3 - 13. Марта 2007 :: 08:35
Печать  
Дело не в этом. Дело в том, что для файла определения не выдается диагностика. В данном случае надо написать не
Число ПроверкаРазрешенияРедактирования(ГрупповойКонтекст Конт, Строка Реквизиты, Число ДокументФиксируетЗаписи=0);
а
Void ПроверкаРазрешенияРедактирования(ГрупповойКонтекст Конт, Строка Реквизиты, Число ДокументФиксируетЗаписи=0);

Наступал на эти грабли много раз. Уже выучил их.  Улыбка
  
Наверх
 
IP записан
 
alest
Senior Member
****
Отсутствует



Сообщений: 380
Местоположение: Гродно, Беларусь
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Параметры по-умолчанию
Ответ #4 - 13. Марта 2007 :: 08:49
Печать  
sedmin писал(а) 13. Марта 2007 :: 08:35:
Дело не в этом. Дело в том, что для файла определения не выдается диагностика. В данном случае надо написать не
Число ПроверкаРазрешенияРедактирования(ГрупповойКонтекст Конт, Строка Реквизиты, Число ДокументФиксируетЗаписи=0);
а
Void ПроверкаРазрешенияРедактирования(ГрупповойКонтекст Конт, Строка Реквизиты, Число ДокументФиксируетЗаписи=0);

Наступал на эти грабли много раз. Уже выучил их.  Улыбка

Точно, это ж процедура! Я тоже, только не выучил, спасибо. В ФАК ссылку кинуть?
  
Наверх
ICQ  
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Параметры по-умолчанию
Ответ #5 - 13. Марта 2007 :: 09:17
Печать  
Лучше в багзиллу.

А можно и туда, и туда.
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Параметры по-умолчанию
Ответ #6 - 14. Марта 2007 :: 06:14
Печать  
Интересный баг.
Ни разу не нарывался, т.к. всегда знал, что процедура - это void Улыбка
ИМХО нужно поправить, наверное.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Robert
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 86
Зарегистрирован: 20. Сентября 2006
Re: Параметры по-умолчанию
Ответ #7 - 06. Апреля 2007 :: 13:29
Печать  
А я что делаю не так, просвятите?

Определение:
Код
Выбрать все
//#класс МенеджерСообщений = КлассМенеджерСообщений@MD
//#{
//#	Void ПроверкаРазрешенияРедактирования(ГрупповойКонтекст Конт, Строка Реквизиты, Число ДокументФиксируетЗаписи=0);
//#} 



Реализация:
Код
Выбрать все
Процедура ПроверкаРазрешенияРедактирования(Конт, Реквизиты, ДокументФиксируетЗаписи) Экспорт
	Сообщить("работает");
КонецПроцедуры 



Вызов:
Код
Выбрать все
лМенСообщ=СоздатьОбъект("МенеджерСообщений");
лМенСообщ.ПроверкаРазрешенияРедактирования(Контекст, "кнЗаписать, кнПровести");  



Результат:
Код
Выбрать все
лМенСообщ.ПроверкаРазрешенияРедактирования(Контекст, "кнЗаписать, кнПровести");
{C:\EXT\1.ERT(36)}: Недостаточное число параметров передано при вызове функции/процедуры объекта 



Прямо отсюда брал. Что не так?
1С++ 2.0.3.3
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Параметры по-умолчанию
Ответ #8 - 06. Апреля 2007 :: 13:50
Печать  
Возможно, Void - заглавная буква V путает 1С++ ?
если да, то конечно, это косяк 1С++ Печаль
В этом случае постараюсь поправить.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Параметры по-умолчанию
Ответ #9 - 06. Апреля 2007 :: 13:53
Печать  
А вот это: "//#" не пробовал убирать? Может оно глючит?
  
Наверх
 
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Параметры по-умолчанию
Ответ #10 - 06. Апреля 2007 :: 13:54
Печать  
artbear писал(а) 06. Апреля 2007 :: 13:50:
Возможно, Void - заглавная буква V путает 1С++ ?
если да, то конечно, это косяк 1С++ Печаль
В этом случае постараюсь поправить.

Void уже правили по моей просьбе с год назад.
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Параметры по-умолчанию
Ответ #11 - 06. Апреля 2007 :: 14:31
Печать  
sedmin писал(а) 06. Апреля 2007 :: 13:54:
Void уже правили по моей просьбе с год назад.

А ведь такого теста нет Улыбка
Поэтому все может быть Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Параметры по-умолчанию
Ответ #12 - 06. Апреля 2007 :: 21:50
Печать  
artbear писал(а) 06. Апреля 2007 :: 14:31:
sedmin писал(а) 06. Апреля 2007 :: 13:54:
Void уже правили по моей просьбе с год назад.

А ведь такого теста нет Улыбка
Поэтому все может быть Улыбка

Вряд ли. У меня такой код есть, и работает. Причем в тестах.  Улыбка
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Параметры по-умолчанию
Ответ #13 - 08. Апреля 2007 :: 11:13
Печать  
Что-то в 203 такого теста не нашел.
Глобальный поиск по конфе тестирования в 203 не выявил наличия "Void" c учетом регистра Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Параметры по-умолчанию
Ответ #14 - 09. Апреля 2007 :: 04:30
Печать  
Ну вообще-то я говорил о своей конфе.
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Параметры по-умолчанию
Ответ #15 - 09. Апреля 2007 :: 04:49
Печать  
А для 1С++ зажал, да ? Улыбка  Смех
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Amel
Junior Member
**
Отсутствует


1С++ rulezzz!

Сообщений: 85
Местоположение: Украина, Винница
Зарегистрирован: 20. Ноября 2007
Пол: Мужской
Re: Параметры по-умолчанию
Ответ #16 - 20. Ноября 2007 :: 11:09
Печать  
Я только начал изучать компоненту 1С++.
У меня тоже выдает ошибки "Недостаточное число параметров передано при вызове функции/процедуры объекта".
Это когда я пробовал класс "БыстрыеИтоги" и еще какие-то с вашего сайта.
В других классах я поправлял руками вызов функций и процедур. А здесь никак не могу побороть.
Пересмотрел кажется весь форум, но не нашел никакого решения данной проблемы.
Также пробовал ставить разные версии 1С++ (и старые, и новые) - не помогло ничего.
Может кто помочь?
  

Восторгаюсь 1С++ и классами к ней!
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Параметры по-умолчанию
Ответ #17 - 20. Ноября 2007 :: 11:23
Печать  
Создай новую тему, обсудим.
В новой ветке напиши код, который запускаешь, и пример вызова этого кода.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Параметры по-умолчанию
Ответ #18 - 09. Апреля 2008 :: 07:23
Печать  
alest писал(а) 13. Марта 2007 :: 08:49:
sedmin писал(а) 13. Марта 2007 :: 08:35:
Дело не в этом. Дело в том, что для файла определения не выдается диагностика. В данном случае надо написать не
Число ПроверкаРазрешенияРедактирования(ГрупповойКонтекст Конт, Строка Реквизиты, Число ДокументФиксируетЗаписи=0);
а
Void ПроверкаРазрешенияРедактирования(ГрупповойКонтекст Конт, Строка Реквизиты, Число ДокументФиксируетЗаписи=0);

Наступал на эти грабли много раз. Уже выучил их.  Улыбка

Точно, это ж процедура! Я тоже, только не выучил, спасибо. В ФАК ссылку кинуть?

Создал баг
http://www.1cpp.ru/bugs/show_bug.cgi?id=3712
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Параметры по-умолчанию
Ответ #19 - 09. Апреля 2008 :: 12:10
Печать  
alest писал(а) 13. Марта 2007 :: 08:49:
Точно, это ж процедура! Я тоже, только не выучил, спасибо. В ФАК ссылку кинуть?

В FAQ это есть с самого рождения FAQ.
http://www.1cpp.ru/index.php/FAQ#defcls.prm вопрос 3.
  
Наверх
www  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Параметры по-умолчанию
Ответ #20 - 09. Апреля 2008 :: 12:12
Печать  
artbear писал(а) 09. Апреля 2008 :: 07:23:

Зачем? Что именно ты хочешь поменять в поведении 1С++?
К sedmin'у тот же вопрос.
  
Наверх
www  
IP записан
 
alest
Senior Member
****
Отсутствует



Сообщений: 380
Местоположение: Гродно, Беларусь
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Параметры по-умолчанию
Ответ #21 - 09. Апреля 2008 :: 12:39
Печать  
fez писал(а) 09. Апреля 2008 :: 12:10:
alest писал(а) 13. Марта 2007 :: 08:49:
Точно, это ж процедура! Я тоже, только не выучил, спасибо. В ФАК ссылку кинуть?

В FAQ это есть с самого рождения FAQ.
http://www.1cpp.ru/index.php/FAQ#defcls.prm вопрос 3.

Честно сказать первый раз его вижу. На alterplast он тоже был? Ветку фак в форуме (этом и старом) только и смотрел.
  
Наверх
ICQ  
IP записан
 
alest
Senior Member
****
Отсутствует



Сообщений: 380
Местоположение: Гродно, Беларусь
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Параметры по-умолчанию
Ответ #22 - 09. Апреля 2008 :: 12:42
Печать  
fez писал(а) 09. Апреля 2008 :: 12:12:
artbear писал(а) 09. Апреля 2008 :: 07:23:

Зачем? Что именно ты хочешь поменять в поведении 1С++?
К sedmin'у тот же вопрос.

Наверное надо бы исключение выкидывать, что процедура объявлена как функция. Мне тоже кажется, что не должно быть такого молчаливого поведения.
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Параметры по-умолчанию
Ответ #23 - 09. Апреля 2008 :: 13:31
Печать  
1. Да, хочется какого-то более осмысленного поведения.
Из сообщения 1С далеко не сразу поймешь, в чем баг Улыбка
2. Или можно пропускать подобный вариант Улыбка, но не думаю, что это правильно.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Параметры по-умолчанию
Ответ #24 - 09. Апреля 2008 :: 14:17
Печать  
alest писал(а) 09. Апреля 2008 :: 12:39:
fez писал(а) 09. Апреля 2008 :: 12:10:
alest писал(а) 13. Марта 2007 :: 08:49:
Точно, это ж процедура! Я тоже, только не выучил, спасибо. В ФАК ссылку кинуть?

В FAQ это есть с самого рождения FAQ.
http://www.1cpp.ru/index.php/FAQ#defcls.prm вопрос 3.

Честно сказать первый раз его вижу. На alterplast он тоже был? Ветку фак в форуме (этом и старом) только и смотрел.

Естественно. Я же сказал: "с рождения".
http://1c.alterplast.ru/faq/1cpp.html "Специализированные вопросы", третий вопрос.
  
Наверх
www  
IP записан
 
alest
Senior Member
****
Отсутствует



Сообщений: 380
Местоположение: Гродно, Беларусь
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Параметры по-умолчанию
Ответ #25 - 09. Апреля 2008 :: 14:46
Печать  
В том-то и дело, что там просто сказано что такое void. Там не сказано, что если указать какой-то другой тип для процедуры, то не будут работать параметры по-умолчанию.
А получается так, скопировал определение, на void не исправил, а 1с++ говорит не о том, что тип неправильный, а просто игнорирует параметры по-умолчанию.
  
Наверх
ICQ  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Параметры по-умолчанию
Ответ #26 - 09. Апреля 2008 :: 14:49
Печать  
Какой ты нудный. Улыбка Ну почитай еще вопрос, который начинается с:
Цитата:
Q. Что-то у меня не получается создать метод со значением по умолчанию.


В современном FAQ это 4-й вопрос того же раздела.
  
Наверх
www  
IP записан
 
alest
Senior Member
****
Отсутствует



Сообщений: 380
Местоположение: Гродно, Беларусь
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Параметры по-умолчанию
Ответ #27 - 09. Апреля 2008 :: 15:25
Печать  
fez писал(а) 09. Апреля 2008 :: 14:49:
Какой ты нудный. Улыбка Ну почитай еще вопрос, который начинается с:
Цитата:
Q. Что-то у меня не получается создать метод со значением по умолчанию.


В современном FAQ это 4-й вопрос того же раздела.

Это не я нудный, а ты вводишь в заблуждение: то "с самого рождения", а теперь про современный.

Есть и хорошо, будем знать. А еще лучше будет, когда 1с++ будет указывать на источник ошибки.
  
Наверх
ICQ  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Параметры по-умолчанию
Ответ #28 - 09. Апреля 2008 :: 15:36
Печать  
alest писал(а) 09. Апреля 2008 :: 15:25:
fez писал(а) 09. Апреля 2008 :: 14:49:
Какой ты нудный. Улыбка Ну почитай еще вопрос, который начинается с:
Цитата:
Q. Что-то у меня не получается создать метод со значением по умолчанию.


В современном FAQ это 4-й вопрос того же раздела.

Это не я нудный, а ты вводишь в заблуждение: то "с самого рождения", а теперь про современный.

Учу русскому языку. Дорого.

"почитай еще вопрос, который начинается с: Q. Что-то у меня не получается создать метод со значением по умолчанию." - означало, что читать его надо в старом, альтерпластовском faq. Поскольку в старом faq нет нумерации вопросов, приходится позиционироваться вот таким способом.

"В современном FAQ это 4-й вопрос того же раздела" - написано для того, чтобы найти этот же вопрос в современном faq.
  
Наверх
www  
IP записан
 
alest
Senior Member
****
Отсутствует



Сообщений: 380
Местоположение: Гродно, Беларусь
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Параметры по-умолчанию
Ответ #29 - 09. Апреля 2008 :: 15:50
Печать  
Урок выучил. Улыбка Но факт наличия в фак, ИМХО, не повод считать, что указанное поведение не надо исправлять. 10 очередь, конечно, но все же.
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Параметры по-умолчанию
Ответ #30 - 17. Октября 2008 :: 04:47
Печать  
alest писал(а) 09. Апреля 2008 :: 15:25:
А еще лучше будет, когда 1с++ будет указывать на источник ошибки.

Выполнено в 1С++ 3.0.1.17 - описание сборки
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Переключение на Главную Страницу Страницы: [1] 
ОтправитьПечать