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

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

  Все выпуски  

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


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

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

Выпуск 17.


_________________________________________________________________________
Добрый день!

Вопрос 1
В 1С.Торговле не мог найти поля связанные со сроком реализации товара и ее
сертификатом.
А для продовольственных товаров они необходимы при выдачи накладных.
Где и как их найти, желательно один раз ввести их при поступлении партии
товара, а потом они сами проставлялись бы в расходе, в зависимости от партии
товара.

Вопрос 2
Вроде бы ничего не изменяли (1С- только смена версии Зарплата до 209), но
вдруг стали неправильно переходить остатки на начало следующего месяца. Аналогично
начинает появляться и в бухгалтерии.
В чем проблема.

С уважением. Сергей
sergey_1st@mailru.com
------------------------------------------------------------
Недавно приходилось делать такую вещицу для проверки сроков годности товаров.
Добавил регистр СрокиГодности с измерениями Товар и СрокГодности, А в приходных
документах (пр.накл. и Оприх. излишков) добавил реквизит в таблице СрокГодн и
прописал в модуле:

спр = СоздатьОбъект("Справочник.Номенклатура");
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
 ......
//Попутно прописываем в регистр сроков годности
Если Количество > 0 Тогда
        Если ПустоеЗначение(СрокГодн)=1 Тогда
           Регистр.СрокиГодности.ДвижениеПриход(Товар,'01.01.15',Количество*Коэффициент);
        Иначе
           Регистр.СрокиГодности.ДвижениеПриход(Товар,СрокГодн,Количество*Коэффициент);
        КонецЕсли;
КонецЕсли;
КонецЦикла;

Это заводит товары в разрезе сроков годности. Причем если срок не указан, то
указываю его принудительно на 2015 год.

А в расходных документах (Расх.накл. и списание) прописал в модуле:

Рег = СоздатьОбъект("Регистр.СрокиГодности");
Если ИтогиАктуальны()=0 Тогда
        Рег.ВременныйРасчет();
        РассчитатьРегистрыНа(ТекущийДокумент());
КонецЕсли;
ТабОст = СоздатьОбъект("ТаблицаЗначений");
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
        ВремКолич = Количество*Коэффициент;
        Рег.УстановитьФильтр(Товар,);
        ТабОст.Очистить();
        Рег.ВыгрузитьИтоги(ТабОст,1);
        ТабОст.Сортировать("+СрокГодности");
        ТабОст.ВыбратьСтроки();
        Пока ТабОст.ПолучитьСтроку()=1 Цикл
          Если ВремКолич > ТабОст.ОстатокТовара Тогда
            Регистр.СрокиГодности.ДвижениеРасход(Товар,ТабОст.СрокГодности,ТабОст.ОстатокТовара);
            ВремКолич = ВремКолич - ТабОст.ОстатокТовара;
          Иначе
            Регистр.СрокиГодности.ДвижениеРасход(Товар,ТабОст.СрокГодности,ВремКолич);
            ВремКолич = 0;
            Прервать;
          КонецЕсли;
        КонецЦикла;
КонецЦикла;

Здесь я выбираю остатки текущего товара в разрезе сроков годности, потом в таблице
сортирую сроки по возрастанию и списываю самый ранний.

А затем ПриНачалеРаботыСистемы() или где вам унодно делаю запрос:

        Перем Запрос, ТекстЗапроса, Таб;
        //Создание объекта типа Запрос
        Запрос = СоздатьОбъект("Запрос");
        ТекстЗапроса =
        "//{{ЗАПРОС(Сформировать)
        |Без итогов;
        |Товар = Регистр.СрокиГодности.Товар;
        |СрокГодности = Регистр.СрокиГодности.СрокГодности;
        |ОстатокТовара = Регистр.СрокиГодности.ОстатокТовара;
        |Функция ОстатокТовараКонОст = КонОст(ОстатокТовара);
        |Группировка Товар без групп;
        |Группировка СрокГодности;
        |Условие(ПустоеЗначение(СрокГодности)=0);
        |Условие(СрокГодности < ТекущаяДата()+10);
        |"//}}ЗАПРОС
        ;
        // Если ошибка в запросе, то выход из процедуры
        Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
                Возврат;
        КонецЕсли;

        // Подготовка к заполнению выходных форм данными запроса
        Таб = СоздатьОбъект("Таблица");
        Таб.ИсходнаяТаблица("СрокиГодности");
        // Заполнение полей "Заголовок"
        Таб.ВывестиСекцию("Заголовок");
        Состояние("Заполнение выходной таблицы...");
        Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
        Пока Запрос.Группировка() = 1 Цикл
                // Заполнение полей Сформировать
                Таб.ВывестиСекцию("Сформировать");
        КонецЦикла;
        Если Запрос.Группировка() = 1 Тогда
                // Вывод заполненной формы
                Таб.ТолькоПросмотр(1);
                Таб.Показать("СрокиГодности", "");
        Иначе
                Таб=0;
        КонецЕсли;

И вывожу остатки товаров в таблицу по условию, что срок годности этого товара
через 10 дней истекает и количество товара.
Обратите внимание, повторный запуск запроса не в цикле, а в условии позволяет
проверить, есть ли там вообще что показывать, и если нет - таблица обнуляется.
По такому же принципу можно и сертификаты прописывать в регистр вместо сроков
годности, а потом выбирать самые ранние и списывать товар, показывая номер сертификата
где надо.

А по поводу остатков в бухгалтерии и зарплате, поскольку лично проблем не испытывал
вообще, да и тема уже поднималась, от комментариев воздержусь. Может кто прокомментирует?


_______________________________________________________________________________________
Валерий,раз вы включили мое письмо в рассылку, может быть читателям будет интересно
и полезно узнать ответ на мой
вопрос о корректном переносе mxl-таблиц в xls-файлы.
Для этого нужно выполнить два требования:
1. Числа в таблицу нужно писать по формату "Чm.n.". Последняя точка важна.
2. Положение записи в ячейке нужно установить "Право"
При этом Excel будет воспринимать записи как числа. Последнюю точку в формате
можно, конечно, заменить на запятую,
но при этом пропадет нужный эффект разного представления таблиц в 1С и в Excel.
                                   
                                                 Александр
-------------------------------------------------------------------
Еще на ту же тему:
_______________________________________________________________________________________
По поводу работы в EXELE с таблицами создаными в 1С.

Я давно мучаюсь с этой проблемой и нашел наверное самый простой способ
ее решения: достаточно поменять в настройках операционной системы
такой параметр как разделитель десятичный знаков с запятой на точку.
Все остальное решается в Ofice XP самостоятельно, при открытии такой
таблицы офис сам предлагает сконвертировать неправельный форматы
ячеек. Единственный нюанс с датами, если вы используюте данные с
датами из 20-го века, то отображение дат в 1С должнобыть 4-х значным.
Есть еще одна трудность, которая возникает при написании формул в
строке функций. Имена полей (столбцов) в 1С-ких таблицах обозначаються
цифрами, при необходимости можно просто скопировать данные в
нормальную таблицу. А так при автоматизированом составлении формул
проблем не возникает.

Большое спасибо за рассылку.
--------------------------------------------------------------------


_______________________________________________________________________________________
По поводу автоматического создания подчиненных элементов справочника дополнение:

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

Уточнение: Признак того, что элемент записан, лучше вначале обнулить (в
процедуре ВводНового()).
И присвоить в 1 (создан) после описания всех процедур. Признак должен быть
описан, как переменная, доступная во всех процедурах модуля данного
справочника.

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

Dina_Rachevskaya@tut.by
---------------------------------------------------------------------


________________________________________________________________________________________
Добрый день, Валерий.
Возможно, смогу помочь Александру, который интересуется по поводу
замещения точек в mxl-файле на запятые в Excel. Проблема эта для нашей
конторы старая, и связана не только с таблицами 1С. Решается она
просто: в панели управления Windows, компонента "Язык и стандарты",
делаются установки : Разделитель цел. и дробн. частей числа - ".",
разделитель групп разрядов - ",", разделитель эл-тов списка - ",".
Подобное и в закладке "денежная единица". Это позволяет получать
данные во всех программах, используемых на компьютере, в одинаковом
формате. (Нашего руководителя, например, раздражало, когда один
сорудник приносит ему отчет, в котором целая и дробные части чисел разделены
запятой, а в другом документе этим символом разделены разряды). Таким образом,
формат чисел
Excel будет совпадать с форматом
1С, и никаких обработок не нужно.
А вот ответ на свой вопрос, почему при экспорте моего отчета в Excel
даты заменяются числами, я так не нашла. В отчетах стандартной конфигурации такого
не
происходит. У меня в отчет выводится элемент таблицы значений, содержащий
дату. Пробовала указывать разные форматы даты, не помогает. У нас установлена
1С:Предприятие
7.70.018 SQL. Может, кто все-таки поможет.
С уважением, Екатерина.
----------------------------------------------------------------------
Может, кто-то поможет?


_______________________________________________________________________________________
Добрый день.
Как в справочнике отобрать документы не по значению, а по условию, т.е. не 1,2,5
, а <3 или >2 и т.п. Если держать вспомогательный
реквизит, который при открытии заполнять 0 или 1 при переборке всех элементов,
то как сделать это быстро для машины ( Записать() работает очень медленно).
Евгений.
-------------------------------------------------------------------
Не совсем понятно в каком справочнике нужно отбирать документы, но если это то,
о чем я думаю, то наверное нужно этот вспомогательный реквизит прописывать в
процессе работы или на худой конец делать выборку в таблицу значений по необходимому
условию, например, сгрузить всё, отсортировать по условию и лишние строки отсечь,
а из нее уже выбирать. Вроде работа с памятью должна быстрее производиться.


______________________________________________________________________________________
Здравствуйте уважаемый Валерий!

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

--
Best regards,
 Василий                          mailto:ponomarjov@alrus.stavropol.ru
-------------------------------------------------------------------------
Я тут сам недавно попал на том, что субконто2 и больше на количественных счетах
не показывает промежуточные суммы, а только количество. Кто хорошо знает бухгалтерию,
подскажите товарищу и мне заодно :)


_______________________________________________________________________________________
Здравствуйте, Валерий.
Читаю вашу рассылку, и много интересных и полезных вещей узнала.
Но у меня тоже возник вопрос.
 Как поступают с ситуацией , когда материал с одного балансового счета
 передается на другой балансовый счет.
 Например( материал может покупаться как комплектующее, а в дальнейшем
 использоваться как  запасные части).
 Ведь типовой конфигурации 1С-Бухалтерия (7.7-4.26) балансовый счет
 однозначно определяется у материала в справочнике материалы.

 --
С уважением,
 Хазипова О.В                          mailto:hazipova@irz.ru
--------------------------------------------------------------------------
В новых редакциях такие суровые подвязки всех данных на регламентную отчетность,
что я уже и не рискую что-то сильно менять, если узнаю, что клиент использует
эту отчетность :)



________________________________________________________________________________________
Многие документы не имеют многострочной части, и при их проведении проводки
строятся на основании неких правил (допустим, амортизация - это всегда кредит
02,
и нет необходимости перечислять все ОС в табличной части). А можно ли построить
запрос таким образом, чтобы получить доступ ко всем проводкам, которые генерит
при проведении документ определенного вида, и упорядочить их по дебету, потом
по
кредиту? Я пробовал пойти таким путем: делал выборку по операциям и ставил условие
"Операция.ТекущийДокумент.Вид()="АмортизацияОС" - ничего не выбиралось.

                                                     Victor
                         mailto:Grigorych@inbox.ru
--------------------------------------------------------------------------
Если у вас не критично время выборки, попробуйте так:

Опер = СоздатьОбъект("Операция");
Опер.НайтиОперацию(ВыбрДокумент);
Опер.ВыбратьПроводки();
Пока Опер.ПолучитьПроводку() = 1 Цикл
   Сообщить("Проводка " + Опер.Дебет.Счет + " - " + Опер.Кредит.Счет);
КонецЦикла;

и так для всех документов в цикле.

А вот описание атрибута Документ для объекта Операция из документации:

Документ
Документ, которому принадлежит операция.
Синтаксис:
Документ
Англоязычный синоним:
Document
Значение:
Значение типа документ.
Описание:
Атрибут Документ является атрибутом «только для чтения», то есть ему нельзя присваивать
никакого значения. Он служит для обращения к документу, котрому принадлежит операция.
Так, как любая операция принадлежит документу (операция введенная «вручную» принадлежит
документу специального вида «Операция») доступ к некоторым свойствам операции,
например, номеру возможен только посредством обращения к атрибуту Документ.

Атрибут Документ предназначен только для доступа к атрибутам и реквизитам документа,
которому принадлежит операция. Для получения значения типа «Документ» используется
метод ТекущийДокумент.

Пример:

Опер = СоздатьОбъект("Операция");
Опер.НайтиОперацию(ВыбрДокумент);
Сообщить(Опер.Документ.НомерДок);



________________________________________________________________________________________
  >Вот, что я "хотела бы узнать", но не знаю, у кого спросить. А дело в
  >том, что после перехода на ред.4.2 "Бухгалтерии 7.7" при работе пользователей
  >программа выдает сообщение такого содержания: "Программа 1cv7" вызвала сбой
при
  >обращении...

     Жаль, что автор не поместил свой е-майл. Я думаю, по поводу ее вопроса
     у многих есть что сказать. Мое мнение такое: умер md-шник. Ей нужно
     протестировать базу в конфигураторе, жел. в локальном режиме, т.е.
     базу скопировать на машину, где и протестировать, ну а далее в
     зависимости от ситуации, загрузить или объединить зо здоровой конфой.
     В Инете есть информация:

     http://www.1c.zp.ua/topsites/index.html
     http://reminder.h1.ru/
     http://dagpages.virtualave.net/budni/files/index.html#SU

      Конечно, раньше надо было думать - с начала года мучаются:(.

     Успехов. Марина.
     bezhetsk@tver.elektra.ru
     av-mari@yandex.ru
------------------------------------------------------------


А здесь отчетик о сравнении периодичности хранения остатков
________________________________________________________________________________________
О периодичности остатков

5 дней
база 270 мб, перепроведение месяца
с 9.35 по 16.37

месяц
база
380 мб, перепроведение месяца
с 9.29 по 12.38

Высоковских Д.Б.
--------------------------------------------


________________________________________________________________________________________
Здравствуйте, уважаемый Валерий.
Я недавно примкнул к вашей рассылке и у меня сразу возник наглый вопрос (не осерчайте):
Почему у рассылки такое
оформление (точнее отсутствие оного). Не думаю, что Subcribe.ru выдвигает такие
жесткие требования к дизайну.
Читать сообщения сложно - нет четкого разграничения.
Ваша рассылка мне нравиться содержанием, думаю, что с интерфейсом в html будет
нравиться еще больше.
 
С уважением, Филипп.
---------------------------------------------------------------
Хороший вопрос! Я и сам думаю, что читать неудобно. Постараюсь найти время и
научиться отправлять почту в HTML.


__________________________________________________________________________________________
Добрый день, Валерий!

Я - постоянная читательница Вашей рассылки, узнаю из нее много нового и
полезного. Возможно, на мои  грабли другие пользователи уже наступали и
посоветуют что-нибудь...  Дело в том, что и в моей БД и в демо-версии  из
Зарплаты (версия 209) в Бухгалтерию (версия 427) переносятся все данные,
кроме НДФЛ. Причем, в отчете "Свод проводок" проводки для НДФЛ (70 - 68.1)
тоже не показываются (хотя в версии ЗП 208 и предыдущих все было нормально).
Еще неправильно переносится ЕСН на отпуск будущего периода - суммы и счета
верные, а субконто на сч. 20 отсутствуют, хотя в шаблонах проводок все
настроено верно. В чем здесь хитрость?

С уважением
Полина Белоусова
г. Екатеринбург
---------------------------------------------------------------
Я с зарплатой обычно не связываюсь. Неблагодарное это дело, с нашим-то законодательством.
Там только на настройках при работе повеситься можно.
Так что прошу помощи аудитории.


___________________________________________________________________________________________
Hello krug,

  Не знаю, поможет это кому-то или нет, но ....
Был замечен глюк.
Документ. В документе табличная часть, одна из колонок имеет
размерность "Число", длину -2, в модуле формы - выражение типа
"Итог("Колонка")" легко дает числа более 2х разрядов, а при обращении
из глобального модуля "Док.Итог("Колонка")" обрезает значение итога до
"99", 2 часа сегодня бился, млин...

--
Best regards,
 arseny                          mailto:arseny@vorkuta.com
----------------------------------------------------------------
Публикую, но сам не проверял.


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

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

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

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

Написать ведущему 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
Отписаться
Убрать рекламу

В избранное