Size: a a a

1с программирование

2020 July 28

S

Simonov in 1с программирование
блин, со срезом последних на дату документа можно встрять на проведении задним числом 🤔
источник

DR

D R in 1с программирование
Simonov
если пишешь приоритеты документом, то в модуле объекта в ПередЗаписью делаешь срез последних по менеджеру/ам на дату докумета, с условием на РазностьДат между периодом в регистре и датой документа
почему Перед записью, а не Обработка проведения\заполнения? как понимать в каком событии надо писать код?
источник

S

Simonov in 1с программирование
D R
почему Перед записью, а не Обработка проведения\заполнения? как понимать в каком событии надо писать код?
хороший вопрос! если речь о контролях, надо понимать какого рода эти контроли. если пишешь движения по новой методике, то логично что контроль будет в обработке проведения, т.к. для контроля нужны записи в регистрах
источник

S

Simonov in 1с программирование
почему при старой методике контроль принято делать в обработке проведения? думаю что потому что для и для контроля и для записи в регистр в этом случае требуется накладывать блокировку на запись. по-идее, блокировки нужно делать на как можно более короткий период.
источник

ПВ

Павел Воробьев... in 1с программирование
добрый день
делаю вот так
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.Текст = "ВЫБРАТЬ * ПОМЕСТИТЬ ТЗ ИЗ &ТЗ КАК ТЗ";
Запрос.УстановитьПараметр("ТЗ", ТЗ);
Запрос.Выполнить();
но получаю ошибку
{(22, 2)}: Неверные параметры "ТЗ"
<<?>>&ТЗ КАК Таблица
{ВнешняяОбработка.КорректировкаСозданиеДоговоровГПХ.Форма.Форма.Форма(175)}:          Запрос.Выполнить();
{ВнешняяОбработка.КорректировкаСозданиеДоговоровГПХ.Форма.Форма.Форма(362)}:  КорректировкаСозданиеНаСервере();

по причине:
{(22, 2)}: Неверные параметры "ТЗ"
<<?>>&ТЗ КАК ТЗ
в чем ошибка?
источник

ES

E S in 1с программирование
Павел Воробьев
добрый день
делаю вот так
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.Текст = "ВЫБРАТЬ * ПОМЕСТИТЬ ТЗ ИЗ &ТЗ КАК ТЗ";
Запрос.УстановитьПараметр("ТЗ", ТЗ);
Запрос.Выполнить();
но получаю ошибку
{(22, 2)}: Неверные параметры "ТЗ"
<<?>>&ТЗ КАК Таблица
{ВнешняяОбработка.КорректировкаСозданиеДоговоровГПХ.Форма.Форма.Форма(175)}:          Запрос.Выполнить();
{ВнешняяОбработка.КорректировкаСозданиеДоговоровГПХ.Форма.Форма.Форма(362)}:  КорректировкаСозданиеНаСервере();

по причине:
{(22, 2)}: Неверные параметры "ТЗ"
<<?>>&ТЗ КАК ТЗ
в чем ошибка?
Колонки таблицы не типизированны
источник

ПВ

Павел Воробьев... in 1с программирование
E S
Колонки таблицы не типизированны
у меня так
Запрос = Новый Запрос;
         Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
         Запрос.Текст =
         "ВЫБРАТЬ
         |  Таблица.Фамилия КАК Фамилия,
         |  Таблица.Имя КАК Имя,
         |  Таблица.Отчество КАК Отчество,
         |  Таблица.Пол КАК Пол,
         |  Таблица.ДатаРождения КАК ДатаРождения,
         |  Таблица.МестоРождения КАК МестоРождения,
         |  Таблица.ИНН КАК ИНН,
         |  Таблица.СтраховойНомерПФР КАК СтраховойНомерПФР,
         |  Таблица.Номер КАК Номер,
         |  Таблица.Серия КАК Серия,
         |  Таблица.ДатаВыдачи КАК ДатаВыдачи,
         |  Таблица.КодПодразделения КАК КодПодразделения,
         |  Таблица.Представление КАК Представление,
         |  Таблица.ЗначениеПолей КАК ЗначениеПолей,
         |  Таблица.Страна КАК Страна,
         |  Таблица.Регион КАК Регион,
         |  Таблица.Город КАК Город,
         |  Таблица.КемВыдан КАК КемВыдан
         |ПОМЕСТИТЬ Таблица
         |ИЗ
         |  &ТЗ КАК Таблица";
Запрос.УстановитьПараметр("ТЗ",ТЗ);
источник

Аa

Альк alkadiene in 1с программирование
ответ тот же
источник

Аa

Альк alkadiene in 1с программирование
колонки ТЗ, которую в запрос параметром передаёте, должны быть типизированы
источник

Аa

Альк alkadiene in 1с программирование
а вообще в ЗУПе 3 этот велосипед уже изобрели: https://fastcode.im/Templates/6758
источник

ПВ

Павел Воробьев... in 1с программирование
Альк alkadiene
а вообще в ЗУПе 3 этот велосипед уже изобрели: https://fastcode.im/Templates/6758
Запрос = Новый Запрос;
ЗарплатаКадры.СоздатьВТПоТаблицеЗначений(Запрос.МенеджерВременныхТаблиц, Объект.ТЗ1, "Таблица", Истина);
не понятно как это должно выглядеть дальше?
источник

Аa

Альк alkadiene in 1с программирование
очевидно, в менеджере временном таблиц будет ваша ТЗ
источник

ПВ

Павел Воробьев... in 1с программирование
Альк alkadiene
очевидно, в менеджере временном таблиц будет ваша ТЗ
т.е. должно быть так
РезТаб = ЗарплатаКадры.СоздатьВТПоТаблицеЗначений(Запрос.МенеджерВременныхТаблиц, Объект.ТЗ1, "Таблица", Истина);
источник

Аa

Альк alkadiene in 1с программирование
Что такое РезТаб?
источник

ПВ

Павел Воробьев... in 1с программирование
или этого не надо
источник

Аa

Альк alkadiene in 1с программирование
передаёте в процедуру менеджер временных таблиц, после выполнения процедуры, в нём будет ВТ "Таблица"
источник

ПВ

Павел Воробьев... in 1с программирование
Альк alkadiene
а вообще в ЗУПе 3 этот велосипед уже изобрели: https://fastcode.im/Templates/6758
вот такой ответ на велосипед
Поле объекта не обнаружено (Колонки)
{ОбщийМодуль.ЗарплатаКадры.Модуль(5450)}:  ИменаКолонок = ОбщегоНазначения.ВыгрузитьКолонку(ТаблицаЗначений.Колонки, "Имя");
{ВнешняяОбработка.КорректировкаСозданиеДоговоровГПХ.Форма.Форма.Форма(514)}:  ЗарплатаКадры.СоздатьВТПоТаблицеЗначений(МВТ, искТаб, "Таблица", Истина);
{ВнешняяОбработка.КорректировкаСозданиеДоговоровГПХ.Форма.Форма.Форма(150)}:          получитьВТ(МВТ, искТаб);
{ВнешняяОбработка.КорректировкаСозданиеДоговоровГПХ.Форма.Форма.Форма(367)}:  КорректировкаСозданиеНаСервере();
источник

Аa

Альк alkadiene in 1с программирование
а у вас Объект.ТЗ1 это точно ТаблицаЗначений?
источник

ПВ

Павел Воробьев... in 1с программирование
точно
источник

ПВ

Павел Воробьев... in 1с программирование
стоп тип ставит ДанныеФормыКоллекции
источник