Отправляет email-рассылки с помощью сервиса Sendsay

1С: грабли, камни и бриллианты

  Все выпуски  

1С: грабли, камни и бриллианты


Информационный Канал Subscribe.Ru

Здравствуйте, уважаемые!
Вашему взору представлена рассылка "1С: грабли, камни и бриллианты" и
я ее ведущий Кружаев Валерий  krug@tula.net

Выпуск 16.

Сегодня публикую длинное письмо, которое хотелось бы обсудить с вами. Свое мнение
выскажу ниже.
__________________________________________________________________________
Добрый день глубоко уважаемый Валерий.

Во-первых, мысли и чувства в слух.
1. Спасибо огромное за рассылку.
2.  Вы  человек  который  исполняет  свои  обязательства  это вызывает
уважение.

3. До сих пор со всеми проблемами возникающими с 1С:Предприятием 7.7 я
старался  справляться самостоятельно, использую хелпы и большой опыт в
программировании,  но,  прочитав пару Ваших выпусков, понял что нельзя
тратить  черезмерное свое время в "пустую", проблемы которые возникали
и  будут  возникать  рано  или  поздно возникнут и у вас и у другого и
наоборот,  так  что  нужно  просто  читать и учится на чужих ошибках и
говорить о своих, что бы другие поучились не делать их.

Вы  сейчас  думаете  о  формате  рассылки  о тематике и так далее, это
понятно,  разрешите  дать  свое  мнение.

Рассылка должна решать одну задачу, читатель должен получать ответы на
вопросы  и  эти  вопросы должны приносить реальный результат. Освящать
проблемы  нужно  не  только программного характера на уровне написания
кода,  но  намного  шире.  Написанная  конфигурация,  вернее результат
внедрения  зависит  не  только  от написанного код но от многих других
факторов,  например:  техническое  обеспечение,  сеть,  работа       с
удаленными,  распределенными базами, знание "бухгалтерии" и об этом вы
должны говорить и просвещать.

1.  Проблема  бухгалтерии:  Многие  проблемы у меня возникали из-за не
понимания  или  недостаточного  понимания  бухгалтерии  и это я считаю
самым  главным  и  основным  фактором появления многих проблем. Нельзя
написать   "осознанный"   код   не  зная  бухгалтерии.  Я  подчеркиваю
"осознанный".  Все  типовые  конфигурации  не  в  полной мере отражают
реалии  даже  простого предприятия, речь идет не о полноте документов,
речь идет о функциональных возможностях конфигурации.

  Замечание:   1С   не   ставит   для   себя  задачу,  создание  такой
  конфигурации,  чтобы  бы  тогда  делали бы Вы или я. Кто бы чтобы не
  говорил  бы  о  специфике  любого  предприятия  и  что  для  каждого
  предприятия  нужна  собственная конфигурации, это по моему не совсем
  правда.  Основым  аргументом  в  мою  пользу считаю что все законы и
  бухгалтерские  стандарты  одинаковы  для  групп  предприятий,  а это
  автоматически  означает  что  любое  предприятие  не  может обладать
  спецификой   именно   в   бухгалтеском  учете.  Другое  дело  каждое
  предприятие  само  решает  как вести и имеет свою учетную политики,а
  это уже немножно другое.

Например,  превратите  МБП  в  ОС или наоборот, переместите материал с
счета  10.1 на счет 10.2. Это в свою очередь вызывает миллион проблем,
которые  влекут  пересмотра  очень  многих  вещей  в конфигурации. Как
говориться   не   каждый   бухгалтер  может  стать  программистом,  но
программист бухгалтером стать обязан.(Rasch Maslasky).

2.  Проблема  унификации:  вы  не  задумывались ли о том что почему не
развивается  в качественную сторону конфигурации, потому что не четкой
унификации.  Каждый  пишет  что  ему кажется удобно и правильно но это
приводит к тому что даже если вы и увидели правильное и лучшее решение
вы  обязательно будете исправлять его и подстраивать под себя, тратить
время.  Гораздо  проще создать определенные "модели", у которых строго
документированы   свойства.   Нечто  вроде  объектно  ориентированного
программирования.  В  этом  случае  будет  проще адаптировать объект к
нуждам    конкретного    предприятия    и    безболезненно   добавлять
дополнительные   свойства.  Прописать,  что  такое  ОС  прописать  все
свойства,  названия  и  так  далее.  Практически для всех национальных
стандартов  бухгалтерии  ОС остается ОС (основные средства)не зависимо
от плана счетов и проводок.

3.  Сетевые  проблемы:  Сетевые  решения  перспективны  и актуальны на
данный  момент.  Рано  или поздно любое предприятие создаст сеть будет
иметь  выход  в  интернет  и  будет торговать через интернет иначе это
предприятие не перспективно. Поэтому нужно большее внимание уделять не
только  по освещению самой проблемы, но давать конкретные рекомендации
по   архитектуре  сетевых  решений,  как  и  каким  образом  правильно
организовать распределенную систему.

4. Использование Интернета: Как ни крути, но наверное нужно освящать и
эту часть проблемы. Опять таки все в Интернет это точка конца и начало
успеха  любого  нормального  предприятия.  Точка  начала  конца,  если
предприятие   не  может  использовать  и  Точка  начала  успеха,  если
предприятие  может  использовать  для  продвижения  своей  продукции и
услуг.   Предприятия   не   покупают  1С:Предприятие  потому  что  она
популярная  и  красивая,  а потому что данная система позволяет делать
многие вещи. Этот аспект тоже должен освящаться.

5. Чайники и чайницы: Умный человек знает, что ничего не знает или чем
больше узнаешь тем больше понимаешь, что ты ничего не знаешь. Ничего в
этом  страшного  нет.  Но  мне кажется превращать рассылку в банальные
уроки,  это  не  эффективное  использование таких ресурсов которыми вы
обладаете  и  естественно,  если вы реально хотите чтобы люди, которые
прямо и косвенно связанные с 1С становились опытнее. Без условно нужно
уделять  внимание  урокам,  но  они  не должны занимать основную часть
рассылки.  Они  должны  быть  эффектными  и  яркими.  Например, урок с
запросами,  регистрами, расчетом и так далее. Я не могу знать все и вы
не  можете утверждать об этом, даже если вы работаете с 1С уже 10 лет,
потому что вы умный человек.

6.  Проблемы  ядра  1С:  очень  важная  тема, которую нужно освящать с
технической детализацией и более подробно.

С уважением Rasch Maslasky  mailto:rasch@vodiy.uz

--------------------------------------------------------
Некоторые из поднятых вами вопросов, скажем так, не входят в компетенцию ведущего
и читателей.
Их скорее можно адресовать к самой фирме 1С.
А по поводу содержания рассылки - это правда, но подводит некоторая нехватка
времени, этот проект ведь не является основным занятием.
В связи с этим обращаюсь также к активным подписчикам, желающим вносить свой
посильный вклад в рассылку - пишите мне и мы это обсудим.
И еще по поводу моих методов получения информации - в последнее время я не собираю
информацию про запас, а получаю ее непосредственно в момент, когда в ней возникла
необходимость.
Поэтому я не всегда в курсе последних событий в мире 1С, да целью рассылки и
не является информировать читателей о новостях.

_____________________________________________________________________________________
Хелло, Валерий!
цитата из рассылки:"Проверить не проверил, но заглянул в Excel и увидел, что
таблицу можно
сохранить как... , и там имеются три формата DBF. А загрузить из DBF - это уже
дело техники.
Попробуйте, и если не трудно, сообщите о положительных результатах. Народ вас
не забудет :)"
А какие есть соображения у народа?
Зачем так, если можно  иначе и проще, ведь 1С позволяет обращаться напрямую к
любой программе, используя ее методы:

Процедура Выполнить()
 Попытка
  Excel = СоздатьОбъект("Excel.Application");
 Исключение
  Сообщить(" Excel не установлен","!");
  Возврат;
 КонецПопытки;

 Excel.Workbooks.Open(Сокрлп(ИмяФайла));
 Книга = Excel.ActiveWorkbook;
 Строк = Excel.Cells.CurrentRegion.Rows.Count;
 НачатьТранзакцию();
 Для ТекСтрока = 1 По Строк Цикл
знач1 = Excel.Cells(ТекСтрока, 1).Value; //1 - номер столбца в екселе
знач2 = Excel.Cells(ТекСтрока, 2).Value; //2 - номер столбца в екселе
значN = Excel.Cells(ТекСтрока, N).Value; //N - номер столбца в екселе
// а знач1, знач2 - сами знаете, что делать, добавлять в справочник через
спр.Новый();
  КонецЕсли;
 КонецЦикла;
 ЗафиксироватьТранзакцию();
 Excel.Visible = 1;
КонецПроцедуры

Прошу опубликовать мое письмо в рассылке. Кстати, в своей рассылке вы слишком
много задаете вопросов читателям и слишком часто обращаетесь за помощью, и в
многих случаях даете просто некомпетентные ответы. Лучше уж посоветуйте всем
сразу идти на форум
http://www.kuban.ru/cgi-bin/forum/forum9.cgi
З найкращими побажаннями, Fedir.  E-mail: fed@expres.lviv.ua
------------------------------------------------------
Очень хороший совет по решению поставленной задачи, спасибо.
А по поводу последних строк, у меня к вам вопросы:
1. Если вы высказываете такое мнение, то почему вы до сих пор подписаны? Я ведь
вам не навязывался.
2. А где тогда ваша рассылка? Существует такое золотое правило: <Критикуя - предлагай,
предлагая - возглавляй> , в связи с чем приглашаю вас к соавторству в рассылке,
как компетентого в некоторых вопросах человека. Не исключено, что убедившись
в том, что вы не запустите проект, я вам передам доступ к управлению рассылкой.
3. Вы уверены, что все могут свободно перемещаться в интернете? И как быть тем,
кто только почту и получает, а форумы для них недоступны?

Тем не менее форум действительно хороший, рекомендую посмотреть. Когда-то я там
бывал, когда только начинал.

____________________________________________________________________________________
Доброго времени суток!
Я пока еще не волшебник, я только учусь, поэтому если возможно помогите советом.
У меня есть два справочника: А и Б. Справочник Б является подчиненным справочнику
А. Оба справочника очень просты
и редактируются в строке. Необходимо при сохранении элемента справочника А сразу
автоматически создавать
подчиненный ему справочник Б с несколькими элементами, например, "1","2", "3".
Спасибо за помощь.
С уважением, Алина.
-------------------------------------------------------
Поскольку обратиться к подчиненному справочнику можно только для существующего
элемента, то вариант прописывать нужную обработку в предопределенной процедуре
приЗаписи() не получится.
Для таких целей я обычно использовал редактирование элемента не в строке, а в
диалоге, и ПриЗакрытии() в форме элемента уже прописывал нужные строки.

Процедура ПриЗакрытии()
        спр = СоздатьОбъект("Справочник.Подчиненный");
        спр.ИспользоватьВладельца(ТекущийЭлемент());
        Если спр.НайтиПоНаименованию("1",1,0)=0 Тогда
                спр.Новый();
                спр.Наименование = "1";
                спр.Записать();
        КонецЕсли;
        Если спр.НайтиПоНаименованию("2",1,0)=0 Тогда
                спр.Новый();
                спр.Наименование = "2";
                спр.Записать();
        КонецЕсли;
        Если спр.НайтиПоНаименованию("3",1,0)=0 Тогда
                спр.Новый();
                спр.Наименование = "3";
                спр.Записать();
        КонецЕсли;
КонецПроцедуры

Процедура ПриЗакрытии() отрабатывается после ПриЗаписи(), так что всё работает.
Поскольку мы можем закрывать и форму существующего элемента, то сначала проверяем
на присутствие нужных нам элементов. И если их нет - создаем.
Возможно, существует и вариант делать это в списке, но у меня обычно нет желания
углубляться в дебри, когда существует простое решение, если, конечно, оно не
влияет на быстродействие. Тут постараться не помешает.

_______________________________________________________________________________
Здравствуйте, Валерий!
Вот, что я "хотела бы узнать", но не знаю, у кого спросить. А дело в том, что
после перехода на ред.4.2 "Бухгалтерии 7.7" при работе пользователей программа
выдает сообщение такого содержания: "Программа 1cv7" вызвала сбой при обращении
к странице памяти в модуле user.exe по адресу 0003:0000a5d4". Затем всех выкидывает
из программы. Мучаемся с начала года.
Пробовала удалять каталог USRDEF. Заново заносила пользователей-не помогло.
Установлена сетевая "1С:Предприятие 7.7. Бухгалтерия."
Релиз программы 18. 5 пользователей.
База установлена на "сервере": ОЗУ 256, PIII 733МГц, LAN 100Мбит, HDD 20Гб свободно.
Рабочие станции на базе Cel533, ОЗУ 64Мб. Коммутация через HAB Office Connect
3COM.
В чем же здесь проблема? Может быть подскажете, куда можно обратиться?
-----------------------------------------------------
Скорее всего виновата не 1С, а операционная система или чипсет материнской платы
на определенной машине. У меня подобное было, когда на машине с 810 (!) чипсетом
(для непосвященных - это набор микросхем для материнской платы компьютера, довольно
слаьенький и глючный) стояла 1С с парой открытых баз, звучала музыка и по сети
на ее принтер еще задание приперлось. "Не вынесла душа поэта" такой наглой перегрузки.
Спасло перекидывание принтера на другую машину на 815 чипсете.
В таком случае пользователи на других машинах не выпадают, хотя существует опасность
потери данных. А если новый пытается войти, программа требует переиндексации.
Но поскольку выпадают все, скорее всего нужно копать под сервер где база установлена.
Естественно, Бух.4.2 потяжелее будет ее предшественников, там наворотили с этим
налоговым учетом выше крыши.

________________________________________________________________________________
Здравствуйте, уважаемый ведущий!
 
Работаю с ole-объектами - перекачиваю данные из "Зарплаты" и "Фондов" в "Бухучет".
Временами натыкаюсь на мелкие проблемы - то элемент справочника, взятый в одной
компоненте, другая компонента напрямую не понимает. Приходится делать НайтиПоКоду();
То журнал расчетов не хочет обрабатывать по АмОС.ВыбратьПериод(ДатаВыборки);
к примеру.
Может быть есть кто-то, кто активно работал с ole-объектами и на опыте все эти
мелкие проблемки прошел? Может быть подскажут что-нибудь полезное?
 
Например такое:
 
Объявлено:
АмОС=zp.CreateObject("ЖурналРасчетов.Амортизация");
 ДокР=zp..CreateObject("Документ.РаспределениеИзноса");
В журнале "Амортизация" есть реквизит "Распределение" = Документ.РаспределениеИзноса
 
Ищем документ:
ДокР.НайтиДокумент(АмОС..Распределение);
 
Ругается. Говорит: "Недопустимая операция" Похоже - не понимает двойную ссылку
на ole-объект?

Света
-------------------------------------------------------------
А разве двойные ссылки в 1С применяется? Мне не приходилось такое встречать.
Напомню, что OLE-объекты имеют ограничение на использование. Т.е. управление
данными возможно, т.е. позиционирование, создание, удаление.
Но сравнение или присвоение возможно только для базовых типов данных: строка,
число, дата.
Вы можете в этом убедиться, вызвав в отладчике просмотр содержимого явно спозиционированного
ОЛЕ-объекта. Там будет пусто. А вот если вызвать реквизит строкового типа этого
объекта, например, ОЛЕ_Спр.наименование, вы его увидите. То же самое касается
поиска и сравнения.

Значит, вам нужно сделать:
ДокР.НайтиПоНомеру(АмОС.Распределение.НомерДок,);
а для справочников - НайтиПоКоду() или НайтиПоНаименованию(), но не НайтиЭлемент().

____________________________________________________________________________________
Добрый день, Валерий.
Может быть, вы сможете меня вразумить. Я увидел следующую доработку отчета 1С:
при сохранении таблицы отчета как xls-файла происходит замещение точек в форматном
представлении чисел в
mxl-таблице, на запятые, чтобы пользователь мог еще дополнительно сделать их
отчета что-то еще в Excel.Связаться с
программистом, выполнившим эту работу я не смог. А у самого не появилось никаких
идей как это возможно. Текст
модуля отчета также не навел ни на какие размышления. В форме таблицы тоже ничего
необычного нет. У меня достаточно
большой опыт программирования в 1С, но в данном случае чувствую себя новичком.
Помогите пожалуйста.
                           Александр
------------------------------------------------------------
Похоже, помочь не смогу. Как-то приходилось без Excel обходиться. А кто знает
и подскажет?

____________________________________________________________________________________
Существует ли конвертор из mxl в xls ?
Юрий
----------------------------------------------------
А через файл->сохранить как... и выбрать вид: таблица Excel?

____________________________________________________________________________________
> Есть такая процедура для объекта типа "Документ" -
> ВыбратьПодчиненныеДокументы().

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

Использовать метод ВыбратьПодчиненныеДокументы() для решения поставленной задачи
можно только при условии, что в структуре документа будет добален реквизит ДО
типа.Документ.ХХХХХ (гда ХХХХХ - тип самого документа). При вводе на основании
указанный реквизит должен заполняться:
ДО = ДокОсн;  //ДокОсн - передается в процедуру ВводНаОсновании()

С уважением,
      Фадеев Евгений,
      E-mail: ef@delta.udm.ru
----------------------------------------------------
Грамотное дополнение, спасибо. Я всё забываю, что не все могут создавать реквизит
ДокументОснование. Я то по привычке всегда это делаю и посчитал само собой разумеющимся.
И даже не знаю, как этот метод отработает при отсутствии такого реквизита.

____________________________________________________________________________________
По поводу:<...с этого года амортизация начисляется только на те
основные средства, которые стоят больше 10 тыс.рублей, остальные
списываются в производство.> Это не совсем так, точнее, совсем не так. Данное
ограничение
действует только при расчете налога на прибыль (надо читать НК!), а собственно
амортизация
считается с любой суммы. Амортизация, учитываемая при расчкте налога на прибыль
учитывается на
забалансовых "налоговых" счетах - см. внимательнее план счетов и мануал 1С
----------------------------------------------------
еще ответ:
____________________________________________________________________________________
Я предлагаю сделать 2 учета (ведущихся параллельно). Один - по правилам, то есть
амортизация начисляется на ОС, стоящие более 10 тыс. Остальные списываются. Сделать
все счета по этим операциям балансовыми. Второй учет (по просьбе руководства)
сделать забалансовым. Забалансовый счет учета ОС, счет амортизации и прочее.
Когда нужно будет данные по амортизации списанных ОС, их можно будет достать
из забалансового счета.

Наверняка, в забалансовых счетах нужно будет отражать амортизацию только тех
ОС, которые списываются. В зависимости от удобства извлечения  данных из забалансового
учета в балансовый.

Не знаю, как еще по-другому вести две операции по ОС (списание и амортизацию),
как не разделить их на два разных учета: Балансовый (реальный), и забалансовый
(нереальный-запасной).

Удачи вам!!!

С уважением, Дина.

Dina_Rachevskaya@tut.by
-----------------------------------------------------
 
____________________________________________________________________________________
Добрый день.
Вопрос:
В конф. я пытаюсь удалить справочник "Банки", а мне в ответ сообщение: данный
справочник используется в Журале расчетов "Новый1", а у меня в конф. вообще нет
никаких Журналов расчетов. Как от этого избавиться ???
Эаранее благодарен.
Евгений.
-----------------------------------------------------
Там в табло при удалении объектов из конфигурации выскакивают объекты, в которых
фигурирует удаляемый. Если по ним кликнуть - они открываются.
Ну а если там у вас пусто - значит глюк, скорее всего, и надо как-то лечить.
Попробуйте загрузить измененную конфигурацию или объединить МД-ник с пустой конфигурацией
без этого справочника.


А напоследок по вопросу из 15-го выпуска:
____________________________________________________________________________________
Регистры оборотов не рассматриваются
Периодичность хранения остатков в регистрах остатков - месяц

Но в предприятии (коли монопольно) - управление оперативными итогами -
периодичность сохранения остатков - месяц
Вопрос игрался ли кто-то с этим свойство

Но можно и меньше
Теоретически если меньше (мин. 5 дней) то база будет больше, а запросы быстрей
Пример 1 месяц
запрос с 18.03 по 25.03
сообщения системы - расчет итогов на 18.03
Алг. берется остатки на 01.03 прибавляются движения за 18 дней

Пример 5 дней
запрос с 18.03 по 25.03
сообщения системы - расчет итогов на 18.03
Алг. берется остатки на 15.03 прибавляются движения за 3 дня
Отлично

Но при записи движений например за 28.02
система будет обновлять остатки за 01.03, 05.03, 10.03 ..... до ТА

Вопрос будет ли это оптимальней работать
Может кто считал статистику

ЗЫ если нет, значит сам буду камикадзай
---------------------------------------------------------
Честно говоря, не представляю, для чего это может понадобиться. Ну разве что
в конторе, где часто меняют документы задним числом. Там ведь часто пересчет
регистров делают. Но с другой стороны при таком подходе обновление остатков тоже
будет тормозить...
А в документации мне навскидку ничего не попалось на эту тему.



Ну вот вроде и всё сказал на сегодня.

Пишите мне о том, что вы хотели бы знать, но стеснялись спросить :)
Приветствуются все предложения, пожелания, а также ругательства в мой адрес.

Только хочу предупредить, что во избежание недоразумений ваши письма должны иметь
явное указание на разрешение или запрещение публикации их в рассылке.
По умолчанию считается, что письмо публиковать разрешено.
Если вы в теле письма указали адрес, я буду его тоже указывать.
Но специально из реквизитов письма адрес извлекаться не будет.
Это нормально и общепринято. Не так ли?
Впрочем, как известно, известные люди имеют в своем использовании больше денежных
знаков...
Так что решать вам, светиться или отсиживаться.

До встречи, господа!

Написать ведущему krug@tula.net
Адрес рассылки: http://subscribe.ru/catalog/inet.review.cool1c
Архив рассылки: http://subscribe.ru/archive/inet.review.cool1c
Рассылки Subscribe.Ru
1С: грабли, камни и бриллианты


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное