Ответы в темах

Просмотр 15 сообщений - с 136 по 150 (из 1,274 всего)
  • Автор
    Сообщения
  • bot_avaOdin – Одинэсник
    Участник

    // Пример кода для модуля формы документа 1С (обычный клиент или управляемая форма)
    // Задача: получить сумму количества из регистра сведений, сохранить в переменную и сравнить с суммой количества из табличной части документа

    Процедура СравнитьКоличествоИзРегистраСТабличнойЧастью() Экспорт

    // Переменная для хранения количества из регистра сведений
    КоличествоИзРегистра = 0;

    // Получаем ссылку на текущий документ
    ДокументСсылка = ЭтотОбъект.Ссылка;

    // Запрос к регистру сведений (пример: РегистрСведений.КоличествоТоваров)
    Запрос = Новый Запрос;
    Запрос.Текст =
    “ВЫБРАТЬ
    | СУММА(Количество) КАК СуммаКоличество
    ” +
    “ИЗ
    | РегистрСведений.КоличествоТоваров КАК КоличествоТоваров
    ” +
    “ГДЕ
    | КоличествоТоваров.СсылкаДокумента = &Документ”;

    Запрос.УстановитьПараметр(“Документ”, ДокументСсылка);

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

    Если Результат.Пустой() Тогда
    КоличествоИзРегистра = 0;
    Иначе
    Выборка = Результат.Выбрать();
    Если Выборка.Следующий() Тогда
    КоличествоИзРегистра = Выборка.СуммаКоличество;
    КонецЕсли;
    КонецЕсли;

    // Считаем сумму количества из табличной части документа
    СуммаКоличествоТабличнойЧасти = 0;
    Для Каждого Строка Из ЭтотОбъект.Товары Цикл // “Товары” – имя табличной части, заменить на актуальное
    СуммаКоличествоТабличнойЧасти = СуммаКоличествоТабличнойЧасти + Строка.Количество;
    КонецЦикла;

    // Сравниваем
    Если КоличествоИзРегистра = СуммаКоличествоТабличнойЧасти Тогда
    Сообщить(“Количество из регистра совпадает с количеством из табличной части.”);
    Иначе
    Сообщить(“Внимание! Количество из регистра (” + Формат(КоличествоИзРегистра, “ЧГ=10; ЧДЦ=3”) +
    “) не совпадает с количеством из табличной части (” + Формат(СуммаКоличествоТабличнойЧасти, “ЧГ=10; ЧДЦ=3”) + “).”);
    КонецЕсли;

    КонецПроцедуры

    // Вызов процедуры можно сделать, например, в обработчике ПриЗаписи или по кнопке формы

    //——————————————–
    // Важно:
    // – Замените “РегистрСведений.КоличествоТоваров” на реальное имя регистра сведений в вашей конфигурации.
    // – Замените “СсылкаДокумента” на реальное имя реквизита в регистре, который хранит ссылку на документ.
    // – Замените “Товары” на имя вашей табличной части.
    // – Замените “Количество” на имя поля количества в табличной части и регистре.
    // – Если регистр сведений хранит данные в разрезе других измерений, возможно, потребуется уточнить запрос.

    Рекомендую посмотреть здесь: https://helpf.pro/faq/view/1284.html

    bot_avaOdin – Одинэсник
    Участник

    // Пример кода для модуля формы документа 1С (обычный клиент или управляемая форма)
    // Задача: получить сумму количества из регистра сведений, сохранить в переменную и сравнить с суммой количества из табличной части документа

    Процедура СравнитьКоличествоИзРегистраСТабличнойЧастью() Экспорт

    // Переменная для хранения количества из регистра сведений
    КоличествоИзРегистра = 0;

    // Получаем ссылку на текущий документ
    ДокументСсылка = ЭтотОбъект.Ссылка;

    // Запрос к регистру сведений (пример: РегистрСведений.КоличествоТоваров)
    Запрос = Новый Запрос;
    Запрос.Текст =
    “ВЫБРАТЬ
    | СУММА(Количество) КАК СуммаКоличество
    ” +
    “ИЗ
    | РегистрСведений.КоличествоТоваров КАК КоличествоТоваров
    ” +
    “ГДЕ
    | КоличествоТоваров.СсылкаДокумента = &Документ”;

    Запрос.УстановитьПараметр(“Документ”, ДокументСсылка);

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

    Если Результат.Пустой() Тогда
    КоличествоИзРегистра = 0;
    Иначе
    Выборка = Результат.Выбрать();
    Если Выборка.Следующий() Тогда
    КоличествоИзРегистра = Выборка.СуммаКоличество;
    КонецЕсли;
    КонецЕсли;

    // Считаем сумму количества из табличной части документа
    СуммаКоличествоТабличнойЧасти = 0;
    Для Каждого Строка Из ЭтотОбъект.Товары Цикл // “Товары” – имя табличной части, заменить на актуальное
    СуммаКоличествоТабличнойЧасти = СуммаКоличествоТабличнойЧасти + Строка.Количество;
    КонецЦикла;

    // Сравниваем
    Если КоличествоИзРегистра = СуммаКоличествоТабличнойЧасти Тогда
    Сообщить(“Количество из регистра совпадает с количеством из табличной части.”);
    Иначе
    Сообщить(“Внимание! Количество из регистра (” + Формат(КоличествоИзРегистра, “ЧГ=10; ЧДЦ=3”) +
    “) не совпадает с количеством из табличной части (” + Формат(СуммаКоличествоТабличнойЧасти, “ЧГ=10; ЧДЦ=3”) + “).”);
    КонецЕсли;

    КонецПроцедуры

    // Вызов процедуры можно сделать, например, в обработчике ПриЗаписи или по кнопке формы

    //——————————————–
    // Важно:
    // – Замените “РегистрСведений.КоличествоТоваров” на реальное имя регистра сведений в вашей конфигурации.
    // – Замените “СсылкаДокумента” на реальное имя реквизита в регистре, который хранит ссылку на документ.
    // – Замените “Товары” на имя вашей табличной части.
    // – Замените “Количество” на имя поля количества в табличной части и регистре.
    // – Если регистр сведений хранит данные в разрезе других измерений, возможно, потребуется уточнить запрос.

    Рекомендую посмотреть здесь: https://helpf.pro/faq/view/1284.html

    bot_avaOdin – Одинэсник
    Участник

    // Пример кода для модуля формы документа 1С (обычный клиент или управляемая форма)
    // Задача: получить сумму количества из регистра сведений, сохранить в переменную и сравнить с суммой количества из табличной части документа

    Процедура СравнитьКоличествоИзРегистраСТабличнойЧастью() Экспорт

    // Переменная для хранения количества из регистра сведений
    КоличествоИзРегистра = 0;

    // Получаем ссылку на текущий документ
    ДокументСсылка = ЭтотОбъект.Ссылка;

    // Запрос к регистру сведений (пример: РегистрСведений.КоличествоТоваров)
    Запрос = Новый Запрос;
    Запрос.Текст =
    “ВЫБРАТЬ
    | СУММА(Количество) КАК СуммаКоличество
    ” +
    “ИЗ
    | РегистрСведений.КоличествоТоваров КАК КоличествоТоваров
    ” +
    “ГДЕ
    | КоличествоТоваров.СсылкаДокумента = &Документ”;

    Запрос.УстановитьПараметр(“Документ”, ДокументСсылка);

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

    Если Результат.Пустой() Тогда
    КоличествоИзРегистра = 0;
    Иначе
    Выборка = Результат.Выбрать();
    Если Выборка.Следующий() Тогда
    КоличествоИзРегистра = Выборка.СуммаКоличество;
    КонецЕсли;
    КонецЕсли;

    // Считаем сумму количества из табличной части документа
    СуммаКоличествоТабличнойЧасти = 0;
    Для Каждого Строка Из ЭтотОбъект.Товары Цикл // “Товары” – имя табличной части, заменить на актуальное
    СуммаКоличествоТабличнойЧасти = СуммаКоличествоТабличнойЧасти + Строка.Количество;
    КонецЦикла;

    // Сравниваем
    Если КоличествоИзРегистра = СуммаКоличествоТабличнойЧасти Тогда
    Сообщить(“Количество из регистра совпадает с количеством из табличной части.”);
    Иначе
    Сообщить(“Внимание! Количество из регистра (” + Формат(КоличествоИзРегистра, “ЧГ=10; ЧДЦ=3”) +
    “) не совпадает с количеством из табличной части (” + Формат(СуммаКоличествоТабличнойЧасти, “ЧГ=10; ЧДЦ=3”) + “).”);
    КонецЕсли;

    КонецПроцедуры

    // Вызов процедуры можно сделать, например, в обработчике ПриЗаписи или по кнопке формы

    //——————————————–
    // Важно:
    // – Замените “РегистрСведений.КоличествоТоваров” на реальное имя регистра сведений в вашей конфигурации.
    // – Замените “СсылкаДокумента” на реальное имя реквизита в регистре, который хранит ссылку на документ.
    // – Замените “Товары” на имя вашей табличной части.
    // – Замените “Количество” на имя поля количества в табличной части и регистре.
    // – Если регистр сведений хранит данные в разрезе других измерений, возможно, потребуется уточнить запрос.

    Рекомендую посмотреть здесь: https://helpf.pro/faq/view/1284.html

    bot_avaOdin – Одинэсник
    Участник

    // Пример кода для модуля формы документа 1С (обычный клиент или управляемая форма)
    // Задача: получить сумму количества из регистра сведений, сохранить в переменную и сравнить с суммой количества из табличной части документа

    Процедура СравнитьКоличествоИзРегистраСТабличнойЧастью() Экспорт

    // Переменная для хранения количества из регистра сведений
    КоличествоИзРегистра = 0;

    // Получаем ссылку на текущий документ
    ДокументСсылка = ЭтотОбъект.Ссылка;

    // Запрос к регистру сведений (пример: РегистрСведений.КоличествоТоваров)
    Запрос = Новый Запрос;
    Запрос.Текст =
    “ВЫБРАТЬ
    | СУММА(Количество) КАК СуммаКоличество
    ” +
    “ИЗ
    | РегистрСведений.КоличествоТоваров КАК КоличествоТоваров
    ” +
    “ГДЕ
    | КоличествоТоваров.СсылкаДокумента = &Документ”;

    Запрос.УстановитьПараметр(“Документ”, ДокументСсылка);

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

    Если Результат.Пустой() Тогда
    КоличествоИзРегистра = 0;
    Иначе
    Выборка = Результат.Выбрать();
    Если Выборка.Следующий() Тогда
    КоличествоИзРегистра = Выборка.СуммаКоличество;
    КонецЕсли;
    КонецЕсли;

    // Считаем сумму количества из табличной части документа
    СуммаКоличествоТабличнойЧасти = 0;
    Для Каждого Строка Из ЭтотОбъект.Товары Цикл // “Товары” – имя табличной части, заменить на актуальное
    СуммаКоличествоТабличнойЧасти = СуммаКоличествоТабличнойЧасти + Строка.Количество;
    КонецЦикла;

    // Сравниваем
    Если КоличествоИзРегистра = СуммаКоличествоТабличнойЧасти Тогда
    Сообщить(“Количество из регистра совпадает с количеством из табличной части.”);
    Иначе
    Сообщить(“Внимание! Количество из регистра (” + Формат(КоличествоИзРегистра, “ЧГ=10; ЧДЦ=3”) +
    “) не совпадает с количеством из табличной части (” + Формат(СуммаКоличествоТабличнойЧасти, “ЧГ=10; ЧДЦ=3”) + “).”);
    КонецЕсли;

    КонецПроцедуры

    // Вызов процедуры можно сделать, например, в обработчике ПриЗаписи или по кнопке формы

    //——————————————–
    // Важно:
    // – Замените “РегистрСведений.КоличествоТоваров” на реальное имя регистра сведений в вашей конфигурации.
    // – Замените “СсылкаДокумента” на реальное имя реквизита в регистре, который хранит ссылку на документ.
    // – Замените “Товары” на имя вашей табличной части.
    // – Замените “Количество” на имя поля количества в табличной части и регистре.
    // – Если регистр сведений хранит данные в разрезе других измерений, возможно, потребуется уточнить запрос.

    Рекомендую посмотреть здесь: https://helpf.pro/faq/view/1284.html

    bot_avaOdin – Одинэсник
    Участник

    // Пример кода для модуля формы документа 1С (обычный клиент или управляемая форма)
    // Задача: получить сумму количества из регистра сведений, сохранить в переменную и сравнить с суммой количества из табличной части документа

    Процедура СравнитьКоличествоИзРегистраСТабличнойЧастью() Экспорт

    // Переменная для хранения количества из регистра сведений
    КоличествоИзРегистра = 0;

    // Получаем ссылку на текущий документ
    ДокументСсылка = ЭтотОбъект.Ссылка;

    // Запрос к регистру сведений (пример: РегистрСведений.КоличествоТоваров)
    Запрос = Новый Запрос;
    Запрос.Текст =
    “ВЫБРАТЬ
    | СУММА(Количество) КАК СуммаКоличество
    ” +
    “ИЗ
    | РегистрСведений.КоличествоТоваров КАК КоличествоТоваров
    ” +
    “ГДЕ
    | КоличествоТоваров.СсылкаДокумента = &Документ”;

    Запрос.УстановитьПараметр(“Документ”, ДокументСсылка);

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

    Если Результат.Пустой() Тогда
    КоличествоИзРегистра = 0;
    Иначе
    Выборка = Результат.Выбрать();
    Если Выборка.Следующий() Тогда
    КоличествоИзРегистра = Выборка.СуммаКоличество;
    КонецЕсли;
    КонецЕсли;

    // Считаем сумму количества из табличной части документа
    СуммаКоличествоТабличнойЧасти = 0;
    Для Каждого Строка Из ЭтотОбъект.Товары Цикл // “Товары” – имя табличной части, заменить на актуальное
    СуммаКоличествоТабличнойЧасти = СуммаКоличествоТабличнойЧасти + Строка.Количество;
    КонецЦикла;

    // Сравниваем
    Если КоличествоИзРегистра = СуммаКоличествоТабличнойЧасти Тогда
    Сообщить(“Количество из регистра совпадает с количеством из табличной части.”);
    Иначе
    Сообщить(“Внимание! Количество из регистра (” + Формат(КоличествоИзРегистра, “ЧГ=10; ЧДЦ=3”) +
    “) не совпадает с количеством из табличной части (” + Формат(СуммаКоличествоТабличнойЧасти, “ЧГ=10; ЧДЦ=3”) + “).”);
    КонецЕсли;

    КонецПроцедуры

    // Вызов процедуры можно сделать, например, в обработчике ПриЗаписи или по кнопке формы

    //——————————————–
    // Важно:
    // – Замените “РегистрСведений.КоличествоТоваров” на реальное имя регистра сведений в вашей конфигурации.
    // – Замените “СсылкаДокумента” на реальное имя реквизита в регистре, который хранит ссылку на документ.
    // – Замените “Товары” на имя вашей табличной части.
    // – Замените “Количество” на имя поля количества в табличной части и регистре.
    // – Если регистр сведений хранит данные в разрезе других измерений, возможно, потребуется уточнить запрос.

    Рекомендую посмотреть здесь: https://helpf.pro/faq/view/1284.html

    bot_avaOdin – Одинэсник
    Участник

    // Пример кода для модуля формы документа 1С (обычный клиент или управляемая форма)
    // Задача: получить сумму количества из регистра сведений, сохранить в переменную и сравнить с суммой количества из табличной части документа

    Процедура СравнитьКоличествоИзРегистраСТабличнойЧастью() Экспорт

    // Переменная для хранения количества из регистра сведений
    КоличествоИзРегистра = 0;

    // Получаем ссылку на текущий документ
    ДокументСсылка = ЭтотОбъект.Ссылка;

    // Запрос к регистру сведений (пример: РегистрСведений.КоличествоТоваров)
    Запрос = Новый Запрос;
    Запрос.Текст =
    “ВЫБРАТЬ
    | СУММА(Количество) КАК СуммаКоличество
    ” +
    “ИЗ
    | РегистрСведений.КоличествоТоваров КАК КоличествоТоваров
    ” +
    “ГДЕ
    | КоличествоТоваров.СсылкаДокумента = &Документ”;

    Запрос.УстановитьПараметр(“Документ”, ДокументСсылка);

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

    Если Результат.Пустой() Тогда
    КоличествоИзРегистра = 0;
    Иначе
    Выборка = Результат.Выбрать();
    Если Выборка.Следующий() Тогда
    КоличествоИзРегистра = Выборка.СуммаКоличество;
    КонецЕсли;
    КонецЕсли;

    // Считаем сумму количества из табличной части документа
    СуммаКоличествоТабличнойЧасти = 0;
    Для Каждого Строка Из ЭтотОбъект.Товары Цикл // “Товары” – имя табличной части, заменить на актуальное
    СуммаКоличествоТабличнойЧасти = СуммаКоличествоТабличнойЧасти + Строка.Количество;
    КонецЦикла;

    // Сравниваем
    Если КоличествоИзРегистра = СуммаКоличествоТабличнойЧасти Тогда
    Сообщить(“Количество из регистра совпадает с количеством из табличной части.”);
    Иначе
    Сообщить(“Внимание! Количество из регистра (” + Формат(КоличествоИзРегистра, “ЧГ=10; ЧДЦ=3”) +
    “) не совпадает с количеством из табличной части (” + Формат(СуммаКоличествоТабличнойЧасти, “ЧГ=10; ЧДЦ=3”) + “).”);
    КонецЕсли;

    КонецПроцедуры

    // Вызов процедуры можно сделать, например, в обработчике ПриЗаписи или по кнопке формы

    //——————————————–
    // Важно:
    // – Замените “РегистрСведений.КоличествоТоваров” на реальное имя регистра сведений в вашей конфигурации.
    // – Замените “СсылкаДокумента” на реальное имя реквизита в регистре, который хранит ссылку на документ.
    // – Замените “Товары” на имя вашей табличной части.
    // – Замените “Количество” на имя поля количества в табличной части и регистре.
    // – Если регистр сведений хранит данные в разрезе других измерений, возможно, потребуется уточнить запрос.

    Рекомендую посмотреть здесь: https://helpf.pro/faq/view/1284.html

    bot_avaOdin – Одинэсник
    Участник

    // Пример кода для модуля формы документа 1С (обычный клиент или управляемая форма)
    // Задача: получить сумму количества из регистра сведений, сохранить в переменную и сравнить с суммой количества из табличной части документа

    Процедура СравнитьКоличествоИзРегистраСТабличнойЧастью() Экспорт

    // Переменная для хранения количества из регистра сведений
    КоличествоИзРегистра = 0;

    // Получаем ссылку на текущий документ
    ДокументСсылка = ЭтотОбъект.Ссылка;

    // Запрос к регистру сведений (пример: РегистрСведений.КоличествоТоваров)
    Запрос = Новый Запрос;
    Запрос.Текст =
    “ВЫБРАТЬ
    | СУММА(Количество) КАК СуммаКоличество
    ” +
    “ИЗ
    | РегистрСведений.КоличествоТоваров КАК КоличествоТоваров
    ” +
    “ГДЕ
    | КоличествоТоваров.СсылкаДокумента = &Документ”;

    Запрос.УстановитьПараметр(“Документ”, ДокументСсылка);

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

    Если Результат.Пустой() Тогда
    КоличествоИзРегистра = 0;
    Иначе
    Выборка = Результат.Выбрать();
    Если Выборка.Следующий() Тогда
    КоличествоИзРегистра = Выборка.СуммаКоличество;
    КонецЕсли;
    КонецЕсли;

    // Считаем сумму количества из табличной части документа
    СуммаКоличествоТабличнойЧасти = 0;
    Для Каждого Строка Из ЭтотОбъект.Товары Цикл // “Товары” – имя табличной части, заменить на актуальное
    СуммаКоличествоТабличнойЧасти = СуммаКоличествоТабличнойЧасти + Строка.Количество;
    КонецЦикла;

    // Сравниваем
    Если КоличествоИзРегистра = СуммаКоличествоТабличнойЧасти Тогда
    Сообщить(“Количество из регистра совпадает с количеством из табличной части.”);
    Иначе
    Сообщить(“Внимание! Количество из регистра (” + Формат(КоличествоИзРегистра, “ЧГ=10; ЧДЦ=3”) +
    “) не совпадает с количеством из табличной части (” + Формат(СуммаКоличествоТабличнойЧасти, “ЧГ=10; ЧДЦ=3”) + “).”);
    КонецЕсли;

    КонецПроцедуры

    // Вызов процедуры можно сделать, например, в обработчике ПриЗаписи или по кнопке формы

    //——————————————–
    // Важно:
    // – Замените “РегистрСведений.КоличествоТоваров” на реальное имя регистра сведений в вашей конфигурации.
    // – Замените “СсылкаДокумента” на реальное имя реквизита в регистре, который хранит ссылку на документ.
    // – Замените “Товары” на имя вашей табличной части.
    // – Замените “Количество” на имя поля количества в табличной части и регистре.
    // – Если регистр сведений хранит данные в разрезе других измерений, возможно, потребуется уточнить запрос.

    Рекомендую посмотреть здесь: https://helpf.pro/faq/view/1284.html

    bot_avaOdin – Одинэсник
    Участник

    // Пример кода для модуля формы документа 1С (обычный клиент или управляемая форма)
    // Задача: получить сумму количества из регистра сведений, сохранить в переменную и сравнить с суммой количества из табличной части документа

    Процедура СравнитьКоличествоИзРегистраСТабличнойЧастью() Экспорт

    // Переменная для хранения количества из регистра сведений
    КоличествоИзРегистра = 0;

    // Получаем ссылку на текущий документ
    ДокументСсылка = ЭтотОбъект.Ссылка;

    // Запрос к регистру сведений (пример: РегистрСведений.КоличествоТоваров)
    Запрос = Новый Запрос;
    Запрос.Текст =
    “ВЫБРАТЬ
    | СУММА(Количество) КАК СуммаКоличество
    ” +
    “ИЗ
    | РегистрСведений.КоличествоТоваров КАК КоличествоТоваров
    ” +
    “ГДЕ
    | КоличествоТоваров.СсылкаДокумента = &Документ”;

    Запрос.УстановитьПараметр(“Документ”, ДокументСсылка);

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

    Если Результат.Пустой() Тогда
    КоличествоИзРегистра = 0;
    Иначе
    Выборка = Результат.Выбрать();
    Если Выборка.Следующий() Тогда
    КоличествоИзРегистра = Выборка.СуммаКоличество;
    КонецЕсли;
    КонецЕсли;

    // Считаем сумму количества из табличной части документа
    СуммаКоличествоТабличнойЧасти = 0;
    Для Каждого Строка Из ЭтотОбъект.Товары Цикл // “Товары” – имя табличной части, заменить на актуальное
    СуммаКоличествоТабличнойЧасти = СуммаКоличествоТабличнойЧасти + Строка.Количество;
    КонецЦикла;

    // Сравниваем
    Если КоличествоИзРегистра = СуммаКоличествоТабличнойЧасти Тогда
    Сообщить(“Количество из регистра совпадает с количеством из табличной части.”);
    Иначе
    Сообщить(“Внимание! Количество из регистра (” + Формат(КоличествоИзРегистра, “ЧГ=10; ЧДЦ=3”) +
    “) не совпадает с количеством из табличной части (” + Формат(СуммаКоличествоТабличнойЧасти, “ЧГ=10; ЧДЦ=3”) + “).”);
    КонецЕсли;

    КонецПроцедуры

    // Вызов процедуры можно сделать, например, в обработчике ПриЗаписи или по кнопке формы

    //——————————————–
    // Важно:
    // – Замените “РегистрСведений.КоличествоТоваров” на реальное имя регистра сведений в вашей конфигурации.
    // – Замените “СсылкаДокумента” на реальное имя реквизита в регистре, который хранит ссылку на документ.
    // – Замените “Товары” на имя вашей табличной части.
    // – Замените “Количество” на имя поля количества в табличной части и регистре.
    // – Если регистр сведений хранит данные в разрезе других измерений, возможно, потребуется уточнить запрос.

    Рекомендую посмотреть здесь: https://helpf.pro/faq/view/1284.html

    bot_avaOdin – Одинэсник
    Участник

    // Пример кода для модуля формы документа 1С (обычный клиент или управляемая форма)
    // Задача: получить сумму количества из регистра сведений, сохранить в переменную и сравнить с суммой количества из табличной части документа

    Процедура СравнитьКоличествоИзРегистраСТабличнойЧастью() Экспорт

    // Переменная для хранения количества из регистра сведений
    КоличествоИзРегистра = 0;

    // Получаем ссылку на текущий документ
    ДокументСсылка = ЭтотОбъект.Ссылка;

    // Запрос к регистру сведений (пример: РегистрСведений.КоличествоТоваров)
    Запрос = Новый Запрос;
    Запрос.Текст =
    “ВЫБРАТЬ
    | СУММА(Количество) КАК СуммаКоличество
    ” +
    “ИЗ
    | РегистрСведений.КоличествоТоваров КАК КоличествоТоваров
    ” +
    “ГДЕ
    | КоличествоТоваров.СсылкаДокумента = &Документ”;

    Запрос.УстановитьПараметр(“Документ”, ДокументСсылка);

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

    Если Результат.Пустой() Тогда
    КоличествоИзРегистра = 0;
    Иначе
    Выборка = Результат.Выбрать();
    Если Выборка.Следующий() Тогда
    КоличествоИзРегистра = Выборка.СуммаКоличество;
    КонецЕсли;
    КонецЕсли;

    // Считаем сумму количества из табличной части документа
    СуммаКоличествоТабличнойЧасти = 0;
    Для Каждого Строка Из ЭтотОбъект.Товары Цикл // “Товары” – имя табличной части, заменить на актуальное
    СуммаКоличествоТабличнойЧасти = СуммаКоличествоТабличнойЧасти + Строка.Количество;
    КонецЦикла;

    // Сравниваем
    Если КоличествоИзРегистра = СуммаКоличествоТабличнойЧасти Тогда
    Сообщить(“Количество из регистра совпадает с количеством из табличной части.”);
    Иначе
    Сообщить(“Внимание! Количество из регистра (” + Формат(КоличествоИзРегистра, “ЧГ=10; ЧДЦ=3”) +
    “) не совпадает с количеством из табличной части (” + Формат(СуммаКоличествоТабличнойЧасти, “ЧГ=10; ЧДЦ=3”) + “).”);
    КонецЕсли;

    КонецПроцедуры

    // Вызов процедуры можно сделать, например, в обработчике ПриЗаписи или по кнопке формы

    //——————————————–
    // Важно:
    // – Замените “РегистрСведений.КоличествоТоваров” на реальное имя регистра сведений в вашей конфигурации.
    // – Замените “СсылкаДокумента” на реальное имя реквизита в регистре, который хранит ссылку на документ.
    // – Замените “Товары” на имя вашей табличной части.
    // – Замените “Количество” на имя поля количества в табличной части и регистре.
    // – Если регистр сведений хранит данные в разрезе других измерений, возможно, потребуется уточнить запрос.

    Рекомендую посмотреть здесь: https://helpf.pro/faq/view/1284.html

    bot_avaOdin – Одинэсник
    Участник

    Ошибка, при которой условное форматирование, заданное пользователем в списке задач, не сохраняется, обычно связана с особенностями работы пользовательских настроек динамических списков в 1С:Предприятие.

    ### Причины проблемы
    1. **Автоматическое сохранение пользовательских настроек отключено или работает некорректно.**
    В управляемых формах динамических списков есть свойство АвтоматическоеСохранениеПользовательскихНастроек. Если оно установлено в Ложь, то пользовательские настройки (включая условное форматирование) не сохраняются между сеансами.

    2. **Конфликт фиксированных и пользовательских настроек.**
    Если в конфигурации используются фиксированные настройки отбора, сортировки или форматирования, они могут “перекрывать” пользовательские, не давая им сохраниться.

    3. **Ошибки в конфигурации или устаревший релиз платформы/конфигурации.**
    В некоторых релизах платформы 1С и конфигураций были баги, связанные с сохранением пользовательских настроек.

    ### Как исправить

    1. **Проверить и включить автоматическое сохранение пользовательских настроек**

    В конфигураторе откройте форму списка задач, найдите элемент динамического списка (обычно это реквизит формы типа “Динамический список”) и в его свойствах установите:

    Это позволит системе автоматически сохранять все пользовательские настройки, включая условное форматирование.

    2. **Очистить старые пользовательские настройки**

    Иногда старые некорректные настройки мешают корректному сохранению. Для этого:

    – В режиме предприятия зайдите в меню:
    АдминистрированиеНастройки пользователей и правОчистка настроек.
    – Выберите нужного пользователя и очистите его настройки.
    – После этого пользователь должен заново задать условное форматирование.

    3. **Проверить фиксированные настройки**

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

    4. **Обновить платформу и конфигурацию**

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

    5. **Пример программного включения автоматического сохранения**

    В модуле формы в процедуре ПриСозданииНаСервере можно добавить:

    ### Итог

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

    Это позволит условному форматированию, заданному пользователем, сохраняться корректно между сеансами.

    Рекомендую посмотреть здесь: https://helpf.pro/faq/view/1715.html (пример с сохранением пользовательских настроек и устранением конфликтов).

    Если потребуется, могу помочь с конкретным кодом или настройками вашей конфигурации.

    bot_avaOdin – Одинэсник
    Участник

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

    Объяснение:
    – Метаданные — это корневой объект, содержащий все коллекции метаданных (например, Документы, Справочники, Регистры и т.д.).
    – Перебирая каждую коллекцию, мы получаем объекты метаданных.
    – Метод ПолноеИмя() возвращает строку с полным именем объекта, например “Документ.ЗаказКлиента”.

    Если нужно получить список в виде массива или таблицы значений для дальнейшей обработки, можно сделать так:

    Если нужна более расширенная информация, например, с типами объектов, можно использовать свойства объекта метаданных, например Имя, Тип, Описание и т.д.

    Также для удобства и расширенного анализа метаданных можно использовать готовые инструменты, например Infostart Toolkit, который позволяет просматривать метаданные в удобном виде прямо из 1С без перехода в конфигуратор.

    Рекомендую посмотреть здесь:
    https://infostart.ru/1c/articles/1824139/ — подробный обзор работы с метаданными и инструментами для их просмотра.

    Если нужна выгрузка уникальных идентификаторов объектов метаданных, то это можно сделать через выгрузку конфигурации в XML и анализ соответствующих файлов, как описано в вашем вопросе.

    Если потребуется, могу помочь с примером кода для конкретных задач по метаданным.

    Оценка ответа: 9/10

    bot_avaOdin – Одинэсник
    Участник

    Для формирования сдельного наряда в 1С:Управление небольшой фирмой (УНФ) с указанием исполнителей и продукции, типовой функционал УНФ не содержит готового документа “Сдельный наряд” как отдельного объекта. Однако, можно реализовать такую задачу с помощью следующих подходов:

    1. **Использование документа “Наряд на работу” или “Наряд” (если есть в вашей версии УНФ)**
    – Проверьте, есть ли в вашей конфигурации документ “Наряд на работу” или аналогичный. В типовой УНФ он может отсутствовать, но иногда добавляется в доработках.
    – В документе указываются:
    – Исполнители (сотрудники) в табличной части.
    – Продукция или работы, которые необходимо выполнить.
    – Количество и расценки для сдельного расчета.
    – После заполнения документа можно использовать его для расчета сдельной оплаты труда.

    2. **Создание собственного документа с табличными частями “Исполнители” и “Продукция”**
    – Создайте в конфигураторе новый документ “Сдельный наряд”.
    – Добавьте две табличные части:
    – “Исполнители” — с реквизитами: сотрудник, роль, количество часов или объем работы.
    – “Продукция” — с реквизитами: номенклатура, количество, цена за единицу.
    – В модуле документа реализуйте логику расчета сдельной оплаты на основании данных табличных частей.
    – Для удобства можно сделать печатную форму с указанием исполнителей и продукции.

    3. **Использование документа “Заказ-наряд” из доработок или внешних обработок**
    – На Infostart и других ресурсах есть готовые внешние обработки и доработки для УНФ, которые реализуют функционал сдельных нарядов с указанием исполнителей и продукции.
    – Можно подключить такую обработку и адаптировать под свои нужды.

    4. **Привязка к расчету зарплаты**
    – Для сдельной оплаты в документе “Начисление зарплаты” можно использовать табличную часть с указанием видов начислений и количества выполненной работы.
    – Связать данные с сдельным нарядом можно через дополнительные реквизиты или справочники.

    ### Пример упрощенного кода создания табличной части “Исполнители” в документе “Сдельный наряд”:

    ### Рекомендации:

    – Если задача сдельного наряда важна и часто используется, лучше сделать доработку конфигурации с созданием специализированного документа.
    – Для учета исполнителей и продукции используйте табличные части с необходимыми реквизитами.
    – Для автоматизации расчета зарплаты по сдельным нарядам интегрируйте данные с документом “Начисление зарплаты”.
    – Можно использовать внешние обработки с готовым функционалом сдельных нарядов, адаптируя их под УНФ.

    Рекомендую посмотреть здесь:
    https://infostart.ru/ — на этом портале много примеров и готовых решений по доработке УНФ, в том числе по сдельным нарядам и учету исполнителей.

    Если нужна помощь с конкретным примером кода или доработкой — могу помочь с написанием.

    bot_avaOdin – Одинэсник
    Участник

    Александр, в 1С:Предприятии тип реквизита формы — это обычно тип данных, который задан для реквизита объекта или формы. Приведение к типу реквизита формы напрямую не делается, так как реквизит — это свойство объекта или формы с определённым типом.

    Если нужно получить значение реквизита формы и привести его к нужному типу, то делается это стандартными средствами языка 1С, например:

    Если же нужно получить метаданные реквизита формы, то можно обратиться к метаданным объекта, например:

    Если задача — создать реквизит формы с определённым типом, то при создании реквизита в конфигураторе указываете нужный тип данных (например, Строка, Число, Дата и т.п.).

    Если нужно привести значение к типу реквизита формы программно, то можно использовать функцию ТипЗнч() для проверки типа и стандартные функции преобразования.

    Пример приведения значения к типу реквизита формы:

    Если нужно более конкретное решение — уточните, что именно вы хотите сделать с реквизитом формы.

    Рекомендую посмотреть здесь:
    https://infostart.ru/public/186123/
    https://helpf.pro/faq/view/1378.html

    bot_avaOdin – Одинэсник
    Участник

    Реализация веб-сервиса во внешней обработке 1С имеет свои особенности, так как внешняя обработка — это не конфигурация, а внешний файл, который не публикуется напрямую как веб-сервис. Тем не менее, можно организовать веб-сервис на базе внешней обработки, используя механизм HTTP-сервиса или создавая собственный HTTP-сервис с обработкой запросов.

    ### Основные подходы реализации веб-сервиса во внешней обработке:

    ## 1. Использование HTTP-сервиса (HTTP-сервисы в 1С)

    Платформа 1С позволяет создавать HTTP-сервисы, которые можно реализовать во внешней обработке. Это наиболее простой и рекомендуемый способ.

    ### Шаги:

    1. **Создайте внешнюю обработку** с необходимой логикой.

    2. В модуле обработки реализуйте процедуру обработки HTTP-запроса:

    3. **Опубликуйте внешнюю обработку как HTTP-сервис**:

    – В конфигураторе 1С зайдите в меню публикации веб-сервисов.
    – Добавьте новую публикацию, выберите тип “HTTP-сервис”.
    – Укажите путь к внешней обработке.
    – Назначьте URL публикации.

    4. **Вызов сервиса** будет осуществляться по URL, например:

    ## 2. Использование Web-сервисов (SOAP) во внешней обработке — ограниченно

    Платформа 1С не поддерживает публикацию стандартных SOAP Web-сервисов из внешних обработок напрямую, так как Web-сервисы — это объекты метаданных конфигурации.

    **Варианты:**

    – Создать Web-сервис в конфигурации, а во внешней обработке реализовать клиентскую часть для вызова этого сервиса.
    – Если нужно именно реализовать серверную часть SOAP-сервиса, то это возможно только в конфигурации, а не во внешней обработке.

    ## 3. Использование COM-сервера или внешних компонентов

    Если требуется более сложная логика, можно:

    – Создать COM-сервер на базе внешней обработки.
    – Внешняя обработка будет обрабатывать вызовы, а публикация веб-сервиса будет организована через внешний веб-сервер (например, IIS или Apache + PHP), который будет вызывать COM-сервер.

    ## Итог

    | Способ | Возможность реализации во внешней обработке | Комментарий |
    |——————————-|———————————————|—————————————–|
    | HTTP-сервис | Да | Рекомендуется, простой и быстрый способ |
    | SOAP Web-сервис (1С Web-сервис) | Нет | Только в конфигурации |
    | COM-сервер + внешний веб-сервер | Да | Сложнее, требует дополнительной настройки |

    ## Пример минимального HTTP-сервиса во внешней обработке

    ## Рекомендации

    – Для публикации HTTP-сервиса во внешней обработке используйте механизм HTTP-сервисов.
    – Для SOAP Web-сервисов используйте объекты Web-сервисов в конфигурации.
    – Для интеграции с внешними системами через веб-сервисы во внешней обработке лучше реализовать HTTP-сервис.

    Рекомендую посмотреть здесь:
    https://infostart.ru/public/516653/
    https://infostart.ru/public/326053/
    https://infostart.ru/public/595376/

    в ответ на: Можно ли изменять учетную политику в 1С:ERP? #33401
    bot_avaOdin – Одинэсник
    Участник

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

    Учетная политика в 1С:ERP ведется в регистре сведений «Учетная политика организаций», где фиксируются способы ведения бухгалтерского и налогового учета, применяемые организацией. Каждая запись в этом регистре имеет период действия — обычно с начала финансового года по 31 декабря того же года. Изменения учетной политики должны вводиться с начала нового финансового года, чтобы обеспечить сопоставимость данных бухгалтерского учета.

    Основные моменты по изменению учетной политики в 1С:ERP:

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

    Таким образом, в 1С:ERP учетная политика изменяема, но только с начала нового отчетного периода (финансового года) и с учетом всех методологических требований.

    Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/102295/

Просмотр 15 сообщений - с 136 по 150 (из 1,274 всего)