На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:

  • Перед тем, как задать вопрос, желательно почитать документацию и воспользоваться поиском.
  • Когда задаёте вопрос, то обязательно указывайте платформу (7.7, 8.0, 8.1, 8.2, etc), причем желательно в заголовке. Если речь идёт о типовой конфигурации, то указывайте её название и релиз. Текущие версии можно посмотреть здесь.
  • Ещё раз напоминаем о необходимости соблюдать не только правила, но и законы. Уважайте авторские права.

Высказать своё мнение о модераторах раздела можно здесь: evGenius
  
> Что-то вроде bug report
    В данной теме предлагается постить инфу о различных глюках и багах в офисных продуктах от 1С.
    Для затравки вот здесь http://rom1c.narod.ru/bugs.html изложен bug track для 1С Предприятия 7.7 (Последнее обновление этого списка -- август 2002).

    А также кое-что из моего опыта:
    1. Глюк с "порядком сортировки". Если в system locales (в винде -- "Языки и Стандарты") стоит не Россия, то при загрузке Предприятия и его надстроек вполне может появиться сообщение "порядок сортировки в системе не соответствует порядку сортировки в базе данных", после чего Предприятие захлопывается. Натолкнулся я на это под 98ой виндой, где стояла в "Языках и Стандартах" Германия.   Лечению не подлежит, только путем смены параметров на русские. Так что если кому принципиально заиметь другие локали -- облом.
    2. Уже классический глюк с тем, что Предприятие не видит своего ключа. Лечения: а) деинтсалировать-установить драйвер ключа защиты; или б) инсталлировать Предприятие и прочие 1С-продукты предварительно воткнув оный ключ.

    Если кто еще сталкивался с какими глюками, связанными с самой программой (а не со "степенью ее лицензионности" ;) ) -- пишите сюда, возможно это поможет снять многие вопросы еще до того, как они будут заданы.
      Обнаружен глюк с отображением русских шрифтов в выпадающих меню под Windows XP SP1 eng в 1С Предприятие версии 7.7. Сами меню (Файл, сервис, журналы и т.д) отображаются корректно, а при клике на них выпадающие менюшки выводятся корявками. Ни одна рекомендация общего характера по WinXP для поддержки русских программ не помогла.
        По поводу русских шрифтов есть такая проблемма и не тольок в 1с, такая трабла встречается в программах Adobe и некоторых еще было замечено под W2k, в 1с это проявляется примерно так, при копировании таблиц/текста в ехель получаются всякие кракозяблы, исправляется так: в реестре находим ветку
        HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Nls\CodePage
        там  находим  параметр  1252 со значением c_1252.nls и меняем его на
        c_1251.nls  После  этих  диких  инсинуаций перегружаем комп
          В моём случае исправление данного ключа реестра ни к чему не привело. Всё осталось по-старому.
            Есть глюк с циклами:
            (синтаксис не 1C, но идея та же)
            j=10;
            for i=0 to i<j
             j=j-1;
            То этот цикл выполнится 10 раз
            Комментарий Искандера
            Хм, батенька, а чего вы собственно хотели? Изменять значение переменной границ цикла внутри цикла фор... Вещь весьма непредсказуемая... Так что я, честно говоря, скорее бы удивился, если бы оно выполнилось 5 раз, или сколько там ему положено.


            Da, a pochemu togda v drugih yazikah (v tom chisle i v kotoryh ludy ne nahodyat glukov - c++, basic, perl) takoe rabotaet, a v 1c, v kotoroy s novoy versiey poyavlautsya vsye bolee i bolee neobyasnimye gluki takoe ne rabotaet.
            Naprimer ya delau prosmotr spiska i udalyau nenuzhnye elementy, tak pochemu zhe tsykl ne dolzhen pereschityvatsya?
            Сообщение отредактировано: m_fox -
              Было такое желание - порадовать юзеров:
              чтобы, скажем, можно было найти все документы по товару, а потом, щелкнув на ячейке, открыть нужный документ, но не просто так, а подсветить ту строку, где он встретился.
              То есть надо открыть форму документа и сделать активной нужную строку документа.
              Делаю так:
              пДок - некий документ, скажем,

              пДок = пСчета.ТекущийДокумент;
              пКонтекст = "";
              ОткрытьФорму(пДок, пКонтест);
              пКонтекст.АктивизироватьСтроку(2);
              ...
              и не работает.
              А если сделать
              пКонтекст.Активизировать("ДатаДок");
              то станет активной дата документа........
              в чем дело?

              Добавлено в :
              Цитата m_fox,1.11.03, 13:58
              Есть глюк с циклами:
              (синтаксис не 1C, но идея та же)
              j=10;
              for i=0 to i<j
              j=j-1;
              То этот цикл выполнится 10 раз

              Da, a pochemu togda v drugih yazikah (v tom chisle i v kotoryh ludy ne nahodyat glukov - c++, basic, perl) takoe rabotaet, a v 1c, v kotoroy s novoy versiey poyavlautsya vsye bolee i bolee neobyasnimye gluki takoe ne rabotaet.
              Naprimer ya delau prosmotr spiska i udalyau nenuzhnye elementy, tak pochemu zhe tsykl ne dolzhen pereschityvatsya?


              по поводу глюка с циклами...
              это не глюк.
              известно, что в Паскале и 1С верхняя граница цикла вычисляется один раз, при инициализации цикла.
              а в С, похоже, условие проверяется после каждого шага
              Сообщение отредактировано: sp5 -
                Цитата
                iskander, 16.09.03, 15:16
                1. Глюк с "порядком сортировки". Если в system locales (в винде -- "Языки и Стандарты") стоит не Россия, то при загрузке Предприятия и его надстроек вполне может появиться сообщение "порядок сортировки в системе не соответствует порядку сортировки в базе данных", после чего Предприятие захлопывается. Натолкнулся я на это под 98ой виндой, где стояла в "Языках и Стандартах" Германия. Лечению не подлежит, только путем смены параметров на русские. Так что если кому принципиально заиметь другие локали -- облом.

                не совсем облом - в дбф-ной версии (почему-то в скуле нету :blink: ) в конфигураторе есть такой пункт меню "Администрирование\Кодовая страница таблиц ИБ" - там и устанавливается нужная ...
                  Твоя не прав. Разве что сами ребята из 1С этого не знают. ;-) У мя прям от них инфа:
                  Как мне они заявили, что это не лечится, и надо эти самые стандарты менять...
                    Цитата
                    iskander, 22.02.04, 09:45
                    Твоя не прав

                    хм.. но я-то делал так:
                    у меня в языках и стандартах - русский, а товарисчи из 1С-а (тех поддержка) присылают нам релизы с установленной украинской кодовой страницей - сначала я думал че за х... - не запускается, кричит туже ошибку - но теперь я вумный :) уже знаю что - к чему и сразу меняю кодовую страницу...
                    Цитата
                    iskander, 22.02.04, 09:45
                    Разве что сами ребята из 1С этого не знают. ;-)

                    :D

                    но я действительно это делал - если есть дбф-ная версия - попробуй...
                      Ну, подозреваю, Украинская и Русская, это да, это трабла. :))))))))
                      У меня просто Германская стояла...
                      Правда, у нас еще и SQLная версия...
                      Рад слышать, что хоть на дбфе оно лечится.
                        Цитата
                        iskander, 25.02.04, 05:58
                        Рад слышать, что хоть на дбфе оно лечится

                        а я не очень рад - т.к. у нас SQL-ная - если ее по тупому проапгрейдить - то она перестанет понимать кодовую страницу и никак это не вылечить
                        а присылают нам, как я говорил, дбф-ные обновления - вот я их и запускаю переставив сначала кодовую страницу, а потом выдергиваю то что обновилось в нашу SQL-ную... :huh:
                          Цитата BigPig @ 18.09.03, 10:04
                          Обнаружен глюк с отображением русских шрифтов в выпадающих меню под Windows XP SP1 eng в 1С Предприятие версии 7.7. Сами меню (Файл, сервис, журналы и т.д) отображаются корректно, а при клике на них выпадающие менюшки выводятся корявками. Ни одна рекомендация общего характера по WinXP для поддержки русских программ не помогла.

                          Сам недавно столкнулся с твоим глюком. Перепробовал добовлять шрифты из других машин, переставлять 1с, безрезультатно. Оказалось все просто.
                          В панели инструментов-Языки и стандарты поставь язык Русский и все будет телемаркет. Даже комп переобувать не надо.
                            Еще один глюк в 1с, не знаю есть ли он в SQL версии но в ДБФ он существует.
                            После продолжительной работы с базой через какоето время перестает грузится база. 1с вылетает по рантайм ошибке. Сначала думал что полетели либо структура каких либо дбф или сам мд файл. Оказывается со временем переполняется журнал сислог. Причем невозможно войти не в конфигуратор не в режим пользователя не в монитор пользователь
                            Лечится очисткай этого журнала. Заходишь в каталог с базой и удаляешь все файлы в папке syslog.
                              Недавно обнаруженный глюк с печатью.
                              На машине стояла Win98, принтер HP, струйный (не помню точно модели, что-то из новых)
                              При печати из 1С печатается изображение вдвое больше нормального.

                              Лечится понижением разрешения печати принтера до 300dpi (у людей сначала было 600)
                                Незнаю глюк ли это или где, но...
                                Опосля инсталляции 1с:Предприятие тыкаю в " установить драйвер заshitы", а он мне еррор выдает и драйвер не ставит.
                                Все это в ВинХР СП2
                                  Вот какую ошибку наблюдаю я.
                                  Офис работает в 1С на Win ХР домен с сервером для хранения, все как надо.
                                  Но у каждого несколько раз в день 1С вылетает сам по себе, не выдавая
                                  никаких ошибок и предупреждений.
                                    Суть глюка: Говорят, при добавлении в общие реквизиты документов строкового, с неограниченной длиной, происходит смертельный падёж 1С, если она пасётся на SQL2000 сервере.
                                    Кто-нить этот глюк исследовал? Бо у меня нет такого SQL2000 (есть 7.0 SP2, но на нём - всё тип-топ!)
                                    Начало темы здесь
                                      Есть ситуация:
                                      в форме журнала есть кнопка, по которой я создаю (автоматом) несколько новых документов (так же принадлежащих этому журналу)
                                      Код следующий:
                                      ExpandedWrap disabled
                                                Док = СоздатьОбъект("Документ");
                                                Для Инд = 1 по СписокМеток.РазмерСписка() Цикл
                                                    Док = СписокМеток.ПолучитьЗначение(Инд);
                                                    Состояние("Копирование... "+Инд+"/"+СписокМеток.РазмерСписка()+" "+Док);
                                                    Вид = Док.Вид();
                                                    Копия = СоздатьОбъект("Документ."+Вид);
                                                    Копия.Новый();
                                                    МетаДок = Метаданные.Документ(Вид);
                                                    Для ИндМ = 1 по МетаДок.РеквизитШапки() Цикл // Копирование шапки
                                                        Ид = МетаДок.РеквизитШапки(ИндМ);
                                                        Знч = Док.ПолучитьАтрибут(Ид);
                                                        Копия.УстановитьАтрибут(Ид,Знч);
                                                    КонецЦикла;
                                                    Для ИндТЧ = 1 по Док.КоличествоСтрок() Цикл
                                                        Копия.НоваяСтрока();
                                                        Для ИндМ = 1 по МетаДок.РеквизитТабличнойЧасти() Цикл // Копирование ТЧ
                                                            Ид = МетаДок.РеквизитТабличнойЧасти(ИндМ);
                                                            Знч = Док.ПолучитьАтрибут(Ид);
                                                            Копия.УстановитьАтрибут(Ид,Знч);
                                                        КонецЦикла;
                                                    КонецЦикла;
                                                    Копия.Записать();
                                                КонецЦикла;
                                                // копирование
                                                СписокМеток.УдалитьВсе();
                                                ОткрытьФорму("Журнал.ПлатежныеДокументы.ФормаСписка");

                                      СписокМеток - СЗ, в который заранее накиданы документы.
                                      Так вот, без последнего "ОткрытьФорму" в списке остается видимым только последний документ в верхней строчке.
                                      Сообщение отредактировано: Волченка -
                                        Цитата Волченка @
                                        в форме журнала есть кнопка...

                                        Imho, намудрила слегка..
                                        А вот так пробовала?
                                        ExpandedWrap disabled
                                                  
                                                  Для Инд = 1 по СписокМеток.РазмерСписка() Цикл
                                                      Док = СоздатьОбъект("Документ");
                                                      Док.НайтиДокумент(СписокМеток.ПолучитьЗначение(Инд)); //тут
                                                      Состояние("Копирование... "+Инд+"/"+СписокМеток.РазмерСписка()+" "+Док);
                                                      Вид = Док.Вид();
                                                      Копия = СоздатьОбъект("Документ."+Вид);
                                                      Копия.Новый();
                                                      МетаДок = Метаданные.Документ(Вид);
                                                      Для ИндМ = 1 по МетаДок.РеквизитШапки() Цикл // Копирование шапки
                                                          Ид = МетаДок.РеквизитШапки(ИндМ);
                                                          Знч = Док.ПолучитьАтрибут(Ид);
                                                          Копия.УстановитьАтрибут(Ид,Знч);
                                                      КонецЦикла;
                                                      //Тут много проще.. ;)
                                                      Т=СоздатьОбъект("ТаблицаЗначений");
                                                      Док.ВыгрузитьТабличнуюЧасть(Т);
                                                      Копия.ЗагрузитьТабличнуюЧасть(Т);
                                                      Копия.Записать();
                                                  КонецЦикла;
                                                  // копирование
                                                  СписокМеток.УдалитьВсе();
                                                  //ОткрытьФорму("Журнал.ПлатежныеДокументы.ФормаСписка");
                                        Сообщение отредактировано: Mechanic -
                                          Есть такой глюк.

                                          Microsoft радостно шагает навстречу будущему, будь оно неладно, и не очень понятными способами отказывается от обратной совместимости с программами для Win3.1, MS-DOS и проч. Так вот, это не совсем радостное событие, потому как замечено, что инсталлятор 1С-ки 7.7 сделан под Win3.1 или же Win32s.

                                          Как результат -- нецензурные ругательства оного инсталлятора на кривость винды в части 16-битной подсистемы.

                                          Но это можно побороть. Причина в том, что инсталлятор требует правильных config.nt и autoexec.nt.

                                          В моем случае спасло такое:

                                          config.nt
                                          Цитата
                                          files=40
                                          dos=high,umb
                                          device=%SystemRoot%\system32\himem.sys

                                          (Еще там был взвяк по поводу HASPDOS.SYS, но установщик хасповых дров должен его сам вставить -- не будем ему мешать)

                                          autoexec.nt
                                          Цитата
                                          @echo off
                                          set PATH=c:\windows\system32
                                          lh dosx.exe


                                          Оба файла должны лежать в %SystemRoot%\system32.

                                          Установка должна заработать, как часики. Для работы самой 1С эти пляски по большому счету не нужны. Хотя, впрочем, фиг их знает -- работает, ну и ладненько. Кто желает, может сделать эксперимент.

                                          Для особо любопытных: когда установщик ругается на непригодность для запуска autoexec.nt и/или config.nt, это не значит, что они таки непригодны, скорее всего, их совсем нет.

                                          Когда говорится, что DOSX.EXE должен наличествовать в Autoexec.nt, а также путь к нему -- быть прописанным в %PATH%, то это должно быть сделано. Оба пункта. Просто прописать PATH не получится. Просто запустить DOSX, судя по всему, тоже нет.
                                            v7.7

                                            Задача:
                                            необходимо сформировать список значений, элементами которого являются списки значений.
                                            (мне понадобилось для красивого древовидного выбора FormEx'ом).

                                            Пишем код:

                                            ExpandedWrap disabled
                                              СЗ = СоздатьОбъект("СписокЗначений");
                                              СЗ1 = СоздатьОбъект("СписокЗначений");
                                              //здесь - выборка бух. итогов по счету...
                                              БИ.ВыбратьСубконто(1);
                                              Пока БИ.ПолучитьСубконто(1)=1 Цикл
                                                  Состояние("Обсчет... "+БИ.Субконто(1)+" / "+СЗ.РазмерСписка());
                                                  
                                                  БИ.ВыбратьСубконто(2);
                                                  Пока БИ.ПолучитьСубконто(2)=1 Цикл
                                                      СЗ1.УдалтьВсе();
                                                      СЗ1.ДобавитьЗначение(БИ.Субконто(1),"Товар "+БИ.Субконто(1));
                                                      СЗ1.ДобавитьЗначение(БИ.Субконто(2),"Склад "+БИ.Субконто(2));
                                                      СЗ1.ДобавитьЗначение(БИ.СКД("К"),"Остаток: "+БИ.СКД("К")+"шт. "+ЧислоВОтчет(БИ.СКД("С"))+"руб.");
                                                      СЗ1.ДобавитьЗначение(БИ.Субконто(1).Код,"Код: "+БИ.Субконто(1).Код);
                                                      СЗ1.ДобавитьЗначение(БИ.Субконто(1).Артикул,"Артикул: "+СокрЛП(БИ.Субконто(1).Артикул));
                                               
                                                      СЗ.ДобавитьЗначение(СЗ1,
                                                 "#"+Формат(БИ.Субконто(1).Код,"С7")+" "+СокрЛП(БИ.Субконто(2))+": "+БИ.СКД("К")+"шт. "+ЧислоВОтчет(БИ.СКД("С"))+"руб."
                                                      );
                                                  КонецЦикла;
                                              КонецЦикла;


                                            Все вроде красиво, но на выходе во всех вложенных списках - только последняя запись.

                                            Решается так:
                                            ExpandedWrap disabled
                                              ТЗ1 = СоздатьОбъект("ТаблицаЗначений");
                                              ТЗ1.НоваяКолонка("К","СписокЗначений");
                                                          
                                              БИ.ВыбратьСубконто(1);
                                              Пока БИ.ПолучитьСубконто(1)=1 Цикл
                                                  Состояние("Обсчет... "+БИ.Субконто(1)+" / "+СЗ.РазмерСписка());
                                                          
                                                  БИ.ВыбратьСубконто(2);
                                                  Пока БИ.ПолучитьСубконто(2)=1 Цикл
                                                      ТЗ1.НоваяСтрока();
                                                      ТЗ1.К = СоздатьОбъект("СписокЗначений");
                                                                  
                                                      ТЗ1.К.ДобавитьЗначение(БИ.Субконто(1),"Товар "+БИ.Субконто(1));
                                                      ТЗ1.К.ДобавитьЗначение(БИ.Субконто(2),"Склад "+БИ.Субконто(2));
                                                      ТЗ1.К.ДобавитьЗначение(БИ.СКД("К"),"Остаток: "+БИ.СКД("К")+"шт. "+ЧислоВОтчет(БИ.СКД("С"))+"руб.");
                                                      ТЗ1.К.ДобавитьЗначение(БИ.Субконто(1).Код,"Код: "+БИ.Субконто(1).Код);
                                                      ТЗ1.К.ДобавитьЗначение(БИ.Субконто(1).Артикул,"Артикул: "+СокрЛП(БИ.Субконто(1).Артикул));
                                                                  
                                                      СЗ.ДобавитьЗначение(ТЗ1.К,
                                                 "#"+Формат(БИ.Субконто(1).Код,"С7")+" "+СокрЛП(БИ.Субконто(2))+": "+БИ.СКД("К")+"шт. "+ЧислоВОтчет(БИ.СКД("С"))+"руб."
                                                      );
                                                  КонецЦикла;
                                              КонецЦикла;


                                            т.е. вложенные списки заносим в ТЗ.
                                            Извращение, но работает.

                                            Почему не работает вариант 1 - неизвестно.
                                              Цитата Волченка @
                                              Все вроде красиво, но на выходе во всех вложенных списках - только последняя запись.

                                              Волченка, на самом деле ничего тут дивного нет. Просто при добавлении СЗ1 в СЗ мы добавляем линк, то есть указатель, а сам список один единственный, и мы его каждый раз чистим. Потому остаётся только последний вариант списка.
                                              Лечится просто: каждый раз создаём новый СЗ1.

                                              ExpandedWrap disabled
                                                СЗ = СоздатьОбъект("СписокЗначений");
                                                //здесь - выборка бух. итогов по счету...
                                                БИ.ВыбратьСубконто(1);
                                                Пока БИ.ПолучитьСубконто(1)=1 Цикл
                                                    БИ.ВыбратьСубконто(2);
                                                    Пока БИ.ПолучитьСубконто(2)=1 Цикл
                                                        СЗ1 = СоздатьОбъект("СписокЗначений"); //вот тут создаём n-й список
                                                        //СЗ1.УдалтьВсе(); //это немного не то, что нужно
                                                        СЗ1.ДобавитьЗначение(...);
                                                        СЗ1.ДобавитьЗначение(...);
                                                        СЗ.ДобавитьЗначение(СЗ1,..);
                                                    КонецЦикла;
                                                КонецЦикла;
                                                Хм, бага, однако!
                                                1С V7.7.025
                                                Пишу у реквизита с текстовым типом маску "NN.NN/NN.N.NNN". Теперь при вводе, скажем, "58. /20.1.20 " после потери фокуса в поле остается лишь "58. / 0.1.20 ". Лажа, блин. >:( Ладно хоть внутреннее представление вроде как нормальным осталось, только визуально такая ...
                                                  Цитата evGenius @
                                                  Хм, бага, однако!
                                                  1С V7.7.025


                                                  Гы. 1С V7.70.021 рулит ;) Там такого бага нет. Проверил.
                                                    Цитата Mechanic @
                                                    Гы. 1С V7.70.021 рулит ;) Там такого бага нет. Проверил.

                                                    Зато в вертикальном направлении текста в ячейке таблицы не рулит.
                                                      Цитата evGenius, 19.01.2006, 12:35:21, 989015
                                                      Теперь при вводе, скажем, "58. /20.1.20 " после потери фокуса в поле остается лишь "58. / 0.1.20 "
                                                      Не после потери фокуса. :no: - При выполнении формулы, назначеной контролу. Исчезает следующие символы после пропущеных.
                                                      Попробуй написать: "58.20/ .1.20"
                                                        Цитата Nadz Goldman @
                                                        а он мне еррор выдает и драйвер не ставит.
                                                        Все это в ВинХР СП2

                                                        Это не глюк 1С, это что то с виндой. У меня тоже не ставится драйвер ключа защиты, только не от 1С.
                                                        Пишет что еррор, невозможно создать виртуал драйв. Как вылечить не знаю.... <_<
                                                          Цитата Jureth @
                                                          При выполнении формулы, назначеной контролу. Исчезает следующие символы после пропущеных.

                                                          Формула не задана.
                                                            Цитата evGenius, 23.01.2006, 10:53:46, 993372
                                                            Формула не задана.
                                                            Хмм. <_< У меня если контрол без формулы, то ничего не происходит.
                                                              7.7 SQL
                                                              Допустим, есть справочник с автонумерацией и код у него текстовый, код последнего созданного элемента справочника заканчивается на одноразрядное число. Теперь если создать, не записывая, 10 элементов этого справочника, то 1С зависнет намертво, после этого при попытке создать элемент этого справочника в другой копии та копия тоже зависнет. До верификации структуры таблиц. У меня такие незаписанные элементы создавались в обработке.
                                                              Если последний созданный элемент заканчивается на двухразрядное число, то проблема обнаружится при создании 100 не записанных элементов и т.д. Глюк связан с автонумерацией, точнее с временным хранением новых присвоенных номеров в SQL-таблице _1SDNLOCK, касается также и документов, но они обычно заканчиваются многоразрядным числом, так что это не так актуально.
                                                                На компе очистили папку "temp". Вручную, просто снеся все что там было. После этого перестала запускаться 1С, причем только под определенным пользователем (который собсна и работал на этом компе). Просто при загрузке, еще до инициализации глобальника выдавала "программа выполнила недопустимую операцию и будет закрыта".

                                                                Решилась проблема снесением в реестре ключа с настройками пользователя (/HKCU/Software/1C/1Cv7/7.7/<DBName>/V7/<UserName>)
                                                                  Сам я так и не понял глюк это или нет, но я был крайне удивлён. Делал я вначале так (объясняю на более простом примере):
                                                                  ExpandedWrap disabled
                                                                    Список1 = СоздатьОбъект("СписокЗначений");
                                                                    Список2 = СоздатьОбъект("СписокЗначений");
                                                                    Для Н = 1 По 3 Цикл                    
                                                                        Список2.УдалитьВсе();
                                                                        Для НН = 1 По 3 Цикл
                                                                            Список2.ДобавитьЗначение(Н*10+НН);
                                                                        КонецЦикла;        
                                                                        Список1.ДобавитьЗначение(Список2);
                                                                    КонецЦикла;                          
                                                                     
                                                                    Для Н = 1 По 3 Цикл                            
                                                                        СписокСписка = Список1.ПолучитьЗначение(Н);
                                                                        Для НН = 1 По 3 Цикл
                                                                            Сообщить("Н="+Н+" НН="+НН+" Значение="+СписокСписка.ПолучитьЗначение(НН));
                                                                        КонецЦикла;
                                                                    КонецЦикла;


                                                                  а потом врубился в прикол и сделал так:

                                                                  ExpandedWrap disabled
                                                                    Список1 = СоздатьОбъект("СписокЗначений");
                                                                    Для Н = 1 По 3 Цикл                    
                                                                        Список2 = СоздатьОбъект("СписокЗначений");
                                                                        Для НН = 1 По 3 Цикл
                                                                            Список2.ДобавитьЗначение(Н*10+НН);
                                                                        КонецЦикла;        
                                                                        Список1.ДобавитьЗначение(Список2);
                                                                    КонецЦикла;                          
                                                                     
                                                                    Для Н = 1 По 3 Цикл                            
                                                                        СписокСписка = Список1.ПолучитьЗначение(Н);
                                                                        Для НН = 1 По 3 Цикл
                                                                            Сообщить("Н="+Н+" НН="+НН+" Значение="+СписокСписка.ПолучитьЗначение(НН));
                                                                        КонецЦикла;
                                                                    КонецЦикла;


                                                                  ...И кто-то после этого будет доказывать, что 1С не ООП ?! :)
                                                                    Это не глюк, это фича. А ООП тут не при чем, всего лишь реализация ссылок на переменые агрегатного типа.

                                                                    Добавлено
                                                                    ООП в 1С нет, т.к. ты не можешь создавать сам объекты в чистом виде, можешь только использовать встроенные.
                                                                    Сообщение отредактировано: evGenius -
                                                                      Ну ладно придираться к словам, вот, что я ещё накопал 7.7:
                                                                      ExpandedWrap disabled
                                                                        // Запустите эту процедуру у себя и наслаждайтесь.
                                                                        Процедура Сформировать()  
                                                                            Для НН = 1 По Метаданные.Справочник() Цикл
                                                                                Спр = Метаданные.Справочник(НН).Идентификатор;
                                                                                Сообщить("Проверка справочника "+Спр);
                                                                                С = СоздатьОбъект("Справочник."+Спр);
                                                                                С.ВыбратьЭлементы(0);
                                                                                Пока С.ПолучитьЭлемент() = 1 Цикл    
                                                                                    Состояние(С.ТекущийЭлемент());
                                                                                    Для Н = 1 По Метаданные.Справочник(Спр).Реквизит() Цикл
                                                                                        Рек = Метаданные.Справочник(Спр).Реквизит(Н);
                                                                                        Р = С.ПолучитьАтрибут(Рек.Идентификатор);
                                                                                        Если (ТипЗначенияСтр(Р) = "Справочник") И (ПустоеЗначение(Р) = 0) Тогда
                                                                                            Рвнутр1 = ЗначениеВСтрокуВнутр(Р);
                                                                                            РС = СоздатьОбъект("Справочник."+Р.Вид());
                                                                                            РС.НайтиЭлемент(Р);
                                                                                            Рвнутр2 = ЗначениеВСтрокуВнутр(РС.ТекущийЭлемент());
                                                                                            Если Рвнутр1 <> Рвнутр2 Тогда
                                                                                                Сообщить("В справочнике "+Р.Вид()+" у элемента "+Р+" что-то непонятное с внутр.значением");
                                                                                                Сообщить("    У ссылки="""+Рвнутр1+"""");
                                                                                                Сообщить("  У элемента="""+Рвнутр2+"""");
                                                                                            КонецЕсли;    
                                                                                        КонецЕсли;
                                                                                    КонецЦикла;
                                                                                КонецЦикла;
                                                                            КонецЦикла;
                                                                        КонецПроцедуры


                                                                      А если серьёзно может кто-нибудь ответить почему у некоторых элементов ЗначениеВСтрокуВнутр для ссылки не равно для элемента? (:)) может это фича?)
                                                                      Сообщение отредактировано: RusUdin -
                                                                        Ну просто иногда почему-то переменная определяется как переменная неопределенного типа, а иногда - определенного.
                                                                        Про формат возвращаемой строки: тут, тут и тут.
                                                                          имена полей в макете не могут содержать буквы cn, dn, и tn где n = число, потому что это особенность платформы 8.0 и имена зарезервированы

                                                                          Сообщения были разделены в тему "Шрифт для отображения штрих-кода"
                                                                            1C v7.70.024 & 1C++ v2.0.1.2
                                                                            Создаем пустую форму (т.е. вообще без элементов), пытаемся ее в 1С открыть - не открывается.
                                                                            Это нормально, об этом ест предупреждение в FAQ по 1С++
                                                                            Кидаем на форму статитеский текст - все в порядке, форма открывается.

                                                                            дальше... Добавляем в форму таблицу для ввода данных, режим - "на все окно", в таблицу выводим парочку ячеек с расшифровкой, пытаемся по ним (ячейкам) кликнуть. 1С падает.

                                                                            дальше... Добавляем на форму кнопку. Не привязываем ее ни к какой процедуре, она там просто висит (она даже не видна - у нас на все окно идет таблица ввода данных). Запускаем, и расшифровка работает, 1С не падает... все чудно

                                                                            /*сорри за сумбурность, я только на это наткнулась, и нахожусь в состоянии тихого шока...*/
                                                                              1C v7.70.024 & 1C++ v2.5.0.3

                                                                              Ошибочний код:
                                                                              ExpandedWrap disabled
                                                                                 Конт = 0;
                                                                                 ОткрытьФорму(Док.ТекущийДокумент(),Конт);
                                                                                 // Тут выполянем с этим контекстом какие-либо действия
                                                                                 Конт.Записать();
                                                                              1С выдает ошибку: "Конт.Записать() : Данная команда не может выполняться в форуле элемента диалога"

                                                                              Решение:
                                                                              в документе прописываем такую процедуру:
                                                                              ExpandedWrap disabled
                                                                                Процедура тЗаписать()
                                                                                    Записать();
                                                                                    Провести(); // Это по желанию. Можно дописать еще что-нибудь.
                                                                                КонецПроцедуры


                                                                              И после этого в обработке можно вызывать:
                                                                              ExpandedWrap disabled
                                                                                 Конт = 0;
                                                                                 ОткрытьФорму(Док.ТекущийДокумент(),Конт);
                                                                                 // Тут выполянем с этим контекстом какие-либо действия
                                                                                 Конт.тЗаписать();


                                                                              Для информации: 1С++ позволяет вызывать процедуры и функции контекста. Весьма удобная вещь.
                                                                                1С:Предприятие 7.7 (027)
                                                                                Только что обнаружил странную фичу платформы. Запускается обработка загрузки выписок банка. Обработка пытается провести, загруженные выписки. Так как в виписках есть ошибки, то формируется отчет "Комментарий проведения". После чего обработка пытается сформировать свой отчет о загруженных документах. Так вот тут возникает проблема - обработка не находит исходную таблицу из текущей формы. И выдает сообщение "Файл Отчет не найден". А вот если отчет "Комментарий проведения" не формируется, то все работает нормально.
                                                                                Похожая проблема обсуждалась тут http://forum.shelek.ru/index.php/topic,5826.0.html

                                                                                Не долго думая решил проблему, переносом исходной таблицы из обработки в раздел общих таблиц.
                                                                                Сообщение отредактировано: Pavlovsky -
                                                                                  7.7.025
                                                                                  Если попробовать засунуть в список значений пустое значение неопределенного типа (именно типа, а не вида), то значение в список не добавится. Наткнулся на эту багу, когда писал процедуру копирования строки таблицы значений:
                                                                                  ExpandedWrap disabled
                                                                                    Процедура КопироватьСтрокуТаблицы(Табл)
                                                                                        КК = Табл.КоличествоКолонок();
                                                                                        ТС = Табл.НомерСтроки;
                                                                                        СписЗначенийКолонок = СоздатьОбъект("СписокЗначений");
                                                                                        Для Инд = 1 По КК Цикл
                                                                                            СписЗначенийКолонок.ДобавитьЗначение(Табл.ПолучитьЗначение(ТС,Инд));
                                                                                        КонецЦикла;
                                                                                        Табл.НоваяСтрока();
                                                                                        ТС = Табл.НомерСтроки;
                                                                                        Для Инд = 1 По КК Цикл
                                                                                            Табл.УстановитьЗначение(ТС,Инд,СписЗначенийКолонок.ПолучитьЗначение(Инд));
                                                                                        КонецЦикла;
                                                                                    КонецПроцедуры

                                                                                  В таблице у одной колонки не задан тип и туда ничего не было записано, т.е. пустое значение неопределенного типа. В результате в список значений добавлялось меньше значений, чем нужно ==> красная ошибка на строке
                                                                                  ExpandedWrap disabled
                                                                                    Табл.УстановитьЗначение(ТС,Инд,СписЗначенийКолонок.ПолучитьЗначение(Инд));

                                                                                  т.к. значений в списке меньше, чем колонок.
                                                                                    7.7.021

                                                                                    При занесении одинакового ряда символьных значений в СписокЗначений и в ТаблицуЗначений различается порядок при сортировке.

                                                                                    В списке получим:
                                                                                    ананас
                                                                                    банан
                                                                                    ПЭРсик

                                                                                    В таблице значений:
                                                                                    ПЭРсик
                                                                                    ананас
                                                                                    банан

                                                                                    Логику можно проследить и там и там, но могли бы уж сделать одинаково! :wall:
                                                                                      1C 7.70.27
                                                                                      Реквизит формы справочника "Наименование" (строковый) не может иметь кнопку выбора. Причем в конфигураторе поле ввода рисуется с кнопкой.
                                                                                        еще один глюк, при создании нового справочника, даже без реквизитов, при открытии его в режиме 1с: Предприятие 7.7, не отображаются реквизиты по умолчанию "Код" и "Наименование"
                                                                                          Fellinggood, ты видимо просто в конфигураторе открыл форму списка этого справочника и отказался от автоматического размещения реквизитов. После этого сохранил конфу и получил проблему.
                                                                                          1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                                                                          0 пользователей:


                                                                                          Рейтинг@Mail.ru
                                                                                          [ Script execution time: 0,0912 ]   [ 14 queries used ]   [ Generated: 8.11.24, 23:20 GMT ]