4andriy @ Сегодня, 12:14
, Попробуйте такое условие
Если ПустаяСтрока(Контрагенты.ИНН)=1 Тогда
Кажется для строковой переменной значение заполняется прбелами до полной длинны. Поэтому у вас в ИНН не "" или "0" а всегда заполнено так " " или "0 " (в смысле - например 12 пробелов).
Таких файлі взагалі не повинно бути в базі. Розмір цих файлів такий як і основгого файла? В свойствах файла подивитись коли він був створений і останній раз изменен. Конкретно по цьому файлу- це файл журналів (основний файл 1SJOURN.DBF), і відповідний йому .CDX файл. Можете перевірити роботу бази на копії без всіх цих клонів.
да, все правильно, за пределами цикла сортировка работает. Но в теле цикла работает тоже. Проверено. В теле цикла заполнения ТаблицыЗначений.
Я памятаю фразу ще зі школи "Програма вважається правильно написаною, якщо вона забезпечує правильний результат при любих вхідних даних". Але ми зараз не в школі, і крім правильного результату програма повинна бути хочаби більш-менш оптимізованою. Якшо "Сортировать" ставити в середині циклу, то результат звичайно буде правильний, але компютер буде робити набагато більше операцій: добавили один запис в ТаблицюЗначень і потрібно перебирати всю таблицю значень для сортування. І так для кожного рядка із таблиці значень. Якщо ж винести "Сортировать" за межі циклу то сортування відпрацює один раз для всієї таблиці -що набагато швидше.
yoj @ Сегодня, 15:15
, Код банку (МФО банку) тепер вже лишній реквізит. Думаю з часом його взагал іприберуть із платіжного доручення. Коли вказується рахунок IBAN то коду банку непотрыбно. тому зробили показ нуля
Странно что вообще система не ругается что нет таких реквизитов ( СуммаСНДС, ЦенаСНДС , Единицы...) Вообще то они участвуют в расчете во многих местах в документе. Например:
Не хочется вводить дополнительное поле ввода. Спасибо.
В 1С7 нема так як в 1С8 "Составной тип реквизита". Еякщо дуже хочеться і вибір з справочника и ручне введення, то в всеодно прийдеться вводити два реквізита. Можна зробити ще так: ці два реквізита розмістити один над одним (один реквізит закриває інший) і по умові керувати видимістю потрібного реквізиту. Саму умову реалізувати у вигляді флажка, або переключателя (по замовчуванню поставити значення те яке частіше використовується).
Саму кнопку можна і в шапці розмістити. (це або просто клітинку замалювати, або розмістити кнопку малюнком). І ще незнаю як подружаться ОбработкаЯчейкиТаблицы в глобальнім модулі із такою ж в модулі звіту). Ось що знайшов в інтернеті, так як я цього не використовую
Цитата
Функция обновления отчета используется всеми стандартными отчетами. Если непонятно, как там это устроено, то попробую привести пример попроще. Создаем внешний отчет. В таблице создаем две секции: 1). "Шапка" в одной из ячеек которой присутствует надпись "Обновить", в расшифровке написано РасшифровкаОбновить(1) 2). "Основная" в одной из ячеек которой установлен режим "Выражение" и вписана переменная ПечТекст.
На форме отчета присутствует кнопка с идентификатором кнСформировать, которая запускает процедуру Сформировать и текстовое поле с идентификатором ПечТекст.
При нажатии на кнопку Сформировать появится отчет с текстом "начальное значение". Затем вводим в текстовое поле на форме другой текст и в самом отчете дважды щелкаем на "Обновить".
Далее текст модуля отчета.
Перем Таб; Перем Расшифровка;
Функция РасшифровкаОбновить(Обновить) Расшифровка.Установить("Обновить", Обновить); Возврат Расшифровка; КонецФункции //РасшифровкаОбновить()
//Предоределенная процедура, присутствует в глобальном модуле. Т.к. эта процедура прописана //в данном случае локально, то она перекроет глобальную Процедура ОбработкаЯчейкиТаблицы(Расшифровка, СтандартнаяОбработка, Таблица,Адрес) Если Расшифровка.Получить("Обновить")=1 Тогда Таб.Очистить(); Сформировать(); КонецЕсли; КонецПроцедуры
P.S. Данный отчет можно сделать как внутренним, так и внешним, но если пользоваться глобальной процедурой ОбработкаЯчейкиТаблицы, то отчет должен быть внутренним.
ZUBR @ Сегодня, 2:00
, Краще зробити навпаки. Тобто свої зміни конфігурації добавити в стандартну конфігурацію (де є всі дані). Для цього СПОЧАТКУ ЗРОБИТИ КОПІЮ СТАНДАРТНОЇ (РОБОЧОЇ) КОНФІГУРАЦІЇ - обовязково!!!!!!!!!! І далі експерементувати на ній. 1. В конфігураторі (в стандартній) зайти в меню Конфігурація/ОбєдинениеКонфигураций. Вибрати файл 1cv7.md (із папки де у вас ваша змінена конфігурація) Пріоритет поставити (загружаєма конфігурація (стоїть по замовчуванню) і обєднати (візуально переглянути які були зміни) 2. Виконати в конфігураторі в меню Администрирование Тестирование и исправление ИБ - Виставивши всі відмітки. 3. Перевірити чи все правильно працює.
Ще раз наголошую НЕ ЗАБУДЬТЕ ПРО КОПІЮ ОСНОВНОЇ БАЗИ!!!!!!!!!
1. Потрібно в операції/константах поставити "Форми на украинском" в "Да" 2. В Справочники/Валюты. Правою кнопкою на "грн" - вибрати "Редактировать в диалоге". Тоді відкрити і на другій закладці вибрати файл uahukr.spl (якщо його немає то створити, або виправити вміст іншого існуючого файлу (редагується як звичайний текстовий файл,))
В мене є готова зовнішня обробка для цього. Вибравши період і типи докуменів можна, помітити на видалення, зняти помітку, зробити непроведеним, провести документии. А також поміняти дату документу (причому зберегти її статус (проведений, непроведений, помічений на видалення). Якщо в періоді непотрібно обробляти всі документи, то можна поставити відмітку які саме обробляти. Знайшов її в і Неті і трішки переробив її. Якщо потрібно можу скинути
ZUBR @ Вчера, 22:54
,
Із документа (із модуля Форми або модуля документа) неможна видалити чи зняти з проведення цей же документ. Хоча зустрічав цікавий варіант: Реалізовано функцію зміни дати в проведенім документі. Візуально все виглядає ніби насправді відкривається проведений документ, міняється дата і по "ОК" зберігається проведений документ із новою датою. Насправді там застосували деяку хитрість, а саме при відкритті документу відкривався не сам документ, а створювалась копія. на цій копії документу робились всі потрібні зміни, мінялась дата, мінялись інші реквізити в документі, добавляли товар в табличну частину....... І по кнопці "ОК" оригінальний документ робили непроведеним (це вже можливо, так як це робиться з іншого документу), переносили всі дані з копії документа, записували і проводили документ, а копію просто незберігали.
Логічно подумати...... Наприклад до цього у вас була нумерація "В пределах года" тоду в 2018 році міг бути документ з номером ПРЕ-0005, і так як нумерація тільки в межах року то з наступного нумерація теж починається заново і в 2019 році знову буде локумент з номером ПРЕ-0005. Ось про це система і попереджає. Якщо у вас є такі документи в різних роках, то спершу потрібно їх перенумерувати. Якщо це новий документ і в різних роках немає однакових номерів, то можна не звертати увагу на це попередження
mut @ Сегодня, 21:03
, Немного не то. Человеку нужно выбрать по всех товарах название которых начинается с "Ремонт". Незнаю, есть ли в семёрочных запросах функция "Подобно". В данном случае она бы очень подошла. А так убрать из запроса условие, и перебором пройтись и проверять на ЛЕВ(Товар,6)="Ремонт".
це вирушуетьсяна етапі планування конфігурації. 1. Зазвичай для документу ставлять періодичність нумірації в межах року (тобто кожного року нумерація починається з одиниці 2. Проаналізувати скільки документів даного виду в рік (з добрим запасом) ви створюєте (100, 10000, 10000000000...). відповідно і таку довжину вказати для номеру документа (не забіти врахувати кількість символів в префіксі). 3. Можливо і в процесі роботи збільшити кількіть символів в номері, але тут буде сюрприз(так як ПРЕ999 білеше ніж ПРЕ1000 - строкові значення порівнюються посимвольно, то 1С буде намагатись весь час створити один і той самий номер), тому так нерадять робити. Але як вже відбулась така ситуація, і символів нехватає, тоді потрібно збільшити кількість символів в номері і всі документи за перід (наприклад рік) перенумерувати.
ПС. Наступний після ПРЕ-9999 мав би бути ПРЕ-10000 (система добавляє одиницю тільки до числової частини коду, все інше залишає як було), але так як є обмеження на кількість символів, то останній нуль відкидається і номер буде ПРЕ-1000. Після нього знову ПРЕ-1000 і так до бескінечності
Так и есть. В документе и в журнале не хранится итоговая сумма по документу. В журнале она расчитываеться в процессе (в глобальном модуле есть функция для этого: Функция глЖурналСумма(Конт,БезВалюты=0) Экспорт ).
Ну я бачу автор не повний "0". Бачу в 1С щось розуміє. Думаю вийде проаналізувати мій примітивний код на декілька рядків і виправити так як йому потрібно. p.s. Одного разу на Іншому форумі реально приходилось одному "програмісту" пояснювати що означає знак запитання перед дужками (а автор бачу вміє ним користуватись, значить розбереться)
У вас після цієї дії на в програмі відкрито два документи "акциз". При таких діях кнопки мали стати неактивними в першому документі. щоб стали неативні в другому документі потрібно це прописати в ПриОкритии (з аналізом як я писав вище що документ відкритий не інтерактивно а по "ОкрытьФорму")
leo10k10 @ Сегодня, 13:03
, "Поле ввода" - це не реквізит документа!!!! при збереженні документа дані з цого поля вводу не зберігаються. Якщо при штатнаму відкритті документу у вас ці дані збереглись, то вони або програмно вираховуються, або туди записуються дані з іншого реквізиту (перевірити що написано в закладці "Дополнитено" цого поля вводу, або пошук в модулі документу по "Ідентифікатору" цього поля вводу) Ще раз наголошу!!!!!! Вам потрібно відкрити існуючий документ для редагування, чи створити ще один такий самий документ (щоби попередній документ залишився незмінним, а те що відкрилось - зберегти як новий документ)
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!