К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Коронавирус Кубани
Рекомендовать в новости

Помогите студенту, пожалуйста!

0 - 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);



1 - 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);
2 - 06.06.2020 - 16:02
Создай реквизит формы типа ТаблицаЗначений. При открытии формы задавай ей структуру (наполняй колонками). А в процедуре формирования отчета уже заполняй эту таблицу строками.
3 - 06.06.2020 - 16:13
2-US1C >
Да! Таблица значений на форме есть.
Я не могу понять в какой последовательности все в модуле прописывать.
Сначала Запрос?
Вот это "ТЗ = СоздатьОбъект("ТаблицаЗначений");" в какой момент?
4 - 06.06.2020 - 16:30
Вот когда пишу так

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

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

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

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

То таблица на форме заполняется данными. Но столбцы озаглавлены функциями и идут в той последовательности, в какой написаны функции.
5 - 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);
6 - 06.06.2020 - 18:30
(5) Не обратил внимание, идентификатор колонок так нельзя указывать. Имя должно быть без пробелов, начинаться с буквы или подчеркивания. Так "123" нельзя, а так "_123" можно. Заголовок колонок на форме идет 5-м параметром метода НоваяКолонка().
7 - 06.06.2020 - 18:40
6-US1C >
А ТЗ - это должен быть идентификатор таблицы значений на форме?
8 - 06.06.2020 - 18:45
(7) Совершенно верно.
9 - 06.06.2020 - 18:49
Цитата:
Сообщение от tutsi Посмотреть сообщение
Я не могу понять в какой последовательности все в модуле прописывать.
Структуру ТаблицыЗначений можешь создать заранее. Либо в процедуре ПриОткрытии(), либо перед выборкой из запроса. Я бы сделал при открытии. Так сразу будет видна понятная таблица, а не пустое одноколоночное поле.

А заполнять строки таблицы будешь уже в цикле выборки из запроса.
10 - 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,"Всего продаж");

Или тут нужно выводить вообще все колонки, а потом скрывать ненужные?
И как обозначить колонки, в которых вычисление?
11 - 06.06.2020 - 19:25
Не могу найти в сети что-то подробное по семерке почитать по таблице значений. Чтобы с примерами было.
12 - 06.06.2020 - 19:34
ТЗ.НоваяКолонка("Продажа","Число",15,2,"Продажа в розницу");

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

ТЗ.НоваяСтрока();
ТЗ.Продажа = Запрос.РеализацияП1;
13 - 06.06.2020 - 19:36
9-US1C >
В Синтаксисе вот так написано
УстановитьПараметрыКолонки(,,,,,,,);
Означает ли это, что мне нужно также написать в процедуре ПриОткрытии()? Или, все-таки, я пишу ТЗ.НоваяКолонка(,,,,,,,);?
Нам ничего из этого не объясняли. Все на самоизучении...
14 - 06.06.2020 - 19:37
Цитата:
Сообщение от tutsi Посмотреть сообщение
Не могу найти в сети что-то подробное по семерке почитать по таблице значений. Чтобы с примерами было.
Почитать не могу предложить, а обработку с ТЗ в том числе могу прислать. Напиши мыло в личку.
15 - 06.06.2020 - 19:38
(13) Это для переназначения параметров уже имеющейся в ТЗ колонки. Новую ТЗ надо создавать через НоваяКолонка().
16 - 06.06.2020 - 20:05
Цитата:
Сообщение от US1C Посмотреть сообщение
Напиши мыло в личку.
Пытаюсь. Появляется сообщение "Вы не можете отправить сообщение US1C, поскольку он(а) не разрешил(а) принимать личные сообщения, либо ему(ей) не разрешено это делать."
17 - 06.06.2020 - 20:09
А сейчас?
18 - 06.06.2020 - 20:23
Отправил
19 - 06.06.2020 - 21:09
ну. на мисте тоже советы дали.. ;-)
если есть понимание ЧТО надо сделать, но трудности с технической реализацией моментов или расскаpать/поучить/показать - стучись в скайп Zlopun
20 - 06.06.2020 - 21:49
Ну! На форму уже таблицу как надо вывели.
Не могу понять пока, почему не заполняет данными.
После Запрос.Выполнить(ТекстЗапроса) что писать? Пока ТЗ.ПолучитьСтроку() = 1 Цикл
21 - 06.06.2020 - 22:13
20-tutsi >ну так звони скайпом. а то ту пальцем тыкать мозоль уже
22 - 06.06.2020 - 22:17
21-Сергей Че >
Пока пробуем разобраться сами.
23 - 06.06.2020 - 22:27
Цитата:
Сообщение от tutsi Посмотреть сообщение
После Запрос.Выполнить(ТекстЗапроса) что писать? Пока ТЗ.ПолучитьСтроку() = 1 Цикл
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
Пока Запрос.Группировка(1) = 1 Цикл
ТЗ.НоваяСтрока();
ТЗ.Склад = Запрос.Склад;
ТЗ.Продажа = Запрос.РеализацияП1;
ТЗ.Возврат = Запрос.ВозвратП1;
КонецЦикла;
24 - 06.06.2020 - 22:43
23-US1C >
Оператор Return (Возврат) не может употребляться вне процедуры или функции
25 - 06.06.2020 - 22:48
Цитата:
Сообщение от tutsi Посмотреть сообщение
23-US1C > Оператор Return (Возврат) не может употребляться вне процедуры или функции
Естественно. Это все должно находится в процедуре формирования ТЗ из результата запроса. Т.е. по кнопочке на форме "Сформировать" вызывается процедура модуля формы Сформировать(). Там инициируется Запрос, выполняется, а затем обходится выборка по нему: Пока Запрос.Группировка(НомерГруппировки)=1 Цикл
Ну и т.д.
26 - 07.06.2020 - 10:14
25-US1C >
Доброе утро!
Сегодня нет возможности проверить правильность отчета в программе. Если не трудно, посмотрите, пожалуйста!
Сомневаюсь в правильности суммирования результатов колонок ТЗ и выгрузки итогов в ТЗ на форме.

Процедура ПриОткрытии()
ТЗ.НоваяКолонка("ПродажаП1П2Корректировка","Число" ,15,2,"Продажа 1 этаж");
ТЗ.НоваяКолонка("ВозвратП1П2","Число",15,2,"Возвра т 1 этаж");
ТЗ.НоваяКолонка("ВсегоП1П2","Число",15,2,"Итого 1 этаж");
ТЗ.НоваяКолонка("ПродажаП3Корректировка","Число",1 5,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;
Сообщить(ТЗ.Итоги);
КонецЦикла;
ТЗ.Выгрузить(ТЗ);
КонецПроцедуры
27 - 07.06.2020 - 11:58
(26) Невнимательно смотрели предыдущие коменты.
1. После выполнения запроса делаем цикл по выборке из запроса, а не по ТЗ.
Не "Пока ТЗ.ПолучитьСтроку() = 1 Цикл", а "Пока Запрос.Группировка(1) = 1 Цикл".

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

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

4. Итоги по ТЗ получить можно так: ТЗ.Итог("Продажи"), где "Продажи" - идентификатор колонки ТЗ с данными типа число.
28 - 07.06.2020 - 12:19
Цитата:
Сообщение от US1C Посмотреть сообщение
"Пока Запрос.Группировка(1) = 1 Цикл"
То есть цикл будет только в случае наличия группировки?


Цитата:
Сообщение от US1C Посмотреть сообщение
Итоги по ТЗ получить можно так: ТЗ.Итог("Продажи"), где "Продажи" - идентификатор колонки ТЗ с данными типа число.
Итоги получаем для каждого столбца отдельно?
29 - 07.06.2020 - 13:52
Цитата:
Сообщение от tutsi Посмотреть сообщение
То есть цикл будет только в случае наличия группировки?
Да. Для этого мы и выполняем запрос, чтобы получить данные и пройтись по ним. А при проверке запроса на пустые данные прерываем процедуру возвратом.

Цитата:
Сообщение от tutsi Посмотреть сообщение
Итоги получаем для каждого столбца отдельно?
Совершенно верно.
30 - 07.06.2020 - 13:53
Цитата:
Сообщение от US1C Посмотреть сообщение
Да. Для этого мы и выполняем запрос, чтобы получить данные и пройтись по ним. А при проверке запроса на пустые данные прерываем процедуру возвратом.
А если группировка отсутствует, то как тогда?
31 - 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;
32 - 07.06.2020 - 13:59
И дальше

ТЗ.Итог("Продажа 1 этаж");
ТЗ.Итог("Возврат 1 этаж");
ТЗ.Итог("Итого 1 этаж");
ТЗ.Итог("Продажа 2 этаж");
ТЗ.Итог("Возврат 2 этаж");
ТЗ.Итог("Итого 2 этаж");
ТЗ.Итог("Всего продаж");
33 - 07.06.2020 - 13:59
Цитата:
Сообщение от tutsi Посмотреть сообщение
А если группировка отсутствует, то как тогда?
Тогда у нас нет данных, соответствующих запросу. Отчет пустой. Поэтому ТЗ.УдалитьСтроки(); надо вызывать раньше выполнения запроса. Иначе если таблица не пустая, то может сложится впечатление, что мы получили данные из запроса, который на самом деле пустой.
34 - 07.06.2020 - 14:03
Цитата:
Сообщение от US1C Посмотреть сообщение
Поэтому ТЗ.УдалитьСтроки(); надо вызывать раньше выполнения запроса.
Так?

ТЗ.УдалитьСтроки();
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
35 - 07.06.2020 - 14:17
ТЗ на форме заполняется, но без учета корректировки.
Правильно ли в этих строках указано через Форма.Корректировка?

ТЗ.ПродажаП1П2Корректировка = Запрос.РеализацияП1 + Запрос.РеализацияП2 + Форма.Корректировка;
ТЗ.ВсегоП3 = ТЗ.ПродажаП3Корректировка - ТЗ.ПродажаП3Возврат;
36 - 07.06.2020 - 14:19
Точнее вот в этих строках.

ТЗ.ПродажаП1П2Корректировка = Запрос.РеализацияП1 + Запрос.РеализацияП2 + Форма.Корректировка;
ТЗ.ПродажаП3Корректировка = Запрос.РеализацияП3 - Форма.Корректировка;
37 - 07.06.2020 - 14:22
33-US1C >

Всё! Работает!
Уважаемый US1C СПАСИБО ОГРОМНОЕ!!!
38 - 07.06.2020 - 14:26
Нет, к значению реквизита формы надо обращаться просто по идентификатору: "Корректировка".
ТЗ.ПродажаП3Корректировка = Запрос.РеализацияП3 - Корректировка;
39 - 07.06.2020 - 20:38
Из неполучающегося.
Когда результаты запроса выводятся в текстовое поле на форму, не удается изменить формат отображения. То есть не получается показывать число с двумя знаками после запятой. Делали через "Формат".
И вот еще.
Есть внешний отчет - "калькулятор".
То есть, на форме 11 числовых полей Кол5к1, Кол2к1, Кол1к1, Кол5001, Кол2001, Кол1001, Кол501, Кол101, Кол51, Кол21, Кол11.
В эти поля вносится количество купюр.
Вопрос такой.
Как сохранять настройки этих полей так, чтобы они открывались у любого пользователя? Через СписокЗначений?


К списку вопросов
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск




Copyright ©, Все права защищены