1С: Повесть о программировании
Этой темой я начинаю повесть о "1С предприятии" и ошибках которые бывают совсем нелепые, а бывают и критические, приводящие к потере данных. Ни чего сверх естественного, просто расскажите кто с какими проблемами сталкивался и как находились решения.
ВНИМАНИЕ!!! Если вы ищите какую либо литературу, проверьте нашу библиотеку может там уже что то есть для вас. ([Ссылки могут видеть только зарегистрированные пользователи. ]). Или же в библиотеке haiboria.ru. ([Ссылки могут видеть только зарегистрированные пользователи. ]) Если у вас есть вопросы по работе в 1С вы можете их задать в теме "[Ссылки могут видеть только зарегистрированные пользователи. ]". В разделе "[Ссылки могут видеть только зарегистрированные пользователи. ]" можете задавать вопросы по программированию в 1С. Если вы ищите конфигурации то зайдите в "[Ссылки могут видеть только зарегистрированные пользователи. ]" |
неверное имя реквизита!
Нужно мне было составить список элементов с одинаковым значением реквизита. Можно и запросом с условием, можно и методом выбрать() и в цикле получить() проверить обычным если. Но решил попробовать метод ВыбратьЭлкментыПоРеквизиту(). Не работает и все. Ошибка называется "неверное имя реквизита". Как оказалось имя реквизита ни причем (может, конечно, мне так только кажется). Дело в том что не доконца прочитал описание этого метода. вот концовка:
Цитата:
[Ссылки могут видеть только зарегистрированные пользователи. ] мелочь, а я долго бился головой об справочники, почему в бухгалтерии работает, а у меня нет. После установки галочки и принятия изменений, метод заработал. |
опять неверное имя реквизита!
Вобще меня часто с толку сбивала эта ошибка. Вот и тогда когда мне надо было в журнале показать только документы на определенную организацию.
Есть журнал которому принадлежит три вида докуиентов. Есть графа отбора. После выполнения метода УстановитьОтбор("Имя", Значение) вываливается ошибка "неверное имя реквизита!" в синтасис помошнике не написано , что журнал должен быть общим. Да еще эта сообщение, которое заставляет думать что ты опечатался. [Ссылки могут видеть только зарегистрированные пользователи. ] Журнал должен быть общим чтоб можно было установить в нем отбор! |
Об позиционировании на форме. 7.7
Если вам когда либо захочется зделать красивую форму с вкладками и таблицами значений в размер формы, забудьте сразу о красоте или даже о такой форме. Делал я форму с шестью вкладками и шестью ТЗ. Блин в размер формы растягивается только одна ТЗ. Остальные ни как не реагируют на изменение резмера формы.
С позиционированием элементов диалога в 7.7 вобще дела не ахти. Например если их много (элементов диалога), то они начинают расползаться по форме произвольно :). Ну не совсем произвольно, а например, если выскочит сообщение и верхний край сообщения дотянется до какого нить элемента, то при закрытии сообщения, элемент сползет вниз и может наложиться на кнопки. Бред вабще. Говорят это лечится созданием формы заново. |
Re: 1С: Повесть о программировании
Есть два справочника, причем второй подчинен первому. Есть документ в реквизитах которого оба справочника присутствуют. Если вы делаете форму документа и потом пытаетесь выбрать элемент из второго справочника, то вам сначала предложат выбрать владельца. Как бы пропустить этот диалог? Ведь на форме документа уже выбран владелец для второго справочника. Я блин долго и упорно обрабатывал предопределенную процедуру
Код:
ПриНачалеВыбораЗначения() Но все гораздо проще оказалось. В конструкторе формы в свойствах элемента диалога на вкладке дополнительно есть поле "Связан с". Вот туда то и надо записать идентификатор нужного владельца. [Ссылки могут видеть только зарегистрированные пользователи. ] теперь если в указаной вами переменой хранится элемент из первого справочника, то при выборе элемента из второго справочника он будет использован как владелец. |
Re: 1С: Повесть о программировании
Обрабатывал файл Excel в нем порядка 3000 записей. Нужно было записать в базу суммы тех которые есть в нашей базе. Делаю цикл по записям и условие по двум полям, однозначно определяющих элемент справочника. Из всех записей попадает только 100, ну мне то че с того, значит только 100 присутствует у нас в базе. Короче записал и забыл. А потом бухи говорят чей то маловато будет. Стал проверять, действительно, маловато. Вобщем не принебрегайте функцией СокрЛП() при сравнении строк, особенно при работе с Excel.
После того как добавил в свое условие эту функцию, нашлось гораздо больше совпадений Код:
Если (орг.КПП = СокрЛП(ExcelApp.Cells(сч, 4).Value)) Тогда |
7.7 1С: Повесть о программировании
Захотелось разобраться с календарями. Вроде как удобная штука, записал на каждый день длину рабочего (на один периодический отрезок дат) и программа тебе на весь год может его расчитать. Например работаете вы два через два пожалуйста: даем четыре значения календарю 8,8,0,0 и все программа сама расчитает хоть на год вперед все ваши выходные и т.д. Но меня удивило что значение 8.15, например, не равняется 8 часам 15 минутам, что бы задать 8 часов 15 минут надо писать 8.25. Т.е. там не минуты после точки, а сотые доли часа. Во как.
|
Re: 1С: Повесть о программировании
Я вот наткнулся на такой косяк. Когда реквизит регистра строку делаешь 216 символов - работает, 217 - abnormal program terminaton. Есть предположения ?
|
Re: 1С: Повесть о программировании
Регистры вешь капризная. у них стоит ограничение на суммарную длинну строк в реквизитах - естественно 250 символов, у тебя в данном случае получается больше :)
|
Re: 1С: Повесть о программировании
1С8 в табличном поле есть номенклатура, единицы и т.д. как добраться до списка выбора единиц. т.е. мне из списка нужно выбирать только те единицы, которые могут быть у данной номенклатуры
|
Часовой пояс GMT +3, время: 11:43. |
Работает на vBulletin® версия 3.8.12 by vBS.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot