powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / Не цепляет дату хранения в Торговле+Складе
17 сообщений из 17, страница 1 из 1
Не цепляет дату хранения в Торговле+Складе
    #36914733
natal09
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В приходных документах по складу в табличной части добавил поле "ДатаОкончанияХранения". Дата в документах сохраняется.

Через регистр делаю запрос

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

Результат запроса пытаюсь сохранить в таблицу значений

авторПока Запрос.Группировка(1) = 1 Цикл
Если Запрос.Номенклатура.ЭтоГруппа() <> 1 Тогда
КолНаим = КолНаим + 1;
Пока Запрос.Группировка(2) = 1 Цикл
КолДок = КолДок + 1;

Табл.НоваяСтрока();

Табл.Номенклатура = Запрос.Номенклатура;
Табл.ПриходныйДокумент = Строка(Запрос.ПриходныйДокумент) + " Автор: " + Запрос.ПриходныйДокумент.Автор;
Табл.Ед = Запрос.Номенклатура.БазоваяЕдиница;
Табл.Остаток = Запрос.КоличествоКонОст;
Табл.ДатаПоступления = Запрос.ПриходныйДокумент.ДатаДок;
Табл.ХранитьДо = Запрос.ПриходныйДокумент.ДатаОкончанияХранения;

Но дата окончания хранения оказывается пустой. Почему?
...
Рейтинг: 0 / 0
Не цепляет дату хранения в Торговле+Складе
    #36914747
DmitriyZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В приведенном коде нет обращения к табличной части (куда дата заносится) вот и врезультирующет ТЗ она пустая.
...
Рейтинг: 0 / 0
Не цепляет дату хранения в Торговле+Складе
    #36914793
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Табл.ДатаПоступления - тип какой?


Запрос.ПриходныйДокумент - может пустой?
...
Рейтинг: 0 / 0
Не цепляет дату хранения в Торговле+Складе
    #36914926
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор темнит
скрывает текст ошибки или что то говорит не так как есть
...
Рейтинг: 0 / 0
Не цепляет дату хранения в Торговле+Складе
    #36914946
natal09
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DmitriyZВ приведенном коде нет обращения к табличной части (куда дата заносится) вот и врезультирующет ТЗ она пустая.

Да, точно. Сделал третий цикл по табличной части документа. Запустил. Отчет делается по всей номенклатуре товаров. Отчет завис. А потом пользовательский режим и вовсе упал. Сейчас делаю дату хранения проведением в регистр. То есть добавил в регистр ПартииНаличие рекизит ДатаОкончанияХранения. В глобальном модуле в процедурах глОприходованиеПартийТМЦ и глОприходованиеПартийТМЦВозврат добавил строки
автор ДатаОкончанияХранения = СписокПараметров.Получить("ДатаОкончанияХранения");

и
авторРегПартии.ДатаОкончанияХранения = ДатаОкончанияХранения;

Перепровел и добавил несколько приходных документов. Дата хранения все равно не записалась. Почему?
...
Рейтинг: 0 / 0
Не цепляет дату хранения в Торговле+Складе
    #36914949
natal09
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Программист 1сТабл.ДатаПоступления - тип какой?
Запрос.ПриходныйДокумент - может пустой?

Тип сделал правильный

авторТабл.НоваяКолонка("ХранитьДо","Дата");
...
Рейтинг: 0 / 0
Не цепляет дату хранения в Торговле+Складе
    #36914953
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
какую конфу ломаете?
...
Рейтинг: 0 / 0
Не цепляет дату хранения в Торговле+Складе
    #36915152
DmitriyZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У вас ТИС? Там стандартный механизм есть. Смотрите справочник "Партии" - он подчинен спр. товары. Желательно смотреть на демо - версии по группе "Бакалея" :)
...
Рейтинг: 0 / 0
Не цепляет дату хранения в Торговле+Складе
    #36917218
natal09
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
leafкакую конфу ломаете?
7.70.935
...
Рейтинг: 0 / 0
Не цепляет дату хранения в Торговле+Складе
    #36917393
DmitriyZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
natal09, смотрите справочник "партии"
...
Рейтинг: 0 / 0
Не цепляет дату хранения в Торговле+Складе
    #36918159
natal09
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В регистре ПартииНаличие добавил реквизит ДатаОкончанияХранения. Открыл таблицу этого регистра и с помощью MS Access заполнил это поле датами.

Сделал отчет, код по заполнению находится ниже. Все поля этого отчета заполняются значениями, кроме поля ХранитьДо. Оно пустое. Что может быть неправильным в запросе?

авторПроцедура Обновить()

Табл.Очистить();

Запрос = СоздатьОбъект("Запрос");

ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|
|Номенклатура = Регистр.ПартииНаличие.Номенклатура;
|ПриходныйДокумент = Регистр.ПартииНаличие.Партия.ПриходныйДокумент;
|ДатаОкончанияХранения = Регистр.ПартииНаличие.ДатаОкончанияХранения;
|Количество = Регистр.ПартииНаличие.Количество;
|
|Группировка Номенклатура без групп;
|Группировка ПриходныйДокумент без групп;
|
|Функция КоличествоКонОст = КонОст(Количество);
|";

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

Табл.НоваяКолонка("Раскраска");
Табл.НоваяКолонка("Номенклатура",,,,,50);
Табл.НоваяКолонка("ПриходныйДокумент","Строка",,,,50);
Табл.НоваяКолонка("Ед",,,,,10);
Табл.НоваяКолонка("Остаток","Число",15,3);
Табл.НоваяКолонка("ДатаПоступления","Дата");
Табл.НоваяКолонка("ХранитьДо","Дата");
Табл.НоваяКолонка("Очередность");
Табл.ВидимостьКолонки("Раскраска",0);
Табл.ВидимостьКолонки("Очередность",0);
КолНаим = 0;
КолДок = 0;
КолДней = 0;

Пока Запрос.Группировка(1) = 1 Цикл
КолНаим = КолНаим + 1;
Пока Запрос.Группировка(2) = 1 Цикл

КолДок = КолДок + 1;

Табл.НоваяСтрока();

Табл.Номенклатура = Запрос.Номенклатура;
Табл.ПриходныйДокумент = Строка(Запрос.ПриходныйДокумент) + " Автор: " + Запрос.ПриходныйДокумент.Автор;
Табл.Ед = Запрос.Номенклатура.БазоваяЕдиница;
Табл.Остаток = Запрос.КоличествоКонОст;
Табл.ДатаПоступления = Запрос.ПриходныйДокумент.ДатаДок;

Табл.ХранитьДо = Запрос.ДатаОкончанияХранения;

КолДней = Табл.ХранитьДо - Табл.ДатаПоступления;

Если Табл.ДатаПоступления + Окр(КолДней * 0.75,0) < ТекущаяДата() Тогда
Табл.Раскраска = "BRUSH[13311]";
Табл.Очередность = 0;
ИначеЕсли Табл.ДатаПоступления + Окр(КолДней * 0.5,0) < ТекущаяДата() Тогда
Табл.Раскраска = "BRUSH[16776960]";
Табл.Очередность = 1;
Иначе
Табл.Раскраска = "";
Табл.Очередность = 2;
КонецЕсли;

КонецЦикла;
КонецЦикла;
Табл.Сортировать("Очередность,ХранитьДо");
Сообщить("На складе " + КолНаим + " номенклатурных наименований по " + КолДок + " приходным документам");
КонецПроцедуры
...
Рейтинг: 0 / 0
Не цепляет дату хранения в Торговле+Складе
    #36918410
DmitriyZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
natal09, Добавьте 3-ю группировку "ДатаОкончанияХранения"
...
Рейтинг: 0 / 0
Не цепляет дату хранения в Торговле+Складе
    #36918489
natal09
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DmitriyZnatal09, Добавьте 3-ю группировку "ДатаОкончанияХранения"

Добавил. Результат тот же.

авторПроцедура Обновить()

Табл.Очистить();

Запрос = СоздатьОбъект("Запрос");

ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|
|Номенклатура = Регистр.ПартииНаличие.Номенклатура;
|ПриходныйДокумент = Регистр.ПартииНаличие.Партия.ПриходныйДокумент;
|ДатаОкончанияХранения = Регистр.ПартииНаличие.ДатаОкончанияХранения;
|Количество = Регистр.ПартииНаличие.Количество;
|
|Группировка Номенклатура без групп;
|Группировка ПриходныйДокумент без групп;
|Группировка ДатаОкончанияХранения без групп;
|
|Функция КоличествоКонОст = КонОст(Количество);
|";

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

Табл.НоваяКолонка("Раскраска");
Табл.НоваяКолонка("Номенклатура",,,,,50);
Табл.НоваяКолонка("ПриходныйДокумент","Строка",,,,50);
Табл.НоваяКолонка("Ед",,,,,10);
Табл.НоваяКолонка("Остаток","Число",15,3);
Табл.НоваяКолонка("ДатаПоступления","Дата");
Табл.НоваяКолонка("ХранитьДо","Дата");
Табл.НоваяКолонка("Очередность");
Табл.ВидимостьКолонки("Раскраска",0);
Табл.ВидимостьКолонки("Очередность",0);
КолНаим = 0;
КолДок = 0;
КолДней = 0;

Пока Запрос.Группировка(1) = 1 Цикл
КолНаим = КолНаим + 1;
Пока Запрос.Группировка(2) = 1 Цикл
Пока Запрос.Группировка(3) = 1 Цикл

КолДок = КолДок + 1;

Табл.НоваяСтрока();

Табл.Номенклатура = Запрос.Номенклатура;
Табл.ПриходныйДокумент = Строка(Запрос.ПриходныйДокумент) + " Автор: " + Запрос.ПриходныйДокумент.Автор;
Табл.Ед = Запрос.Номенклатура.БазоваяЕдиница;
Табл.Остаток = Запрос.КоличествоКонОст;
Табл.ДатаПоступления = Запрос.ПриходныйДокумент.ДатаДок;

Табл.ХранитьДо = Запрос.ДатаОкончанияХранения;

КолДней = Табл.ХранитьДо - Табл.ДатаПоступления;

Если Табл.ДатаПоступления + Окр(КолДней * 0.75,0) < ТекущаяДата() Тогда
Табл.Раскраска = "BRUSH[13311]";
Табл.Очередность = 0;
ИначеЕсли Табл.ДатаПоступления + Окр(КолДней * 0.5,0) < ТекущаяДата() Тогда
Табл.Раскраска = "BRUSH[16776960]";
Табл.Очередность = 1;
Иначе
Табл.Раскраска = "";
Табл.Очередность = 2;
КонецЕсли;

КонецЦикла;
КонецЦикла;
КонецЦикла;
Табл.Сортировать("Очередность,ХранитьДо");
Сообщить("На складе " + КолНаим + " номенклатурных наименований по " + КолДок + " приходным документам");
КонецПроцедуры
...
Рейтинг: 0 / 0
Не цепляет дату хранения в Торговле+Складе
    #36919741
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
natal09,

В справочнике Партии делаете реквизит типа дата "ДатаОкончанияХранения". При записи (проведении) документа записывайте в него данные из ТЧ - "ДатаОкончанияХранения".
Запрос переделаете типа :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
ТекстЗапроса = 
"//{{ЗАПРОС(Сформировать)
|Номенклатура = Регистр.ПартииНаличие.Номенклатура;
|ДатаОкончанияХранения = Регистр.ПартииНаличие.Партия.ДатаОкончанияХранения;
|Количество = Регистр.ПартииНаличие.Количество;
|Функция КоличествоКонОст = КонОст(Количество);
|Группировка Номенклатура без групп;
|Группировка ДатаОкончанияХранения;
|";
...
Рейтинг: 0 / 0
Не цепляет дату хранения в Торговле+Складе
    #36919905
natal09
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Злой Бобрnatal09,
В справочнике Партии делаете реквизит типа дата "ДатаОкончанияХранения". При записи (проведении) документа записывайте в него данные из ТЧ - "ДатаОкончанияХранения".

Да, но в одной партии может быть товар с разными сроками хранения. Как в этом случае быть?
...
Рейтинг: 0 / 0
Не цепляет дату хранения в Торговле+Складе
    #36920117
DmitriyZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
natal09Злой Бобрnatal09,
В справочнике Партии делаете реквизит типа дата "ДатаОкончанияХранения". При записи (проведении) документа записывайте в него данные из ТЧ - "ДатаОкончанияХранения".

Да, но в одной партии может быть товар с разными сроками хранения. Как в этом случае быть?

Партия <> документу оприходования. На каждую дату окончания - новый элемент справочника "Партии"
...
Рейтинг: 0 / 0
Не цепляет дату хранения в Торговле+Складе
    #36925384
natal09
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DmitriyZПартия <> документу оприходования. На каждую дату окончания - новый элемент справочника "Партии"
Неплохо получилось. Спасибо!
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Не цепляет дату хранения в Торговле+Складе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]