
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.237.31.191] |
![]() |
|
Страницы: (3) 1 2 [3] все ( Перейти к последнему сообщению ) |
Сообщ.
#31
,
|
|
|
На компе очистили папку "temp". Вручную, просто снеся все что там было. После этого перестала запускаться 1С, причем только под определенным пользователем (который собсна и работал на этом компе). Просто при загрузке, еще до инициализации глобальника выдавала "программа выполнила недопустимую операцию и будет закрыта".
Решилась проблема снесением в реестре ключа с настройками пользователя (/HKCU/Software/1C/1Cv7/7.7/<DBName>/V7/<UserName>) |
Сообщ.
#32
,
|
|
|
Сам я так и не понял глюк это или нет, но я был крайне удивлён. Делал я вначале так (объясняю на более простом примере):
![]() ![]() Список1 = СоздатьОбъект("СписокЗначений"); Список2 = СоздатьОбъект("СписокЗначений"); Для Н = 1 По 3 Цикл Список2.УдалитьВсе(); Для НН = 1 По 3 Цикл Список2.ДобавитьЗначение(Н*10+НН); КонецЦикла; Список1.ДобавитьЗначение(Список2); КонецЦикла; Для Н = 1 По 3 Цикл СписокСписка = Список1.ПолучитьЗначение(Н); Для НН = 1 По 3 Цикл Сообщить("Н="+Н+" НН="+НН+" Значение="+СписокСписка.ПолучитьЗначение(НН)); КонецЦикла; КонецЦикла; а потом врубился в прикол и сделал так: ![]() ![]() Список1 = СоздатьОбъект("СписокЗначений"); Для Н = 1 По 3 Цикл Список2 = СоздатьОбъект("СписокЗначений"); Для НН = 1 По 3 Цикл Список2.ДобавитьЗначение(Н*10+НН); КонецЦикла; Список1.ДобавитьЗначение(Список2); КонецЦикла; Для Н = 1 По 3 Цикл СписокСписка = Список1.ПолучитьЗначение(Н); Для НН = 1 По 3 Цикл Сообщить("Н="+Н+" НН="+НН+" Значение="+СписокСписка.ПолучитьЗначение(НН)); КонецЦикла; КонецЦикла; ...И кто-то после этого будет доказывать, что 1С не ООП ?! ![]() |
Сообщ.
#33
,
|
|
|
Это не глюк, это фича. А ООП тут не при чем, всего лишь реализация ссылок на переменые агрегатного типа.
Добавлено ООП в 1С нет, т.к. ты не можешь создавать сам объекты в чистом виде, можешь только использовать встроенные. |
Сообщ.
#34
,
|
|
|
Ну ладно придираться к словам, вот, что я ещё накопал 7.7:
![]() ![]() // Запустите эту процедуру у себя и наслаждайтесь. Процедура Сформировать() Для НН = 1 По Метаданные.Справочник() Цикл Спр = Метаданные.Справочник(НН).Идентификатор; Сообщить("Проверка справочника "+Спр); С = СоздатьОбъект("Справочник."+Спр); С.ВыбратьЭлементы(0); Пока С.ПолучитьЭлемент() = 1 Цикл Состояние(С.ТекущийЭлемент()); Для Н = 1 По Метаданные.Справочник(Спр).Реквизит() Цикл Рек = Метаданные.Справочник(Спр).Реквизит(Н); Р = С.ПолучитьАтрибут(Рек.Идентификатор); Если (ТипЗначенияСтр(Р) = "Справочник") И (ПустоеЗначение(Р) = 0) Тогда Рвнутр1 = ЗначениеВСтрокуВнутр(Р); РС = СоздатьОбъект("Справочник."+Р.Вид()); РС.НайтиЭлемент(Р); Рвнутр2 = ЗначениеВСтрокуВнутр(РС.ТекущийЭлемент()); Если Рвнутр1 <> Рвнутр2 Тогда Сообщить("В справочнике "+Р.Вид()+" у элемента "+Р+" что-то непонятное с внутр.значением"); Сообщить(" У ссылки="""+Рвнутр1+""""); Сообщить(" У элемента="""+Рвнутр2+""""); КонецЕсли; КонецЕсли; КонецЦикла; КонецЦикла; КонецЦикла; КонецПроцедуры А если серьёзно может кто-нибудь ответить почему у некоторых элементов ЗначениеВСтрокуВнутр для ссылки не равно для элемента? ( ![]() |
Сообщ.
#35
,
|
|
|
Сообщ.
#36
,
|
|
|
имена полей в макете не могут содержать буквы cn, dn, и tn где n = число, потому что это особенность платформы 8.0 и имена зарезервированы
Сообщения были разделены в тему "Шрифт для отображения штрих-кода" |
Сообщ.
#37
,
|
|
|
1C v7.70.024 & 1C++ v2.0.1.2
Создаем пустую форму (т.е. вообще без элементов), пытаемся ее в 1С открыть - не открывается. Это нормально, об этом ест предупреждение в FAQ по 1С++ Кидаем на форму статитеский текст - все в порядке, форма открывается. дальше... Добавляем в форму таблицу для ввода данных, режим - "на все окно", в таблицу выводим парочку ячеек с расшифровкой, пытаемся по ним (ячейкам) кликнуть. 1С падает. дальше... Добавляем на форму кнопку. Не привязываем ее ни к какой процедуре, она там просто висит (она даже не видна - у нас на все окно идет таблица ввода данных). Запускаем, и расшифровка работает, 1С не падает... все чудно /*сорри за сумбурность, я только на это наткнулась, и нахожусь в состоянии тихого шока...*/ |
Сообщ.
#38
,
|
|
|
1C v7.70.024 & 1C++ v2.5.0.3
Ошибочний код: ![]() ![]() Конт = 0; ОткрытьФорму(Док.ТекущийДокумент(),Конт); // Тут выполянем с этим контекстом какие-либо действия Конт.Записать(); Решение: в документе прописываем такую процедуру: ![]() ![]() Процедура тЗаписать() Записать(); Провести(); // Это по желанию. Можно дописать еще что-нибудь. КонецПроцедуры И после этого в обработке можно вызывать: ![]() ![]() Конт = 0; ОткрытьФорму(Док.ТекущийДокумент(),Конт); // Тут выполянем с этим контекстом какие-либо действия Конт.тЗаписать(); Для информации: 1С++ позволяет вызывать процедуры и функции контекста. Весьма удобная вещь. |
Сообщ.
#39
,
|
|
|
1С:Предприятие 7.7 (027)
Только что обнаружил странную фичу платформы. Запускается обработка загрузки выписок банка. Обработка пытается провести, загруженные выписки. Так как в виписках есть ошибки, то формируется отчет "Комментарий проведения". После чего обработка пытается сформировать свой отчет о загруженных документах. Так вот тут возникает проблема - обработка не находит исходную таблицу из текущей формы. И выдает сообщение "Файл Отчет не найден". А вот если отчет "Комментарий проведения" не формируется, то все работает нормально. Похожая проблема обсуждалась тут http://forum.shelek.ru/index.php/topic,5826.0.html Не долго думая решил проблему, переносом исходной таблицы из обработки в раздел общих таблиц. |
Сообщ.
#40
,
|
|
|
7.7.025
Если попробовать засунуть в список значений пустое значение неопределенного типа (именно типа, а не вида), то значение в список не добавится. Наткнулся на эту багу, когда писал процедуру копирования строки таблицы значений: ![]() ![]() Процедура КопироватьСтрокуТаблицы(Табл) КК = Табл.КоличествоКолонок(); ТС = Табл.НомерСтроки; СписЗначенийКолонок = СоздатьОбъект("СписокЗначений"); Для Инд = 1 По КК Цикл СписЗначенийКолонок.ДобавитьЗначение(Табл.ПолучитьЗначение(ТС,Инд)); КонецЦикла; Табл.НоваяСтрока(); ТС = Табл.НомерСтроки; Для Инд = 1 По КК Цикл Табл.УстановитьЗначение(ТС,Инд,СписЗначенийКолонок.ПолучитьЗначение(Инд)); КонецЦикла; КонецПроцедуры В таблице у одной колонки не задан тип и туда ничего не было записано, т.е. пустое значение неопределенного типа. В результате в список значений добавлялось меньше значений, чем нужно ==> красная ошибка на строке ![]() ![]() Табл.УстановитьЗначение(ТС,Инд,СписЗначенийКолонок.ПолучитьЗначение(Инд)); т.к. значений в списке меньше, чем колонок. |
Сообщ.
#41
,
|
|
|
7.7.021
При занесении одинакового ряда символьных значений в СписокЗначений и в ТаблицуЗначений различается порядок при сортировке. В списке получим: ананас банан ПЭРсик В таблице значений: ПЭРсик ананас банан Логику можно проследить и там и там, но могли бы уж сделать одинаково! ![]() |
Сообщ.
#42
,
|
|
|
1C 7.70.27
Реквизит формы справочника "Наименование" (строковый) не может иметь кнопку выбора. Причем в конфигураторе поле ввода рисуется с кнопкой. |
Сообщ.
#43
,
|
|
|
еще один глюк, при создании нового справочника, даже без реквизитов, при открытии его в режиме 1с: Предприятие 7.7, не отображаются реквизиты по умолчанию "Код" и "Наименование"
|
Сообщ.
#44
,
|
|
|
Fellinggood, ты видимо просто в конфигураторе открыл форму списка этого справочника и отказался от автоматического размещения реквизитов. После этого сохранил конфу и получил проблему.
|