7.7 Вопросы по языку

Тема в разделе "Общие вопросы "1С:Предприятие 7.7"", создана пользователем Vertex, 20 июл 2011.

  1. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    это пока вы один в базе... Если этот процесс запустить у 2-3 человек одновременно - тут и начнутся прелести...
    Замерьте отладчиком - сами увидите
  2. TopicStarter Overlay
    Vertex
    Offline

    Vertex Опытный в 1С

    Регистрация:
    14 июн 2011
    Сообщения:
    468
    Симпатии:
    4
    Баллы:
    29
    Это только для меня и разово, пишу обработку "умной" перенумерации кодов и автоочистки справочника Номенклатура.;)
  3. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Понятно.. Тогда "со скрипом" годится.
  4. LordMaverick
    Offline

    LordMaverick Профессионал в 1С

    Регистрация:
    17 мар 2014
    Сообщения:
    3.443
    Симпатии:
    376
    Баллы:
    104
    это не моё авторство :)
    это кусок из типовой ТИС 9.2

    если правильно понял, там записи и по фирмам и по это "ПустойФирме"
    в итоге если не указать конкретно то оно выбирает и по фирмам и по пустойфирме, в сумме двойной объём, а если сделать цикл по фирмам то конечно будет быстрее, объём то в половину будет :)
  5. TopicStarter Overlay
    Vertex
    Offline

    Vertex Опытный в 1С

    Регистрация:
    14 июн 2011
    Сообщения:
    468
    Симпатии:
    4
    Баллы:
    29
    Прогресс бар на форме внешней обработки ert, можно прикрутить?
  6. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    можно конечно...
    Можно как штатно тат и библы есь.
  7. TopicStarter Overlay
    Vertex
    Offline

    Vertex Опытный в 1С

    Регистрация:
    14 июн 2011
    Сообщения:
    468
    Симпатии:
    4
    Баллы:
    29
    А штатными средствами с помощью какого компонента? Поле для ввода текста?
  8. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Форма.РеквизитТекстНаФорме.Заголовок("Тут_Твой_Прогресс_Бар")
  9. TopicStarter Overlay
    Vertex
    Offline

    Vertex Опытный в 1С

    Регистрация:
    14 июн 2011
    Сообщения:
    468
    Симпатии:
    4
    Баллы:
    29
    Откуда берется наименование окна?
    Всё облазил понять не могу.
    Его как то можно поменять средствами платформы? Или ручками в БД?
    Конфигурация ТиС

    Вложения:

  10. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    по умолчанию берет из свойства конфигурации..
    Поменять конечно можно. Есть метод ЗаголовокСистемы("Ваш заголовок")
  11. TopicStarter Overlay
    Vertex
    Offline

    Vertex Опытный в 1С

    Регистрация:
    14 июн 2011
    Сообщения:
    468
    Симпатии:
    4
    Баллы:
    29
    Во множественном фильтре (код содран из отчета ВедомостьПоПартиямТМЦ в свою обработку), не работает сохранение настройки фильтра по стандартной кнопке сохранить, открывается пустое окно фильтра.
    В чем может быть дело? Подскажите если кто предполагает в чем может быть дело, чтобы не терять время?
  12. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    В вашем отчете добавьте процедуру
    Код:
    Процедура ВводНового()
    ПерерисовкаНазванийЗакладок();
        УправлениеДиалогом();      
        ТаблицаМФ.ВыводитьПиктограммы("ФлВкл");
        глПриСменеСтрокиТаблицыМФ( 1, 0, Контекст); 
    КонецПроцедуры // ВводНового()
    Vertex нравится это.
  13. TopicStarter Overlay
    Vertex
    Offline

    Vertex Опытный в 1С

    Регистрация:
    14 июн 2011
    Сообщения:
    468
    Симпатии:
    4
    Баллы:
    29
    Использование в условии запроса, динамически созданных переменных запроса.
    По идее можно такое делать ?

    Например:
    Код:
    ТекстЗапросаПарт= "
    ***
    ***
    Количество = Регистр.Остатки.Количество;
    ";
      Для СчЦикла=1 по СписокОперКредит.РазмерСписка() Цикл
         НазвОперации = СписокОперКредит.ПолучитьЗначение(СчЦикла).Идентификатор();
         ТекстЗапросаПарт = ТекстЗапросаПарт + РазделительСтрок+
         "Функция "+НазвОперации+"РасхСумм = Расход(ПродСтоимость) когда (КодОперации = глКО."+НазвОперации+");
         |Функция "+НазвОперации+"РасхКол  = Расход(Количество) когда (КодОперации = глКО."+НазвОперации+");";
       Если (Выражение = Истина) Тогда
       ТекстЗапросаПарт  = ТекстЗапросаПарт  + " Условие(" +НазвОперации+"РасхСумм > 10 );";
      КонецЕсли;
       КонецЦикла; 
    Пробовал, не получается.
    Возможно ли вообще такое?
  14. TopicStarter Overlay
    Vertex
    Offline

    Vertex Опытный в 1С

    Регистрация:
    14 июн 2011
    Сообщения:
    468
    Симпатии:
    4
    Баллы:
    29
    Прошу помощи в модификации запроса.
    Код:
        ТекстЗапросаПарт = "
        |Период С НачДата По КонДата;
        |ФирмаОтгрузки     = Регистр.ПартииНаличие.Фирма;
        |МОЛОтгрузки     = Регистр.ПартииНаличие.МОЛ;
        |Номенклатура      = Регистр.ПартииНаличие.Номенклатура;
        |Поставщик          = Регистр.ПартииНаличие.Партия.Поставщик;
        |Док             = Регистр.ПартииНаличие.ТекущийДокумент;
        |КодОперации      = Регистр.ПартииНаличие.КодОперации; 
        |Количество      = Регистр.ПартииНаличие.Количество;
        |ПродСтоимость     = Регистр.ПартииНаличие.ПродСтоимость;
        |Выручка         = Регистр.ПартииНаличие.Выручка;
        |СуммаРуб          = Регистр.ПартииНаличие.СуммаРуб;
        |ВидНоменклатуры = Регистр.ПартииНаличие.Номенклатура.ВидНоменклатуры;
        |Группировка Номенклатура без групп;
        |Функция НачОст  = НачОст(Количество);
        |Функция КонОст  = КонОст(Количество);
        |Условие((КодОперации <> глКО.ПередачаВРозницу)или((Док.Вид() <> ""РеализацияРозница"")и(Док.Вид()<>""ОтчетККМ"")));
        |Условие(ВидНоменклатуры <> Перечисление.ВидыНоменклатуры.Услуга);
        //|Условие(Количество > Число(0));
        |Функция РасходC= Расход(ПродСтоимость);
        |Функция РасходК= Расход(Количество);
        |Функция ПриходC= Приход(ПродСтоимость);
        |Функция ПриходК= Приход(Количество);";
     
        Если Разн = 1 Тогда
            ТекстЗапросаПарт = ТекстЗапросаПарт + РазделительСтрок+
            "Функция ПриходВнешнийКол  = Приход(Количество)    Когда ((Док.Вид() = ""ПеремещениеТМЦ"") И (Док.Склад.Фирма <> ФирмаОтгрузки) И (Док.Фирма <> ФирмаОтгрузки));
            |Функция ПриходВнешнийСумм = Приход(ПродСтоимость) Когда ((Док.Вид() = ""ПеремещениеТМЦ"") И (Док.Склад.Фирма <> ФирмаОтгрузки) И (Док.Фирма <> ФирмаОтгрузки));";
        КонецЕсли;
        Для СчЦикла=1 по СписокОперКредит.РазмерСписка() Цикл
            НазвОперации = СписокОперКредит.ПолучитьЗначение(СчЦикла).Идентификатор();
            ТекстЗапросаПарт = ТекстЗапросаПарт + РазделительСтрок+
            "Функция "+НазвОперации+"РасхСумм = Расход(ПродСтоимость) когда (КодОперации = глКО."+НазвОперации+");
            |Функция "+НазвОперации+"РасхКол  = Расход(Количество) когда (КодОперации = глКО."+НазвОперации+");";
        КонецЦикла;
     
        Для СчЦикла=1 по СписокОперДебет.РазмерСписка() Цикл
            НазвОперации = СписокОперДебет.ПолучитьЗначение(СчЦикла).Идентификатор();
            ТекстЗапросаПарт = ТекстЗапросаПарт + РазделительСтрок+
            "Функция "+НазвОперации+"ПрихСумм = Приход(ПродСтоимость) когда (КодОперации = глКО."+НазвОперации+");
            |Функция "+НазвОперации+"ПрихКол  = Приход(Количество) когда (КодОперации = глКО."+НазвОперации+");";
        КонецЦикла; 
    Все существующее работает нормально, хочется реализовать ещё один функционал.
    Если выбран вариант формирования запроса "Все без движения" . Нужно выбирать только те строки у которых небыло движений за период, и остатки товара равны на начало периода и наконец периода формирования.
    Как реализовать его в данном случае?

    Всяческие извращения с условиями не привели к желаемому результату.
    Может Вы что посоветуете?
    Хотелось бы это сделать через запрос.
  15. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Можно... Сохраните текст запроса после генерации в текстовый файл и смотри в чем у тебя ошибка (в отладчике не увидишь - длинная строка)
    --- Объединение сообщений, 22 июл 2015 ---
    условие: финкция приход/расход = 0
  16. TopicStarter Overlay
    Vertex
    Offline

    Vertex Опытный в 1С

    Регистрация:
    14 июн 2011
    Сообщения:
    468
    Симпатии:
    4
    Баллы:
    29
    Спасибо, победил эту проблему таким образом, перед динамически созданной переменной написал переменную объета запрос.
    Функция Запрос."+НазвОперации+"ПрихСумм = Приход(ПродСтоимость) когда (КодОперации = глКО."+НазвОперации+");
    Не прокатывает почему то =( . ... выводит только 2 колонки остаток на начало и остаток на конец и остатки разные....т.е попадают движения.
    Сделал иначе, на этапе формирования таблицы значений не добавлял строку в таблицу если были какие то движения.
  17. TopicStarter Overlay
    Vertex
    Offline

    Vertex Опытный в 1С

    Регистрация:
    14 июн 2011
    Сообщения:
    468
    Симпатии:
    4
    Баллы:
    29
    Вопрос такой: Если в периферийной базе удалить пользователя, в конфигураторе в списке пользователей, удалится ли он в центральной базе? (родительской)
  18. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
  19. TopicStarter Overlay
    Vertex
    Offline

    Vertex Опытный в 1С

    Регистрация:
    14 июн 2011
    Сообщения:
    468
    Симпатии:
    4
    Баллы:
    29
    Всем доброго времени.
    Вопрос такой.
    Создал дополнительный справочник, нужно чтобы при удалении элемента он не помечался, а удалялся полностью.
    Как это реализовать?
    Отлавливать предопределенное событие в глобальном модуле?
    Или ещё как то можно?
  20. LordMaverick
    Offline

    LordMaverick Профессионал в 1С

    Регистрация:
    17 мар 2014
    Сообщения:
    3.443
    Симпатии:
    376
    Баллы:
    104
    там есть режим удаления, но пользоваться таким режимом надо осторожно
    (для справочников)
    Код:
    Удалить(<?>);
    Синтаксис:
    Удалить(<Режим>)
    Назначение:
    Удалить элемент справочника.
    Параметры:
    <Режим> - : 1 - непосредственное удаление, 0 - пометка на удаление (необязателен, по умолчанию - 1).
    Замечание:
    Метод  можно использовать только для объектов, созданных функцией СоздатьОбъект.
    и в самой программе
    upload_2015-12-9_19-20-42.png

Поделиться этой страницей