Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Помогите студенту, пожалуйста! (http://forums.kuban.ru/f1040/pomogite_studentu_pozhalujsta-9068264.html)

tutsi 06.06.2020 14:10

Помогите студенту, пожалуйста!
 
Удаленное обучение, к сожалению, мало добавило знаний.
Помогите, пожалуйста, разобраться с заданием.
Выполнять нужно на ТиС.
Сам запрос сделали. Работает правильно. Печатную форму тоже создали. Препод всё проверил. Сказал, что норм.
Не получается вывести данные отчета на форму.
И не могу разобраться с таблицей значений.

ЗАДАНИЕ
Магазин ведёт учёт продаж и возвратов товара по складам и проектам.
В течение дня возникает необходимость проверить продажи в разрезе некоторых учетных единиц.
Учёт продаж ведётся документами Реализация и РеализацияРозница. Учёт возвратов с помощью документа ВозвратОтПокупателя.
Создайте отчёт, позволяющий учесть продажи по трём выборочным проектам (П1, П2, П3) с группировкой по складам, причём наименования и количество складов зависит от данных, введённых в пользовательском режиме. Результат отчета должен формироваться, с учётом корректирующей величины (Корректировка), вводимой через числовое поле на форме отчета, в таблице значений и выводиться в текстовое поле на форме отчета по следующей формуле.

Продажа П1+П2+Корректировка, Возврат П1+П2, Итог (Продажа П1+П2)-(Возврат П1+П2)+Корректировка
Продажа П3-Корректировка, Возврат П3, Итог (Продажа П3)-(Возврат П3)
Результат ((Продажа П1+П2)-(Возврат П1+П2)+(Продажа П3)-(Возврат П3)-Корректировка)
Наименование столбцов
Продажа первый этаж - для (Продажа П1+П2)
Возврат первый этаж - для (Возврат П1+П2)
Итого первый этаж - для (Итог (Продажа П1+П2)-(Возврат П1+П2))
Продажа второй этаж - для (Продажа П3)
Возврат второй этаж - для (Возврат П3)
Итого второй этаж - для (Итог (Продажа П3)-(Возврат П3))
Всего продаж - для (Результат ((Продажа П1+П2)-(Возврат П1+П2)+(Продажа П3)-(Возврат П3)))

Отчёт должен учитывать продажи только за текущий день, без возможности изменения периода на форме.
Сделайте кнопку, позволяющую обновлять результат в течение дня, без закрытия формы отчета.

Создайте такой же отчёт, с выводом данных в таблицу значений, расположенную на форме.

Создайте печатную форму отчета.

Модуль отчета

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

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

tutsi 06.06.2020 14:33

Вот создаю таблицу значений

ТЗ = СоздатьОбъект("ТаблицаЗначений");
ТЗ.НоваяКолонка("Продажа 1 этаж","Число",15,0);
ТЗ.НоваяКолонка("Возврат 1 этаж","Число",15,0);
ТЗ.НоваяКолонка("Итого 1 этаж","Число",15,0);
ТЗ.НоваяКолонка("Продажа 2 этаж","Число",15,0);
ТЗ.НоваяКолонка("Возврат 2 этаж","Число",15,0);
ТЗ.НоваяКолонка("Итого 2 этаж","Число",15,0);
ТЗ.НоваяКолонка("Всего продаж","Число",15,0);

US1C 06.06.2020 16:02

Создай реквизит формы типа ТаблицаЗначений. При открытии формы задавай ей структуру (наполняй колонками). А в процедуре формирования отчета уже заполняй эту таблицу строками.

tutsi 06.06.2020 16:13

2-US1C >
Да! Таблица значений на форме есть.
Я не могу понять в какой последовательности все в модуле прописывать.
Сначала Запрос?
Вот это "ТЗ = СоздатьОбъект("ТаблицаЗначений");" в какой момент?

tutsi 06.06.2020 16:30

Вот когда пишу так

Процедура ЗаполнитьТаблицу()

Итоги.УдалитьСтроки();

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

Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//**{ЗАПРОС(ОтчетКассира)
|Период с (ТекущаяДата()) по (ТекущаяДата());
|Обрабатывать НеПомеченныеНаУдаление;
|Реализация = Документ.Реализация.ТекущийДокумент, Документ.РеализацияРозница.ТекущийДокумент;
|ВозвратОтПокупателя = Документ.ВозвратОтПокупателя.ТекущийДокумент;
|Склад = Документ.Реализация.Склад.Наименование, Документ.ВозвратОтПокупателя.Склад.Наименование, Документ.РеализацияРозница.Склад.Наименование;
|Проект = Документ.Реализация.Проект, Документ.ВозвратОтПокупателя.Проект, Документ.РеализацияРозница.Проект;
|Фирма = Документ.ВозвратОтПокупателя.Фирма.Наименование, Документ.Реализация.Фирма.Наименование, Документ.РеализацияРозница.Фирма.Наименование;
|СуммаВозврат = Документ.ВозвратОтПокупателя.Сумма;
|СуммаРеализация = Документ.Реализация.Сумма, Документ.РеализацияРозница.Сумма;
|Функция РеализацияП1 = Сумма(СуммаРеализация) когда(Проект.Наименование = ""П1"");
|Функция РеализацияП2 = Сумма(СуммаРеализация) когда(Проект.Наименование = ""П2"");
|Функция РеализацияП3 = Сумма(СуммаРеализация) когда(Проект.Наименование = ""П3"");
|Функция ВозвратП1 = Сумма(СуммаВозврат) когда(Проект.Наименование = ""П1"");
|Функция ВозвратП2 = Сумма(СуммаВозврат) когда(Проект.Наименование = ""П2"");
|Функция ВозвратП3 = Сумма(СуммаВозврат) когда(Проект.Наименование = ""П3"");
|Группировка Склад;
|"//****ЗАПРОС
;
Запрос.Выполнить(ТекстЗапроса);

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

US1C 06.06.2020 18:26

Если ТаблицаЗначений на форме есть, не надо создавать объект "ТаблицаЗначений".
Просто заполняешь ее колонками, в той последовательности, которую запланировал:

ТЗ.НоваяКолонка("Продажа 1 этаж","Число",15,0);
ТЗ.НоваяКолонка("Возврат 1 этаж","Число",15,0);
ТЗ.НоваяКолонка("Итого 1 этаж","Число",15,0);
ТЗ.НоваяКолонка("Продажа 2 этаж","Число",15,0);
ТЗ.НоваяКолонка("Возврат 2 этаж","Число",15,0);
ТЗ.НоваяКолонка("Итого 2 этаж","Число",15,0);
ТЗ.НоваяКолонка("Всего продаж","Число",15,0);

US1C 06.06.2020 18:30

(5) Не обратил внимание, идентификатор колонок так нельзя указывать. Имя должно быть без пробелов, начинаться с буквы или подчеркивания. Так "123" нельзя, а так "_123" можно. Заголовок колонок на форме идет 5-м параметром метода НоваяКолонка().

tutsi 06.06.2020 18:40

6-US1C >
А ТЗ - это должен быть идентификатор таблицы значений на форме?

US1C 06.06.2020 18:45

(7) Совершенно верно.

US1C 06.06.2020 18:49

[quote=tutsi;47713620]Я не могу понять в какой последовательности все в модуле прописывать.[/quote]

Структуру ТаблицыЗначений можешь создать заранее. Либо в процедуре ПриОткрытии(), либо перед выборкой из запроса. Я бы сделал при открытии. Так сразу будет видна понятная таблица, а не пустое одноколоночное поле.

А заполнять строки таблицы будешь уже в цикле выборки из запроса.

tutsi 06.06.2020 19:23

9-US1C >

А что будет идентификатором колонки служить?
Вот в этом случае что будет первым значением?
ТЗ.НоваяКолонка(,"Число",15,0,"Продажа 1 этаж");
ТЗ.НоваяКолонка(,"Число",15,0,"Возврат 1 этаж");
ТЗ.НоваяКолонка(,"Число",15,0,"Итого 1 этаж");
ТЗ.НоваяКолонка(,"Число",15,0,"Продажа 2 этаж");
ТЗ.НоваяКолонка(,"Число",15,0,"Возврат 2 этаж");
ТЗ.НоваяКолонка(,"Число",15,0,"Итого 2 этаж");
ТЗ.НоваяКолонка(,"Число",15,0,"Всего продаж");

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

tutsi 06.06.2020 19:25

Не могу найти в сети что-то подробное по семерке почитать по таблице значений. Чтобы с примерами было.

US1C 06.06.2020 19:34

ТЗ.НоваяКолонка("Продажа","Число",15,2,"Продажа в розницу");

В цикле выборки результата:

ТЗ.НоваяСтрока();
ТЗ.Продажа = Запрос.РеализацияП1;

tutsi 06.06.2020 19:36

9-US1C >
В Синтаксисе вот так написано
УстановитьПараметрыКолонки(,,,,,,,);
Означает ли это, что мне нужно также написать в процедуре ПриОткрытии()? Или, все-таки, я пишу ТЗ.НоваяКолонка(,,,,,,,);?
Нам ничего из этого не объясняли. Все на самоизучении...

US1C 06.06.2020 19:37

[quote=tutsi;47713952] Не могу найти в сети что-то подробное по семерке почитать по таблице значений. Чтобы с примерами было. [/quote]

Почитать не могу предложить, а обработку с ТЗ в том числе могу прислать. Напиши мыло в личку.

US1C 06.06.2020 19:38

(13) Это для переназначения параметров уже имеющейся в ТЗ колонки. Новую ТЗ надо создавать через НоваяКолонка().

tutsi 06.06.2020 20:05

[quote=US1C;47713970]Напиши мыло в личку.[/quote]
Пытаюсь. Появляется сообщение "Вы не можете отправить сообщение US1C, поскольку он(а) не разрешил(а) принимать личные сообщения, либо ему(ей) не разрешено это делать."

US1C 06.06.2020 20:09

А сейчас?

US1C 06.06.2020 20:23

Отправил

Zlop 06.06.2020 21:09

ну. на мисте тоже советы дали.. ;-)
если есть понимание ЧТО надо сделать, но трудности с технической реализацией моментов или расскаpать/поучить/показать - стучись в скайп Zlopun

tutsi 06.06.2020 21:49

Ну! На форму уже таблицу как надо вывели.
Не могу понять пока, почему не заполняет данными.
После Запрос.Выполнить(ТекстЗапроса) что писать? Пока ТЗ.ПолучитьСтроку() = 1 Цикл

Zlop 06.06.2020 22:13

20-tutsi >ну так звони скайпом. а то ту пальцем тыкать мозоль уже

tutsi 06.06.2020 22:17

21-Сергей Че >
Пока пробуем разобраться сами.

US1C 06.06.2020 22:27

[quote=tutsi;47714194]После Запрос.Выполнить(ТекстЗапроса) что писать? Пока ТЗ.ПолучитьСтроку() = 1 Цикл[/quote]

Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
Пока Запрос.Группировка(1) = 1 Цикл
ТЗ.НоваяСтрока();
ТЗ.Склад = Запрос.Склад;
ТЗ.Продажа = Запрос.РеализацияП1;
ТЗ.Возврат = Запрос.ВозвратП1;
КонецЦикла;

tutsi 06.06.2020 22:43

23-US1C >
Оператор Return (Возврат) не может употребляться вне процедуры или функции

US1C 06.06.2020 22:48

[quote=tutsi;47714259] 23-US1C > Оператор Return (Возврат) не может употребляться вне процедуры или функции [/quote]

Естественно. Это все должно находится в процедуре формирования ТЗ из результата запроса. Т.е. по кнопочке на форме "Сформировать" вызывается процедура модуля формы Сформировать(). Там инициируется Запрос, выполняется, а затем обходится выборка по нему: Пока Запрос.Группировка(НомерГруппировки)=1 Цикл
Ну и т.д.

tutsi 07.06.2020 10:14

25-US1C >
Доброе утро!
Сегодня нет возможности проверить правильность отчета в программе. Если не трудно, посмотрите, пожалуйста!
Сомневаюсь в правильности суммирования результатов колонок ТЗ и выгрузки итогов в ТЗ на форме.

Процедура ПриОткрытии()
ТЗ.НоваяКолонка("ПродажаП1П2Корректировка","Число",15,2,"Продажа 1 этаж");
ТЗ.НоваяКолонка("ВозвратП1П2","Число",15,2,"Возврат 1 этаж");
ТЗ.НоваяКолонка("ВсегоП1П2","Число",15,2,"Итого 1 этаж");
ТЗ.НоваяКолонка("ПродажаП3Корректировка","Число",15,2,"Продажа 2 этаж");
ТЗ.НоваяКолонка("ВозвратП3","Число",15,2,"Возврат 2 этаж");
ТЗ.НоваяКолонка("ВсегоП3","Число",15,2,"Итого 2 этаж");
ТЗ.НоваяКолонка("Продажи","Число",15,2,"Всего продаж");
ТЗ.УдалитьСтроки();

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


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

Пока ТЗ.ПолучитьСтроку() = 1 Цикл
ТЗ.НоваяСтрока();
ТЗ.ПродажаП1П2Корректировка = Запрос.РеализацияП1 + Запрос.РеализацияП2 + Форма.Корректировка;
ТЗ.ВозвратП1П2 = Запрос.ВозвратП1 + Запрос.ВозвратП2;
ТЗ.ВсегоП1П2 = ТЗ.ПродажаП1П2Корректировка - ТЗ.ВозвратП1П2;
ТЗ.ПродажаП3Корректировка = Запрос.РеализацияП3 - Форма.Корректировка;
ТЗ.ПродажаП3Возврат = Запрос.ВозвратП3;
ТЗ.ВсегоП3 = ТЗ.ПродажаП3Корректировка - ТЗ.ПродажаП3Возврат;
ТЗ.Продажи = ТЗ.ВсегоП1П2 + ТЗ.ВсегоП3;
Сообщить(ТЗ.Итоги);
КонецЦикла;
ТЗ.Выгрузить(ТЗ);
КонецПроцедуры

US1C 07.06.2020 11:58

(26) Невнимательно смотрели предыдущие коменты.
1. После выполнения запроса делаем цикл по выборке из запроса, а не по ТЗ.
Не "Пока ТЗ.ПолучитьСтроку() = 1 Цикл", а "Пока Запрос.Группировка(1) = 1 Цикл".

2. Выгрузка из ТЗ в неё же бессмыслена:"ТЗ.Выгрузить(ТЗ);".

3. "ТЗ.УдалитьСтроки();" лучше делать при формировании отчета, перед заполнением таблицы. В самом начале там и так нет никаких строк. А вот нажав несколько раз кнопку "СформироватьОтчет" вы получите дублирование данных.

4. Итоги по ТЗ получить можно так: ТЗ.Итог("Продажи"), где "Продажи" - идентификатор колонки ТЗ с данными типа число.

tutsi 07.06.2020 12:19

[quote=US1C;47715003]"Пока Запрос.Группировка(1) = 1 Цикл"[/quote]

То есть цикл будет только в случае наличия группировки?


[quote=US1C;47715003]Итоги по ТЗ получить можно так: ТЗ.Итог("Продажи"), где "Продажи" - идентификатор колонки ТЗ с данными типа число.[/quote]

Итоги получаем для каждого столбца отдельно?

US1C 07.06.2020 13:52

[quote=tutsi;47715044]То есть цикл будет только в случае наличия группировки?[/quote]

Да. Для этого мы и выполняем запрос, чтобы получить данные и пройтись по ним. А при проверке запроса на пустые данные прерываем процедуру возвратом.

[quote=tutsi;47715044]Итоги получаем для каждого столбца отдельно?[/quote]

Совершенно верно.

tutsi 07.06.2020 13:53

[quote=US1C;47715300]Да. Для этого мы и выполняем запрос, чтобы получить данные и пройтись по ним. А при проверке запроса на пустые данные прерываем процедуру возвратом. [/quote]

А если группировка отсутствует, то как тогда?

tutsi 07.06.2020 13:54

Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;

ТЗ.УдалитьСтроки();

ТЗ.НоваяСтрока();
ТЗ.ПродажаП1П2Корректировка = Запрос.РеализацияП1 + Запрос.РеализацияП2 + Форма.Корректировка;
ТЗ.ВозвратП1П2 = Запрос.ВозвратП1 + Запрос.ВозвратП2;
ТЗ.ВсегоП1П2 = ТЗ.ПродажаП1П2Корректировка - ТЗ.ВозвратП1П2;
ТЗ.ПродажаП3Корректировка = Запрос.РеализацияП3 - Форма.Корректировка;
ТЗ.ПродажаП3Возврат = Запрос.ВозвратП3;
ТЗ.ВсегоП3 = ТЗ.ПродажаП3Корректировка - ТЗ.ПродажаП3Возврат;
ТЗ.Продажи = ТЗ.ВсегоП1П2 + ТЗ.ВсегоП3;

tutsi 07.06.2020 13:59

И дальше

ТЗ.Итог("Продажа 1 этаж");
ТЗ.Итог("Возврат 1 этаж");
ТЗ.Итог("Итого 1 этаж");
ТЗ.Итог("Продажа 2 этаж");
ТЗ.Итог("Возврат 2 этаж");
ТЗ.Итог("Итого 2 этаж");
ТЗ.Итог("Всего продаж");

US1C 07.06.2020 13:59

[quote=tutsi;47715304]А если группировка отсутствует, то как тогда?[/quote]

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

tutsi 07.06.2020 14:03

[quote=US1C;47715317]Поэтому ТЗ.УдалитьСтроки(); надо вызывать раньше выполнения запроса.[/quote]

Так?

ТЗ.УдалитьСтроки();
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;

tutsi 07.06.2020 14:17

ТЗ на форме заполняется, но без учета корректировки.
Правильно ли в этих строках указано через Форма.Корректировка?

ТЗ.ПродажаП1П2Корректировка = Запрос.РеализацияП1 + Запрос.РеализацияП2 + Форма.Корректировка;
ТЗ.ВсегоП3 = ТЗ.ПродажаП3Корректировка - ТЗ.ПродажаП3Возврат;

tutsi 07.06.2020 14:19

Точнее вот в этих строках.

ТЗ.ПродажаП1П2Корректировка = Запрос.РеализацияП1 + Запрос.РеализацияП2 + Форма.Корректировка;
ТЗ.ПродажаП3Корректировка = Запрос.РеализацияП3 - Форма.Корректировка;

tutsi 07.06.2020 14:22

33-US1C >

Всё! Работает!
Уважаемый US1C СПАСИБО ОГРОМНОЕ!!!

US1C 07.06.2020 14:26

Нет, к значению реквизита формы надо обращаться просто по идентификатору: "Корректировка".
ТЗ.ПродажаП3Корректировка = Запрос.РеализацияП3 - Корректировка;

tutsi 07.06.2020 20:38

Из неполучающегося.
Когда результаты запроса выводятся в текстовое поле на форму, не удается изменить формат отображения. То есть не получается показывать число с двумя знаками после запятой. Делали через "Формат".
И вот еще.
Есть внешний отчет - "калькулятор".
То есть, на форме 11 числовых полей Кол5к1, Кол2к1, Кол1к1, Кол5001, Кол2001, Кол1001, Кол501, Кол101, Кол51, Кол21, Кол11.
В эти поля вносится количество купюр.
Вопрос такой.
Как сохранять настройки этих полей так, чтобы они открывались у любого пользователя? Через СписокЗначений?


Текущее время: 06:45. Часовой пояс GMT +3.