Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.239.87.20] |
|
Страницы: (3) 1 [2] 3 все ( Перейти к последнему сообщению ) |
Сообщ.
#16
,
|
|
|
Вот какую ошибку наблюдаю я.
Офис работает в 1С на Win ХР домен с сервером для хранения, все как надо. Но у каждого несколько раз в день 1С вылетает сам по себе, не выдавая никаких ошибок и предупреждений. |
Сообщ.
#17
,
|
|
|
Суть глюка: Говорят, при добавлении в общие реквизиты документов строкового, с неограниченной длиной, происходит смертельный падёж 1С, если она пасётся на SQL2000 сервере.
Кто-нить этот глюк исследовал? Бо у меня нет такого SQL2000 (есть 7.0 SP2, но на нём - всё тип-топ!) Начало темы здесь |
Сообщ.
#18
,
|
|
|
Есть ситуация:
в форме журнала есть кнопка, по которой я создаю (автоматом) несколько новых документов (так же принадлежащих этому журналу) Код следующий: Док = СоздатьОбъект("Документ"); Для Инд = 1 по СписокМеток.РазмерСписка() Цикл Док = СписокМеток.ПолучитьЗначение(Инд); Состояние("Копирование... "+Инд+"/"+СписокМеток.РазмерСписка()+" "+Док); Вид = Док.Вид(); Копия = СоздатьОбъект("Документ."+Вид); Копия.Новый(); МетаДок = Метаданные.Документ(Вид); Для ИндМ = 1 по МетаДок.РеквизитШапки() Цикл // Копирование шапки Ид = МетаДок.РеквизитШапки(ИндМ); Знч = Док.ПолучитьАтрибут(Ид); Копия.УстановитьАтрибут(Ид,Знч); КонецЦикла; Для ИндТЧ = 1 по Док.КоличествоСтрок() Цикл Копия.НоваяСтрока(); Для ИндМ = 1 по МетаДок.РеквизитТабличнойЧасти() Цикл // Копирование ТЧ Ид = МетаДок.РеквизитТабличнойЧасти(ИндМ); Знч = Док.ПолучитьАтрибут(Ид); Копия.УстановитьАтрибут(Ид,Знч); КонецЦикла; КонецЦикла; Копия.Записать(); КонецЦикла; // копирование СписокМеток.УдалитьВсе(); ОткрытьФорму("Журнал.ПлатежныеДокументы.ФормаСписка"); СписокМеток - СЗ, в который заранее накиданы документы. Так вот, без последнего "ОткрытьФорму" в списке остается видимым только последний документ в верхней строчке. |
Сообщ.
#19
,
|
|
|
Цитата Волченка @ в форме журнала есть кнопка... Imho, намудрила слегка.. А вот так пробовала? Для Инд = 1 по СписокМеток.РазмерСписка() Цикл Док = СоздатьОбъект("Документ"); Док.НайтиДокумент(СписокМеток.ПолучитьЗначение(Инд)); //тут Состояние("Копирование... "+Инд+"/"+СписокМеток.РазмерСписка()+" "+Док); Вид = Док.Вид(); Копия = СоздатьОбъект("Документ."+Вид); Копия.Новый(); МетаДок = Метаданные.Документ(Вид); Для ИндМ = 1 по МетаДок.РеквизитШапки() Цикл // Копирование шапки Ид = МетаДок.РеквизитШапки(ИндМ); Знч = Док.ПолучитьАтрибут(Ид); Копия.УстановитьАтрибут(Ид,Знч); КонецЦикла; //Тут много проще.. ;) Т=СоздатьОбъект("ТаблицаЗначений"); Док.ВыгрузитьТабличнуюЧасть(Т); Копия.ЗагрузитьТабличнуюЧасть(Т); Копия.Записать(); КонецЦикла; // копирование СписокМеток.УдалитьВсе(); //ОткрытьФорму("Журнал.ПлатежныеДокументы.ФормаСписка"); |
Сообщ.
#20
,
|
|
|
Есть такой глюк.
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, судя по всему, тоже нет. |
Сообщ.
#21
,
|
|
|
v7.7
Задача: необходимо сформировать список значений, элементами которого являются списки значений. (мне понадобилось для красивого древовидного выбора FormEx'ом). Пишем код: СЗ = СоздатьОбъект("СписокЗначений"); СЗ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))+": "+БИ.СКД("К")+"шт. "+ЧислоВОтчет(БИ.СКД("С"))+"руб." ); КонецЦикла; КонецЦикла; Все вроде красиво, но на выходе во всех вложенных списках - только последняя запись. Решается так: ТЗ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 - неизвестно. |
Сообщ.
#22
,
|
|
|
Цитата Волченка @ Все вроде красиво, но на выходе во всех вложенных списках - только последняя запись. Волченка, на самом деле ничего тут дивного нет. Просто при добавлении СЗ1 в СЗ мы добавляем линк, то есть указатель, а сам список один единственный, и мы его каждый раз чистим. Потому остаётся только последний вариант списка. Лечится просто: каждый раз создаём новый СЗ1. СЗ = СоздатьОбъект("СписокЗначений"); //здесь - выборка бух. итогов по счету... БИ.ВыбратьСубконто(1); Пока БИ.ПолучитьСубконто(1)=1 Цикл БИ.ВыбратьСубконто(2); Пока БИ.ПолучитьСубконто(2)=1 Цикл СЗ1 = СоздатьОбъект("СписокЗначений"); //вот тут создаём n-й список //СЗ1.УдалтьВсе(); //это немного не то, что нужно СЗ1.ДобавитьЗначение(...); СЗ1.ДобавитьЗначение(...); СЗ.ДобавитьЗначение(СЗ1,..); КонецЦикла; КонецЦикла; |
Сообщ.
#23
,
|
|
|
Хм, бага, однако!
1С V7.7.025 Пишу у реквизита с текстовым типом маску "NN.NN/NN.N.NNN". Теперь при вводе, скажем, "58. /20.1.20 " после потери фокуса в поле остается лишь "58. / 0.1.20 ". Лажа, блин. Ладно хоть внутреннее представление вроде как нормальным осталось, только визуально такая ... |
Сообщ.
#24
,
|
|
|
Цитата evGenius @ Хм, бага, однако! 1С V7.7.025 Гы. 1С V7.70.021 рулит Там такого бага нет. Проверил. |
Сообщ.
#25
,
|
|
|
Цитата Mechanic @ Гы. 1С V7.70.021 рулит Там такого бага нет. Проверил. Зато в вертикальном направлении текста в ячейке таблицы не рулит. |
Сообщ.
#26
,
|
|
|
Цитата evGenius, 19.01.2006, 12:35:21, 989015 Не после потери фокуса. - При выполнении формулы, назначеной контролу. Исчезает следующие символы после пропущеных.Теперь при вводе, скажем, "58. /20.1.20 " после потери фокуса в поле остается лишь "58. / 0.1.20 " Попробуй написать: "58.20/ .1.20" |
Сообщ.
#27
,
|
|
|
Это не глюк 1С, это что то с виндой. У меня тоже не ставится драйвер ключа защиты, только не от 1С. Пишет что еррор, невозможно создать виртуал драйв. Как вылечить не знаю.... |
Сообщ.
#28
,
|
|
|
Цитата Jureth @ При выполнении формулы, назначеной контролу. Исчезает следующие символы после пропущеных. Формула не задана. |
Сообщ.
#29
,
|
|
|
Цитата evGenius, 23.01.2006, 10:53:46, 993372 Хмм. У меня если контрол без формулы, то ничего не происходит. Формула не задана. |
Сообщ.
#30
,
|
|
|
7.7 SQL
Допустим, есть справочник с автонумерацией и код у него текстовый, код последнего созданного элемента справочника заканчивается на одноразрядное число. Теперь если создать, не записывая, 10 элементов этого справочника, то 1С зависнет намертво, после этого при попытке создать элемент этого справочника в другой копии та копия тоже зависнет. До верификации структуры таблиц. У меня такие незаписанные элементы создавались в обработке. Если последний созданный элемент заканчивается на двухразрядное число, то проблема обнаружится при создании 100 не записанных элементов и т.д. Глюк связан с автонумерацией, точнее с временным хранением новых присвоенных номеров в SQL-таблице _1SDNLOCK, касается также и документов, но они обычно заканчиваются многоразрядным числом, так что это не так актуально. |