Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2, свеженьких 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Войти | Зарегистрироваться )



История благодарностей участнику kivals ::: Спасибо сказали: 27 раз
Дата поста: В теме: За сообщение: Спасибо сказали:
20.11.12, 14:35 Условие перед формированием отчета
ЛЕВОЕ СОЕДИНЕНИЕ - значит отберутся только те записи, которые есть в первой объявленной таблице (т.е. таблице "слева").
Вам нужно использовать самую левую таблицу справочника номенклатуры (+ все характеристики и серии, если по ним ведется учет), а к ней уже левым соединением остальные таблицы (включая остатки)
bereznoy,
19.11.12, 18:22 Режим проведения
Насколько я помню, "ИспользоватьРежимПроведения = Автоматически" означает:
  • для новых документов - Оперативно
  • для сохраненных документов сегодняшней датой - Запрашивать
  • для документов другой датой - Неоперативно
Потому предлагаю попробовать установить в этом параметре значение Запрашивать, если пользователь должен принимать решение о режиме проведения.
Max Street,
16.10.12, 11:11 Новое в версии 8.3.2
11.10.2012 вышла новая версия мобильной платформы: 8.3.1.21
Цитата
Исправленные ошибки:
1. Возможность запустить приложение на устройствах с локализацией отличной от Русской и Английской
2. Запуск приложения на платформе 4.x
pumbaE,
10.10.12, 16:18 Обработчик ожидания, что за...
20 минут - таймаут пользовательской сессии. Возможно это как-то связано с повторным использованием.
logist,
07.10.12, 16:19 Запрос для заполнения реквизитов
Цитата(alexk @ 07.10.12, 16:45) *
Да, конечно понимаю, но не сказать, чтобы совсем профессионально, дело в том, что я учусь программировать в 1с.. вот добавил часть кода для заполнения, но тоже, не работает..
Процедура ЗаполнениеСтрок()
    // ...
    Запрос.УстановитьПараметр("Ссылка", Объект.Студент);

    Результат = Запрос.Выполнить();
    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
        ФИО = Выборка.ФИО;
        Группа = Выборка.Группа;
        Специальность = Выборка.Специальность;
КонецЦикла;
        Результат.Выгрузить();
        
КонецПроцедуры


Вот это:
Результат = Запрос.Выполнить();
   Выборка = Запрос.Выполнить().Выбрать();


Должно быть записано по-другому:
Результат = Запрос.Выполнить();
   Выборка = Результат.Выбрать();
   // или
   Выборка = Запрос.Выполнить().Выбрать(); // Поскольку Результат сам по себе Вам дальше не нужен

Иначе Вы заставляете компилятор делать лишнюю работу.

Вот это:
Результат.Выгрузить();

Не нужно вообще, т.к. полученную Таблицу Значений Вы даже не присваиваете никакой переменной.

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

Но лучше вот так:
Выборка.Следующий(); // Только первую запись
ЗаполнитьЗначенияСвойств(Объект, Выборка, "ФИО,Группа,Специальность");


В принципе параметр "ФИО,Группа,Специальность" можно просто не указывать - это сделано чтобы создать точную аналогию Вашему коду
alexk,
28.11.11, 15:11 Проблемы со встроенной функцией "НайтиПоНаименованию"
Массив = Новый Массив;
Массив.Добавить(Справочники.Номенклатура.НайтиПоНаименованию("Один"));
Массив.Добавить(Справочники.Номенклатура.НайтиПоНаименованию("Два"));

ТекстЗапроса =
   "ВЫБРАТЬ
   |    Номенклатура.Ссылка
   |ИЗ
   |    Справочник.Номенклатура КАК Номенклатура
   |ГДЕ
   |    Номенклатура.Ссылка В ИЕРАРХИИ(&СписокРодителей)";
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.Параметры.Вставить("СписокРодителей", Массив);

МасивСсылок = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку(0);
Домовик,
15.11.11, 9:01 Как "отключить" выгрузку помеченных на удаление документов?
ПередВыгрузкой есть в ПВД и ПКО - какое правило имеется в виду?

Код простой, но работать он будет по разному, в зависимости от выбора правила:
Если Объект.ПометкаУдаления Тогда Отказ = Истина; Возврат Отказ; КонецЕсли;
Оля_Оля,
04.11.11, 13:50 1С Документооборот 8
.mdb - это файл MS Access. Можно попытаться им открыть - не исключено что там достаточно простая структура таблиц документов.
ip82,
02.11.11, 10:48 Нумерация документов Реализация товаров и услуг
Правильно выбрать префиксы.
Желательно чтобы все префиксы (включая константный "Бух") были одной длины - тогда проблема уйдет сама собой.
Иначе - выбирать префиксы так, чтобы никакой из них не был началом другого (если у Вас используется "Бух" - то "", "Б" и "Бу" запрещены). Пустая строка является началом любого префикса, так что если хоть какой-то используются - без префикса Вы нумеровать уже не сможете.

Причина в следующем:
Для создания нового номера система ищет предыдущий по принципу: Номер ПОДОБНО Префикс+"%" и выбирает максимальный из найденых. В этом случае буква всегда будет больше цифры, и "Бух001" найдется как макимальный для "Б%". (И только лишь потом система увеличивает число в номере для создания следующего)

P.S. ИМХО Регистр в префиксах не влияет на поиск, потому "БУХ" и "Бух" будет нумероваться в одной последоватльности
ignsv, Kutuzov, MATEVI, Vofka,
28.10.11, 10:51 Как округлить число до 10 или 100 знаков до запятой?
Ну если округляет (а не обрезает) - значит убери (+0.5). У меня получилось smile.gif

Что же касается
"ПорядокОкругления - это ссылка на перечисление (хотя тут пожно взять представление и преобразовать в число наверно. Не вопрос)"
То можно создать таблицу значений: с колонками ссылка, значение (для всех значений перечисления + пустая ссылка)
передать ее в запрос как параметр и связать с основным запросом левым соединением.
В запросе в таком случае использовать МенеджерВременныхТаблиц и набор из 2х запросов, где первый будет что-то типа:
ВЫБРАТЬ Ссылка, Значение ПОМЕСТИТЬ ПорядокОкругления ИЗ &ПорядокОкругления;

ну а второй - твой запрос с вставкой:
ЛЕВОЕ СОЕДИНЕНИЕ ПорядокОкругления ПО ПорядокОкругления.Ссылка = ЦеныНоменклатурыДругие.ТипЦен.ПорядокОкругления
vbi,
27.10.11, 17:13 Как округлить число до 10 или 100 знаков до запятой?
Очень сложно получилось smile.gif

Отбрасывание от округления отличается ровно на 0.5

Проверьте: (ВЫРАЗИТЬ((Цена / ПорядокОкругления + 0.5) КАК ЧИСЛО(15,0)) * ПорядокОкругления) работает правильно для любых значений ПорядокОкругления (кроме 0, естественно): будь то 10, 100, 0.1, 0.01, 0.5, и даже 0.333 smile.gif
Возможно для полноты картины выразите результат как ЧИСЛО(15, 2)
P.S. Проблемы могут быть при переполнении разрядной сетки, т.е. Округлить 100 000 000 000 000 до 0.01 может вылезти за 15 знаков - тогда просто увеличте количество знаков в параметре ВЫРАЗИТЬ ... КАК ЧИСЛО(ХХ, 0): ХХ должно быть равным исходному количеству знаков реквизита Цена + количество дробных знаков в реквизите ПорядокОкругления
P.P.S. Для проверки в MS Excel есть функция MRound()
vbi,
21.10.11, 12:51 ПараметрОбъектКопирования и ПараметрОснование
Думаю скорее вопрос в том, что эти параметры не передаются в форму.
ПриКопировании() - это событие модуля объекта, а вопрос был - "Как получить в веб-клиенте?".

ИМХО без дополнительных телодвижений - никак. Наверное нужно сохранять куда-то во временное хранилище в модуле объекта, а потом в форме читать.
vbi,
11.10.11, 14:35 Как программно ввсести на основании документ
Неверный сам подход: если созданный объект не нужно записывать (перед открытием формы), то нужно просто открыть форму, указав что вводится объект на основании:
    ПараметрыФормы = Новый Структура("Основание", Основание);
    ОткрытьФорму("Документ.ЧекККМ_Опт.ФормаОбъекта", ПараметрыФормы);
vbi,
09.10.11, 10:42 Новый регистр, регистраторы на поддержке
Можно включить изменение для объектов на поддержке - по идее регистратор не должен убраться при изменении. 8.2 достаточно корректно обновляет, проблему могут быть только при конфликтных ситуациях (когда в типовой появится такой же регистр)

В добавление к пути, предлагаемому Logist: можно всем ролям запретить изменение этого регистра, а в подписке на событие включить привелигированный режим.
bolobol,
06.10.11, 18:10 Не работает ЛЕВОЕ СОЕДИНЕНИЕ
Нужно понимать, что при левом соединении условия из ГДЕ накладываются на результирующую таблицу, т.е. как заметил vbi в случае отсутствия записи значение поля будет NULL (дальше углубляться не нужно) и условие "ЦенНом.ТипЦен = &ТипЦен" не выполнится.
В случае если регистр цен - периодический и нам важен срез цен более правильным было бы наложить условия на срез:
Запрос.Текст="
     |ВЫБРАТЬ
     |    ШК.Владелец.Ссылка КАК Номенклатура,
     |    ШК.Владелец.Весовой КАК Весовой,
     |    ШК.Владелец.БазоваяЕдиницаИзмерения КАК ЕдИзм,
     |    ШК.Штрихкод КАК ШтрКод,
     |    ЕСТЬNULL(ЦенНом.Цена,0) КАК Цена,
     |    ЕСТЬNULL(МинЦенНом.Цена,0.01) КАК МинЦена
     |ИЗ
     |        РегистрСведений.Штрихкоды КАК ШК
     |    ЛЕВОЕ СОЕДИНЕНИЕ
     |        РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен = &ТипЦен) КАК ЦенНом
     |    ПО   ШК.Владелец.Ссылка = ЦенНом.Номенклатура.Ссылка
     |    ЛЕВОЕ СОЕДИНЕНИЕ
     |        РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен = &ТипМинЦен) КАК МинЦенНом
     |    ПО ШК.Владелец.Ссылка = МинЦенНом.Номенклатура.Ссылка";
AndreyNaz,
27.09.11, 9:34 ОбновлениеОтображения в 8.2
У динамических списков есть атрибуты АвтоОбновление и ПериодАвтоОбновления. По умолчанию они отключены для уменьшения трафика.
vbi,
21.09.11, 10:58 Веб клиент не поддерживает таблицу значений. Чем ее заменить?
Цитата(Vofka @ 20.09.11, 21:30) *
А как быть в таком случае: в табличной части добавлены колонки, не в реквизитах, а на форме. Надо эти колонки "прорисовать". Как делается сейчас: выполняется запрос, получается ТЗ, рисуется табличная чать. Собственно, как тогда быть?

Если вопрос в том, как добавить колонки в Табличное поле формы - то всезнающий гугл выдает достаточно ссылок по запросу "Динамическое добавление колонок 8.2"
vbi,
11.08.11, 17:20 Предыдущие курсы валют
Теперь я не понимаю задачи:
нужны все курсы валют или курсы всех валют?

Мой запрос возвращает для всех валют (заданных параметром СписокВалют) последенее значение курса и предыдущее (а также даты их установки). Для задачи "мне нужна будет их разница" этого вроде как достаточно.

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

У меня меньше не получается smile.gif Может как-то и можно второй и третий запрос свести в один, но я не придумал
I_Stranger,
10.08.11, 16:45 Предыдущие курсы валют
Цитата(Vofka @ 07.08.11, 19:52) *
Что за бред? Если дата отчета 7.08.2011 - выбираем срез последних на (7.08.2011) - 1, т.е. на 6.07.2011 вот и всё.

Уважаемый! Если вы не разобрались в вопросе - не нужно оскорблять вопрошающего!
Во-первых - не "(7.08.2011) - 1", а "(7.08.2011) - 24*60*60*1", т.к. Дата в 8.Х это ДатаВремя, и 1 - это 1 секунда
Во-вторых - если дата отчета припадает на Пн то дата изменения курса будет на 3 дня раньше (в Пт) (я уже молчу про валюты, которые меняются реже чем раз в день) и построенный по Вашему варианту запрос вернет одинаковый результат

По существу вопроса: у меня это получается через пакет (чтобы вложенный запрос ПоследнийКурс не дублировать дважды):

ВЫБРАТЬ
           КурсыВалютСрезПоследних.Период КАК Период,
           КурсыВалютСрезПоследних.Валюта КАК Валюта,
           КурсыВалютСрезПоследних.Курс КАК Курс
       ПОМЕСТИТЬ ПоследнийКурс
       ИЗ
           РегистрСведений.КурсыВалют.СрезПоследних КАК КурсыВалютСрезПоследних
       ГДЕ
           КурсыВалютСрезПоследних.Период < &ДатаОтчета
           И КурсыВалютСрезПоследних.Валюта В(&СписокВалют)
      ;
      
       ////////////////////////////////////////////////////////////////////////////////
       ВЫБРАТЬ
           КурсыВалют.Валюта,
           КурсыВалют.Период КАК ПредпоследнийПериод,
           КурсыВалют.Курс КАК ПредпоследнийКурс,
           ПоследнийКурс.Период КАК ПоследнийПериод,
           ПоследнийКурс.Курс КАК ПоследнийКурс
       ИЗ
           РегистрСведений.КурсыВалют КАК КурсыВалют
               ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                   КурсыВалют.Валюта КАК Валюта,
                   МАКСИМУМ(КурсыВалют.Период) КАК Период
               ИЗ
                   РегистрСведений.КурсыВалют КАК КурсыВалют
                       ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПоследнийКурс КАК ВложенныйЗапрос
                       ПО КурсыВалют.Период < ВложенныйЗапрос.Период
                           И КурсыВалют.Валюта = ВложенныйЗапрос.Валюта
              
               СГРУППИРОВАТЬ ПО
                   КурсыВалют.Валюта) КАК ПредпоследнийПериод
               ПО (ПредпоследнийПериод.Валюта = КурсыВалют.Валюта)
                   И (ПредпоследнийПериод.Период = КурсыВалют.Период)
               ЛЕВОЕ СОЕДИНЕНИЕ ПоследнийКурс КАК ПоследнийКурс
               ПО (ПоследнийКурс.Валюта = КурсыВалют.Валюта)
digesha, I_Stranger, MATEVI, Vofka,
27.07.11, 23:46 Ошибка в обработке обмен данными клиент-банк
Система часто игнорирует "\\" в середине пути и воспринимает их как "\" - так что проблема может и не в этом.
Может быть Вы просто взяли КБ для 8.1 и не отконвертировали обработки?
andrey_angel,
13.07.11, 11:48 8.2.14.519 - режим совместимости с 8.2.13 не работет
Цитата(al-e-ks @ 04.07.11, 12:57) *
Но с совместимостью пока все так же не понятно. Зачем указывать режим "Совместимость с 8.2.13", если он не работает? Вряд ли только для того, чтобы сделать эту выгрузку.


Режим совместимости - это старое поведение некоторых механизмов, которое по умолчанию было изменено в новой версии, а отнюдь не возможность подключится к той же конфигурации с использованием старой версии платформы (8.2.13)
5_kopeek,

RSS Текстовая версия Сейчас: 20.04.24, 4:55
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!